mcpField
U
unity-fsm

unity-fsm

github.com/muharremtozan開発1767 回インストール22 週間前に更新
リポジトリ

unity-fsm について

unity-fsmは、Adam Myhreの3D Platformerの実装に沿った、Unity向けのモジュール式オブジェクト指向FSMスキルです。状態、遷移、タイマー、検知のパターンを提供します。

主な機能

  1. 01クラスベースのステートマシン基盤
  2. 02HeavyとActionStateの状態に対応
  3. 03述語ベースの状態遷移
  4. 04CountdownTimerとStopwatchTimer
  5. 05検知戦略とAIテンプレート

活用シーン

  1. 01プレイヤーコントローラーの状態設計
  2. 02敵AIの状態フロー構築
  3. 03述語による状態遷移の追加
  4. 04AIのクールダウンと検知の管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/muharremtozan/unity-agent-skills --skill unity-fsm

インストール後、Claude Code で/unity-fsmを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/code/
ActionState.cs.txt
BaseState.cs.txt
ConeDetectionStrategy.cs.txt
Enemy.cs.txt
EnemyBaseState.cs.txt
FuncPredicate.cs.txt
IDetectionStrategy.cs.txt
IPredicate.cs.txt
IState.cs.txt
ITransition.cs.txt
PlayerDetector.cs.txt
StateMachine.cs.txt
Timer.cs.txt
Transition.cs.txt
references/
enemy-ai.md
guide.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 の実装に関する個別ガイドです。

実装パターン

  1. BaseState を継承して、ステートを定義します。
  2. stateMachine.AddTransition を使用して、PlayerController または EnemyAI でステートを接続します。
  3. マシンの Update() および FixedUpdate() を呼び出して、ステートを実行します。

コメント