UnityにBlender等で作成したキャラクターのアニメーションを取りこんで使用する事は多いですが、自分以外の人が作ったアニメーションを使用する場合に自分では使わないアニメーションが入っている事があります。
例えば自分のゲームでは歩くアニメーションを使いたいけど取りこんだアニメーションでは歩いてから走るアニメーションまでが流れとして入っています。
そんな時はAnimatorControllerのブレンドで一部のアニメーションの一部だけを再生する事が出来ます。
しかしブレンドの調整は時間がかかりますし、歩きアニメーションだけを使用したい場合は元のアニメーションを切り取った方が便利です。
そこで今回はUnityに取り込んだアニメーションを切り取ってみたいと思います。
アニメーションの切り取り
まずはUnityにキャラクターのモデル付きで取りこんだアニメーションを見てみましょう。
↑はわたくしが作成したもので立ち泳ぎと立ち泳ぎから平泳ぎへと遷移するアニメーション付きモデルです。
MakeHumanで作成したモデルにBlenderでRigifyを取り付けアニメーションを付け出力し、Unityに取りこんだものです。
今回は立ち泳ぎから平泳ぎへと遷移するアニメーションから平泳ぎ部分のアニメーションを切り取ってみたいと思います。
先ほどのCutAnimationファイル本体を選択してインスペクタを見ると
↑のようにインスペクタに表示されます。
Clipsには取りこんだアニメーションの名前とそのアニメーションのフレームの長さが表示されています。
今回切り取るアニメーションはSwimForwardですが、元のSwimForwardを残しつつ平泳ぎのアニメーションも切り取るので
↑でSwimForwardを選択した状態で+の部分を押して元のSwimForwardを複製し、下の赤い四角の部分に名前を入力します。
すると↑のClipsの部分の名前が変更されます。
次にClipsのBreaststrokeを選択して下のアニメーションで平泳ぎをしている部分のフレーム数を見ます。
現在のBreaststrokeアニメーションは
↑のようになっています。
ここから平泳ぎの部分のフレーム数を調べます。
平泳ぎを開始しているのが39フレーム、平泳ぎが終了しているのが139フレームです。
そこでBreaststrokeのStartのフレーム数を39に変更します。
↑の赤い四角の中の数字を変更するか上の横の矢印部分をドラッグすると変更出来ます。
変更すると上のClipsのBreaststrokeのStartフレーム数も変更されます。
平泳ぎアニメーションの切り取りが出来たので再生してみます。
上のように平泳ぎアニメーション部分だけを切り取る事が出来ました。
自作のアニメーションなので動きがぎこちないのはしょうがありませんね・・・・・(-_-)
後は他のアニメーションと同じように使うだけです。
他の人が作ったアニメーションで一部だけを使いたい場合に使えると思います。(^^)/