Animationの遷移もいいけれど…

今回はRagdollとSteamVR InteractionSystemをふんだんに盛り込んでアンデッドの頭狩りシーンを追加しました!

 *Ragdollの追加に関してはまたいつか…

 

まず狩った頭を持つ手のポーズををSkeltonPoserで作成していきます。

 * 一応、右上の点々からDebugモードにしてShowHandPreviewを切ってます。

セーブして保存!上手にできました!

 

次にこのアンデッドにColliderをTriggerで設定してHandクラスのHover系メソッドが読み込まれるようにしていきます。

 

使い方はOnTriggerEnetrまたはCollision...と酷似しているので同様に記述していきましょう。

因みに、OnTriggerEnterらと違い予測変換的に出力される事はないですが、SteamVRのInteractableスクリプトをインスペクターに追加しているならしっかりと呼び出されるので、問題なっしんぐです!

 

「あれっ、hand.AttachedObjectが呼び出されない…」

zombieMove_Zombie.SetState()内で完結していた為、戻ってこれなかったようです… 恥ずかしながら相当な時間これに悩んでいました…

 

気をとりなしてHandクラスのAttachObject()で強制くっつけ、DetachObject()で強制剥がしが行えるので、ボタンがtrueを返す時は常にくっつけ、falseを返したら有無を言わさす剥がす機構を作り、ヘッドハンティングシステムの基本的な実装はほぼ完了です!

 

そして、VelocityEstimatorのGetVelocityEstimator() (アタッチしたオブジェクトの速度を取得できます) をmagnitudeとし、好きなfloat値と照らし合わせた条件を指定して、trueなら狩った頭も武器になるようにしました(笑) 

 

次に、敵のクローンを時間と指定した最大数に到達しているか否かでポコポコインスタンス化していきます。

 

サウンドを追加して。

 

概ね完成です。期待通りアンデッドのヘッドハンティングを行えました!

 

閲覧Thanks!1日って短いですね…