【Unity/Playmaker】FSMマシン間の変数共有による、Playmakerのグローバル変数への対応

STYLYはplaymakerに対応していますが、残念ながら現時点ではplaymakerのグローバル変数には対応していません。グローバル変数は値の共有に便利で、複雑なロジックを使ったシーンをつくる際に非常に役立ちます。 前述の通りグローバル変数は使えないですが、そのかわりに取れる手段があります。FSMオブジェクト内のGet FSMアクションを使用し、取得したい変数のあるFSMオブジェクトへアクセスすることで必要な値を取得することができます。 これらのフローチャートは、グローバル変数の概念と、今回紹介する設定について解説しています。 では、これをplaymakerで実装する手順についてお話します。まず、2つ空のゲームオブジェクトを作成し、FSM AとFSM Bと名付けます。今回のチュートリアルの目的はコンセプトの説明なので、内容自体は初歩的なものです。FSM Aを選択し、FSMを追加します。次に変数を作成し、Variable Xと名付け、タイプはFloatにします。 次に、FSM Bを選択し、こちらにもFSMを追加します。Get FSM Variableアクションを設定します。. Get FSM variableアクションが変数を取得するためには、FSMコンポーネント内にゲームオブジェクトが必要なため、FSM Aオブジェクトを設定します。 FSM B内に同じ名前とタイプの変数を作成し、FSM Aからそれにアクセスできるようにします。 そしてstore valueにVariable Xを設定します。 これで、FSM A内のVariable Xの値が何であれ、FSM B内のVariable Xへコピーされるよう設定されました。変数のタイプは、INTからvector3まで設定できます。 違う種類のアクションは違うタイプの変数を取得します。例えば、Get FSM Vector3アクションを使えばVector3変数を取得することができます。 チュートリアルビデオも作成しましたので、コンセプトの理解に役立てていただけると幸いです。 URDU または HINDI でビデオを見たい方は、 こちらからどうぞ。