私はUnityでMecanimとかなり協力してきましたが、それがどのように機能するかについてかなりよく理解していると感じています。
あなたが言うように、ブレンドツリーはほとんど間違いなく移動を行う方法です。ブレンドツリーは通常、アニメーションを継続的にブレンドして最終出力を作成する場合に使用します。プレイヤーにアバターの実行速度を制御できるようにします。
すべての単一のアクションは、個別の状態として保持するほうが適切である可能性が高く、移行できます。ゲームの強さに応じて、Any Stateを出発点として使用して、別のアニメーションが終了するのを待たずに、ジャンプや攻撃などにすばやく進むことを検討することもできます。
実行中のブレンドツリーからブレンドするための鍵は、transitionsを使用することです。Unityでトランジションをプレビューしながら、これをすばらしい外観にするための魔法はありません。慎重に計画し、微調整してください。多くの仕事は、トランジションを成功させるための基礎を持つアニメーターに依存しています。
トランジションを行う際に心に留めておくべきことは、それらのバランスが素晴らしく見えることを見つけ、プレイヤーに期待されるフィードバックを与えることです。クイックトランジションはゲーム感覚に最適であり、遅いトランジションは見た目は良いが、プレーヤーはコントローラーを捨てたいと思うかもしれません。
以下はやや単純なセットアップで、矢印は遷移の進み方を示しています。遷移は、入力の条件に基づいており、アニメーションが終了するか、特定の条件が満たされたときに終了します。これは、1つの状態が異なる条件に応じて他のさまざまな状態になる可能性があることも意味します。
おそらく気づくのは、これがすぐに「スパゲッティ」の大きな山になる可能性があることです。この混乱の一部を回避する方法は、上記の画像にも含まれているAny Stateを利用することです。
いずれの国では、任意の時点から何かに移行することができるという利点を有します。トランジションを使用してアニメーションをブレンドすることもできますが、暗闇の中でもう少し作業する必要があります。設定中にさまざまな状態をプレビューできます。
言及していないのはLayersで、これはキャラクターを負傷させたり、すべての武器の脚に同じアニメーションを使用しながら異なる武器を運ぶために上半身をオーバーライドするのに非常に役立ちます。レイヤーもブレンドされ、徐々に調整できるため、たとえばキャラクターが多少傷ついたりする可能性があります。別の例は、他のすべてのアニメーションを同じに保ちながら、キャラクターの腕を空中で持ち上げます(キャラクターが降伏した場合など)。
しかし、堅実なアニメーションコントローラーのセットアップは1時間の仕事ではありません。ある程度の計画が必要です。ジャンプ、アイドル、ウォーク/ランブレンドツリーの2つの攻撃を行うシンプルなステートマシンをセットアップすることをお勧めします。また、Unity 5で導入された動作は、スクリプトの制御や操作に非常に役立つこともあります。
AIがプレイヤーコントローラーと同じように動作することは99%確信しています。これは、アニメーションが状態から状態へどのように移行するかを制御するスクリプトによってパラメーターが変更されることを考えます。
概要
- 移動のためのブレンドツリー。
- アメリカシングル、定義されたアクションまたは単純なループ状態のため。
- ジャンプのような一連の状態を整理するためのサブ状態。
- 遷移の異なる状態間でブレンディング/遷移する(状態もブレンドツリーであってもよいです)。
- ベースアニメーションをオーバーライドまたは追加するためのレイヤー。
したがって、ブレンドツリーを展開された状態と考えてください。これもパラメータ値に基づいて機能します。
少し長いあいさつですが、それが主題に光を当てることを願っています:)