【Unity】【Animator】ステートマシンの構造を使いまわせるAnimator Override Controller

ステートマシンの構造を使いまわせるAnimator Override Controllerの使い方です。

Unity2018.3.1

何ができる?

いま、ある素手のキャラクターのステートマシンをAnimator Controllerで構築したとします。

f:id:halya_11:20190213211300p:plain

これでこのキャラクターは歩いたり走ったりできます。

ここで武器を持ったキャラクターについて考えます。
武器を持っていても歩いたり走ったりする状態の定義と遷移条件は素手の時と変わりません。
ステートに設定するアニメーションファイルだけが異なります。

Animator Override Controllerはこんな時にAnimator Controllerを使いまわせる機能です。

使い方

まず、元となるAnimator Controllerを作ります。
今回は説明の簡易化のため、Walkステートだけを定義します。

f:id:halya_11:20190213211726p:plain

再生すると当然ですが普通に歩きます。

f:id:halya_11:20190213211859g:plain

次にこのAnimator Override Controllerを作っていきます。
Animator Override ControllerはProjectビューで右クリック > Create > Animator Override Controllerから生成します。
生成したAnimator Override ControllerのInspectorはこんな感じです。

f:id:halya_11:20190213212102p:plain

このControllerに先ほどの継承元のAnimator Controllerをセットします。
するとAnimation Clipが設定できるようになるので、ここに武器持ち用のアニメーションをセットします。

f:id:halya_11:20190213212340p:plain

あとはこのAnimator ControllerをキャラのAnimatorにセットするだけです。

f:id:halya_11:20190213212453g:plain

アニメーションだけがさし変わり、武器を持っている動きになりました。

参考

docs.unity3d.com