Unityに取り込んだアニメーションの一部を切り取って使う

記事内に広告が含まれています。

UnityにBlender等で作成したキャラクターのアニメーションを取りこんで使用する事は多いですが、自分以外の人が作ったアニメーションを使用する場合に自分では使わないアニメーションが入っている事があります。

例えば自分のゲームでは歩くアニメーションを使いたいけど取りこんだアニメーションでは歩いてから走るアニメーションまでが流れとして入っています。

そんな時はAnimatorControllerのブレンドで一部のアニメーションの一部だけを再生する事が出来ます。

UnityのAnimatorControllerのアニメーションのブレンドと割り込み
UnityのAnimatorControllerのアニメーションのブレンド方法や遷移の設定、Interruption Sourceの設定等を見ていきます。アニメーションの遷移途中で中断し次の状態へとうまく移行させる為のサンプルも作成します。

しかしブレンドの調整は時間がかかりますし、歩きアニメーションだけを使用したい場合は元のアニメーションを切り取った方が便利です。

そこで今回はUnityに取り込んだアニメーションを切り取ってみたいと思います。

スポンサーリンク

アニメーションの切り取り

まずはUnityにキャラクターのモデル付きで取りこんだアニメーションを見てみましょう。

Unityに取り込んだモデル付きアニメーション

↑はわたくしが作成したもので立ち泳ぎと立ち泳ぎから平泳ぎへと遷移するアニメーション付きモデルです。

MakeHumanで作成したモデルにBlenderでRigifyを取り付けアニメーションを付け出力し、Unityに取りこんだものです。

Blender2.76bにMakeHumanデータの取り込みとUnityへのインポート1
人型キャラクター作成ソフトMakeHumanで作成したキャラクターを3DCG作成ソフトBlenderへの取り込み方と出力、それからUnityへと取り込む方法

今回は立ち泳ぎから平泳ぎへと遷移するアニメーションから平泳ぎ部分のアニメーションを切り取ってみたいと思います。

先ほどのCutAnimationファイル本体を選択してインスペクタを見ると

CutAnimationのインスペクタ

↑のようにインスペクタに表示されます。

Clipsには取りこんだアニメーションの名前とそのアニメーションのフレームの長さが表示されています。

今回切り取るアニメーションはSwimForwardですが、元のSwimForwardを残しつつ平泳ぎのアニメーションも切り取るので

切り取るアニメーションを複製

↑でSwimForwardを選択した状態で+の部分を押して元のSwimForwardを複製し、下の赤い四角の部分に名前を入力します。

すると↑のClipsの部分の名前が変更されます。

次にClipsのBreaststrokeを選択して下のアニメーションで平泳ぎをしている部分のフレーム数を見ます。

現在のBreaststrokeアニメーションは

立ち泳ぎから平泳ぎへと遷移するアニメーション

↑のようになっています。

ここから平泳ぎの部分のフレーム数を調べます。

平泳ぎ部分のアニメーションのフレーム

平泳ぎを開始しているのが39フレーム、平泳ぎが終了しているのが139フレームです。

そこでBreaststrokeのStartのフレーム数を39に変更します。

アニメーションのStartフレーム数を変更する

↑の赤い四角の中の数字を変更するか上の横の矢印部分をドラッグすると変更出来ます。

変更すると上のClipsのBreaststrokeのStartフレーム数も変更されます。

平泳ぎアニメーションの切り取りが出来たので再生してみます。

切り取った平泳ぎアニメーションの再生

上のように平泳ぎアニメーション部分だけを切り取る事が出来ました。

自作のアニメーションなので動きがぎこちないのはしょうがありませんね・・・・・(-_-)

後は他のアニメーションと同じように使うだけです。

他の人が作ったアニメーションで一部だけを使いたい場合に使えると思います。(^^)/

タイトルとURLをコピーしました