奮闘記~武器を回転させながら攻撃するモーションの実装~(前回の続き的な)
前回の記事の続きみたいな感じです。
前回の記事で、
武器をくるくる回転させながら攻撃するモーションがある
と言いました。
これです。
これは、自分で武器を回転させる処理を組んでやっているわけではなくって、
すでに、TwinBlade(Sword)のアセットにデフォルトで入っている
Ik_Hand_r
Ik_Hand_l
に武器をアタッチさせれば、自動で武器が回転してくれるようになっています。
IKボーンにすでに武器のアニメーションが仕込んであるという感じですね。
しかし、Ik_Hand_lとIk_Hand_rに武器をアタッチして武器変更モーションを再生すると、前回の記事の動画のように武器と変更モーションの動きがマッチしません。
そもそも、IKに武器をアタッチすること自体おかしいみたいです。そして、このアセットはIKボーンに武器のアニメーションを仕込んであると言いましたが、それ自体も普通ありえないみたいです。(個人的解釈)
なので、IKボーンに武器を持たせるのではなく「ソケット」にアタッチするのがいいです。(ていうかそれが普通なのかな??)
しかし、ソケットにアタッチすれば前回の記事のように武器変更モーションがうまくいくのですが、今度は「武器をくるくる回転させながら攻撃するモーション」が出来なくなります。
どういうことかというと・・・
ソケットに武器をアタッチした場合
分かりやすくスローにしたのでわかるかと思いますが、
武器が回転していません。(最初に載せた動画と見比べてみると一目瞭然かと)
では、どうすればソケットに武器をアタッチさせつつ、武器を回転させることが出来るのか。
僕はこうしました。
「WeaponRotation」という名のAnimNotifyStateを作成。
ReceivedNotify_Begin
武器をIKボーンにアタッチしてます。
ReceivedNotify_End
武器をソケットに戻します。
「WeaponRotation」をモンタージュに入れる。
ちょうど武器を回転させてから武器を振りかぶり終わるとこまでの範囲に配置した感じです。
これで、
武器を回転させる攻撃モーションに入った時、「WeaponRotation」が呼び出され、武器がIKボーンにアタッチされ、武器が無事回転し、ちょうどモーションが終わった時に、武器がソケットに戻される。
という感じです!
しっかり回転モーションが出来てますね!
もし、このTwinBlade(Sword)のアセットをこれから使う人がいれば、このブログが参考になれば幸いです!
もし分からないことがあればいつでも聞いてください!
それではまた!^^ノシ