アニメーターオーバーライドコントローラーアセットを使用すると、ステートマシンの構造体、パラメーター、ロジックを維持しながら、アニメーターコントローラーのアニメーションクリップをオーバーライドできます。このテクニックを利用して、同じアニメーターコントローラーのさまざまなバリエーションを作成できます。
例えば、ゲームにゴブリン、オーガ、エルフなどの異なるキャラクターがいるとします。各キャラクターはアイドリング、ターン、駆け足に異なるアニメーションクリップを使用しますが、各ステートマシンの構造体、パラメーター、ロジックは同じです。この場合、すべてのキャラクターの基本アニメーターコントローラーを作成し、キャラクターごとにアニメーターオーバーライドコントローラーアセットを作成できます。
基本アニメーターコントローラーを作成する利点は、1 つのアニメーターコントローラーを変更するだけで、ゲーム内のすべてのキャラクターのゲームロジック、構造体、パラメーターを変更できることです。また、ゲームに新しいキャラクターを追加する場合は、アニメーターオーバーライドコントローラーアセットを追加するだけです。
アニメーターオーバーライドコントローラーアセットを使用するには、まずアニメーターコントローラーアセットを作成し、定義する必要があります。これらのステップは、すでに作成され、定義されている NPC Animator というアニメーターコントローラーから始まります。
アニメーターオーバーライドコントローラーでアニメーターコントローラーを拡張するには、以下の手順に従ってください。
Assets > Create > Animation > Animator Override Controller を順に選択し、Project ウィンドウで新しいアニメーターオーバーライドコントローラーアセットを作成します。Project ウィンドウで Create ボタンを使うこともできます。
Project ウィンドウで、新しいアニメーターオーバーライドコントローラーアセットを選択すると、Inspector ウィンドウにその設定が表示されます。
アニメーターオーバーライドコントローラーアセットの名前を Ogre Animator に変更します。
Controller フィールドを使用して、オーバーライドするアニメーターコントローラーアセットを選択します。これを行うには、以下のいずれかを実行します。
アニメーターコントローラーアセットを選択し、Project ウィンドウから Controller フィールドにドラッグします。
アニメーターコントローラーピッカー (⊙) を選択し、表示されるウィンドウから NPC Animator Controller を選択します。
Inspector ウィンドウに、2 列の表を含むアニメーターオーバーライドコントローラーが表示されます。最初の列には、元のアニメーターコントローラーのアニメーションクリップが表示されます。2 番目の列には、オーバーライドするクリップが表示されます。デフォルトでは、各オーバーライドアニメーションクリップは元のアニメーションクリップと同じです。
Override 列のフィールドを使用して、元のアニメーションクリップごとにオーバーライドアニメーションクリップを選択します。例えば、NPC Animator コントローラーの元のアニメーションクリップは、Ogre バージョンでオーバーライドされます。
ステートマシンで、秒単位または正規化された時間を使って遷移の終了時間を設定できます。アニメーターオーバーライドコントローラーを使用する場合は、遷移の終了時間が正規化された時間であることを確認してください。
秒単位の場合、遷移の終了時間よりも短いオーバーライドクリップを指定すると、終了時間が無視されることがあります。終了時刻が正規化された時間を使用する場合、クリップはステートマシンで定義された割合に従って終了します。
アニメーターオーバーライドコントローラーアセットをゲームオブジェクトに割り当てるには、以下の手順に従ってください。
Hierarchy ウィンドウで、アニメーターオーバーライドコントローラーを使用するゲームオブジェクトを選択します。
Inspector ウィンドウで、選択したゲームオブジェクトに関連付けられているアニメーターコントローラーコンポーネントを見つけます。
アニメーターコントローラーコンポーネントで、アニメーターコントローラーとして Ogre Animator を選択します。
この例では、アニメーターオーバーライドコントローラーアセット Ogre Animator は、アニメーターコントローラーアセット NPC Animator と同じロジック、遷移、ブレンドを使用しますが、Ogre Animator オーバーライドコントローラーアセットで指定されたアニメーションクリップを再生します。