■ノウハウ
細かい部分は上記リンクの通り。出力したアニメーションクリップは、出力元のMMDモデル専用のアニメーションとなっている。なので出力元のGameObjectにアニメーターを持たせ、そのアニメーターに出力したアニメーションクリップを配置する。
今回やりたいことは、弓を引くモーションに合わせて弓のMMDモデルをしならせること。なので、弓を引くアニメーションにアニメーションイベントを持たせ、そこで弓のアニメーターを制御することにした。下図のアニメーションイベントは左から順に、①弓の引き始めのモーション呼び出し、②(弓を放った為)弓の形状を元に戻す、③弾丸プレハブの呼び出し、④弓の形状を杖に戻す(そういう仕様の武器)。
なお、当初はbool代数で管理しようとしていたが、アニメーションイベントはbool代数を引数とする関数は呼出せなかったので、int型で管理することにした。
出来上がりは次のような感じなのだが、今回お借りした弓のMMDモデルには「矢」が同梱されており、モーフ制御では仕様上隠しきれない。
モデルはボーン単位で管理されているので、矢のボーンのscaleを0にすることで対応した。
最終的な結果がこちら。ちゃんとモーションに同期しつつ、矢を隠すことができている。
0 件のコメント:
コメントを投稿