unity-fsm について
unity-fsmは、Adam Myhreの3D Platformerの実装に沿った、Unity向けのモジュール式オブジェクト指向FSMスキルです。状態、遷移、タイマー、検知のパターンを提供します。
主な機能
- 01クラスベースのステートマシン基盤
- 02HeavyとActionStateの状態に対応
- 03述語ベースの状態遷移
- 04CountdownTimerとStopwatchTimer
- 05検知戦略とAIテンプレート
活用シーン
- 01プレイヤーコントローラーの状態設計
- 02敵AIの状態フロー構築
- 03述語による状態遷移の追加
- 04AIのクールダウンと検知の管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ muharremtozan/ unity-agent-skills --skill unity-fsmインストール後、Claude Code で/unity-fsmを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/code/ActionState.cs.txtBaseState.cs.txtConeDetectionStrategy.cs.txtEnemy.cs.txtEnemyBaseState.cs.txtFuncPredicate.cs.txtIDetectionStrategy.cs.txtIPredicate.cs.txtIState.cs.txtITransition.cs.txtPlayerDetector.cs.txtStateMachine.cs.txtTimer.cs.txtTransition.cs.txtreferences/enemy-ai.mdguide.md詳細
Unity 有限ステートマシン(FSM)
このスキルは、Unity 向けのモジュール式かつオブジェクト指向のステートマシンアーキテクチャを提供します。Adam Myhre の 3D Platformer の実装に合わせて、特にリファクタリングされています。
主な機能
- オブジェクト指向:各ステートが専用のクラスとして定義されています。
- ハイブリッド対応:「Heavy」(クラス)ステートと「Light」(
ActionState)ステートの両方に対応しています。 - ストラテジーベースの遷移:Predicate と Detection Strategy を使用します。
- タイマーシステム:Adam Myhre の
CountdownTimerとStopwatchTimerが含まれています。 - 名前空間のサポート:
PlatformerとUtilitiesの名前空間を使用します。
コアファイル(assets/code/)
IState.cs.txt、StateMachine.cs.txt、IPredicate.cs.txt:FSM の基本ロジックです。ActionState.cs.txt:新機能! 定型コードを減らすラムダベースのステートです。Timer.cs.txt:AI のクールダウン管理です。IDetectionStrategy.cs.txt、ConeDetectionStrategy.cs.txt:検知ロジックです。PlayerDetector.cs.txt、Enemy.cs.txt、EnemyBaseState.cs.txt:AI のテンプレートです。
使用ガイド
- GUIDE.md:FSM の一般的なセットアップと接続方法です。
- ENEMY-AI.md:Detection Strategy を使った AI の実装に関する個別ガイドです。
実装パターン
BaseStateを継承して、ステートを定義します。stateMachine.AddTransitionを使用して、PlayerControllerまたはEnemyAIでステートを接続します。- マシンの
Update()およびFixedUpdate()を呼び出して、ステートを実行します。
コメント
Markdown 対応