Version: 2021.2
言語: 日本語
アニメーションステートマシン
アニメーションパラメーター

ステートマシンの基本

根本となる概念は、キャラクターは、どんなときでもいくつかの特定のアクションに関与しているということです。利用可能なアクションはゲームの種類に依存しますが、アイドリング、ウォーキング、ランニング、ジャンプ等のような典型的なアクションが含まれます。これらのアクションは ステート (キャラクターが歩行、アイドリングなどの “ある具体的な状況や状態” にあるという意味です) と呼ばれます。一般的には、キャラクターはある状態から他の状態にすぐに切り替われるのではなく、遷ることができる次の状態には制約があります。例えば、ランニングジャンプはキャラクターがすでに走っているときのみ可能で、立って停止しているときにはできません。ですから、停止のステートからジャンプのステートに直接切り替えるべきではありません。キャラクターが現在のステートから入ることができる次のステートのオプションを ステートの遷移 と呼びます。一群のステート、一群の遷移、現在のステートを記憶する変数がまとまって ステートマシン を構成します。

ステートとステートの遷移は図で表すことができ、ノードがステートを、矢印が遷移を表します。現在のステートは、ノードの 1 つ (マーカー/ハイライトがついているもの) で、遷移は矢印の 1 つに沿って別のノードにジャンプすることだけが可能です。

アニメーションにおいてステートマシンの重要性は、ほとんどコードを書くことなく、非常に簡単に設計と更新ができることです。各ステートには、マシンがそのステートにあるときはいつでも再生されるモーション (動き) が関連付けられています。 これにより、アニメーターやデザイナーは、コードがどのように機能するかを気にすることなく、キャラクターアクションとアニメーションの可能なシーケンスを定義できます。

ステートマシン

Unity のアニメーションステートマシンを利用すると、特定のキャラクターに関連するすべてのアニメーションクリップの全体を把握し、ゲーム内の様々なイベント (例えば、ユーザー入力) でさまざまなアニメーションを発生させることが可能になります。

アニメーションのステートマシンは、アニメーターコントローラー ウィンドウ から設定できます。以下のようなものです。

ステートマシンは、State (ステート)、Transition (遷移)、Event (イベント) で構成され、小さいサブステートマシンはより大きなマシンの構成物となります。詳細は、アニメーションステートステートの遷移 を参照してください。

アニメーションステートマシン
アニメーションパラメーター