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

State Machine Behaviour

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

この機能を使用する具体例をいくつか上げると、

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

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

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

State Machine Behaviour スクリプトには、Animator が異なるステート(またはサブステートマシン)へ遷移する、更新する、出るときに呼び出される多くのイベントに対する権限があります。また、Root モーションや Inverse Kinematic コールの扱いをできるようにするイベントもあります。

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

ステートマシンの遷移
サブステートマシン
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961