読者です 読者をやめる 読者になる 読者になる

ほげたつブログ

Unreal Engine 4 を使ってなんかやります

UnityのInspector上から状態を切り替えられるFSM

Unity

Unityちゃんを動かしていて、簡単にでもいいからFSMが欲しくなったので書いた。
FSMに関して 有限オートマトン - Wikipedia から引用する。

有限状態機械(ゆうげんじょうたいきかい、finite state machine、FSM)とは、有限個の状態と遷移と動作の組み合わせからなる数学的に抽象化された「ふるまいのモデル」である。デジタル回路やプログラムの設計で使われることがあり、ある一連の状態をとったときどのように論理が流れるかを調べることができる。有限個の「状態」のうち1つの状態をとる。ある時点では1つの状態しかとらず、それをその時点の「現在状態」と呼ぶ。何らかのイベントや条件によってある状態から別の状態へと移行し、それを「遷移」と呼ぶ。


という仕様で実装した。(start、endに関しては名前を変えたけど)



Inspector上では、

f:id:hogetatu:20140807013615j:plain

と設定されていて、FSMのNextに次の状態が設定されたら遷移するようになっている。
※もちろんInspector上で行うのはテストのための遷移なので、正式な遷移は FSMState::update の戻り値で次の状態を返すことで行う。


会社で終業後に遅くまで格ゲーをやってる上にOculusでも遊びたいから睡眠時間が足りない…。