Version: 2022.2
言語: 日本語
ステートマシンの遷移
サブステートマシン

State Machine Behaviour

State Machine Behaviour はスクリプトの特別なクラスです。通常の Unity スクリプト (MonoBehaviour) を実際のゲームオブジェクトにアタッチするのと同様の方法で、ステートマシン内の実際のステートに StateMachineBehaviour スクリプトをアタッチすることができます。これにより、ステートマシンが特定のステートに入る、出る、または留まるときに実行されるコードを作成できます。つまり、ステートの変更をテストしたり検知するために独自のロジックを書く必要がないことを意味します。

この機能を使用する具体例の一部は以下の通りです。

  • ステートに入る、または出るときに音声を再生する
  • あるテスト (例: 地面判定) を、適切なステートでのみ実行する
  • 特定のステートに関連する特別な効果を有効にし管理する

State Machine Behaviour の作成と追加は、ゲームオブジェクトに対してスクリプトを作成、追加する方法と同じです。ステートマシン内のステートを選択し、インスペクターの “Add Behaviour” ボタンを使用し、既存の StateMachineBehaviour を選ぶか、新しいスクリプトを作成してください。

Grounded ステートにアタッチされた Behaviour を持つステートマシン
“Grounded” ステートにアタッチされた Behaviour を持つステートマシン

State Machine Behaviour スクリプトには、Animator が異なるステート (またはサブステートマシン) に入る、更新する、出るときに呼び出される多くのイベントにアクセスできます。また、ルートのモーションや IK 呼び出しの処理を行うイベントもあります。

さらに詳しい情報についてはスクリプトリファレンスの State Machine Behaviourを参照してください。

ステートマシンの遷移
サブステートマシン