UnityにおけるAI駆動パーティクルシステム:ParticleSystem拡張機能
AIエージェントがUnityの24個のParticleSystemモジュールすべてを読み取り・変更。自然言語プロンプトで炎、煙、魔法のエフェクトなどを作成できます。

UnityのParticleSystemは、エンジンの中でも最も強力で、そして最も複雑なコンポーネントの1つです。24個の独立したモジュール、数百のパラメーター、深くネストされた設定があるため、パーティクルエフェクトを手作業で設定するには、終わりのないインスペクターパネルをクリックして回ることになります。そこで「オレンジから透明にフェードする炎のパーティクルを作って」とAIに伝えるだけで、数秒で完成したらどうでしょう? それを実現するのがUnity-AI-ParticleSystem拡張機能です。
Unity-AI-ParticleSystemとは?
Unity-AI-ParticleSystemはAI Game Developerの拡張機能で、particle-system-getとparticle-system-modifyという2つのMCPツールを追加し、AIエージェントにUnityプロジェクト内のすべてのParticleSystemモジュールへの完全な読み取り・書き込みアクセスを与えます。Claude Code、VS Code Copilot、Cursor、Windsurfなど、MCP互換のAIクライアントであればどれでも動作します。
2つのツールで全機能をカバー
この拡張機能が公開するMCPツールは2つだけですが、あらゆる操作をカバーします。getツールは任意のParticleSystemの現在の状態を読み取り、modifyツールは部分的な更新を適用します。指定したプロパティだけを変更し、それ以外はそのままにします。
particle-system-get
再生状態(isPlaying、isPaused、particleCount)と、24個のモジュールの任意の組み合わせを含むParticleSystemの完全な状態を取得します。個別のモジュールを指定することも、includeAllフラグを使ってすべてを一度に取得することもできます。ディープシリアライズモードではネストされたオブジェクトを再帰的に展開し、完全に検査できます。
{
"tool": "particle-system-get",
"input": {
"gameObjectRef": { "path": "/Effects/Fire" },
"includeMain": true,
"includeEmission": true,
"includeColorOverLifetime": true
}
}particle-system-modify
任意のモジュールに部分的な更新を適用します。リクエストに含めたプロパティだけが変更され、それ以外はそのまま維持されます。このツールは詳細な変更ログを返すため、AIは何が更新されたのかを正確に把握できます。
{
"tool": "particle-system-modify",
"input": {
"gameObjectRef": { "path": "/Effects/Fire" },
"main": [
{ "memberPath": "duration", "value": 5.0 },
{ "memberPath": "startLifetime.constant", "value": 2.0 },
{ "memberPath": "loop", "value": true }
],
"emission": [
{ "memberPath": "rateOverTime.constant", "value": 50 }
]
}
}24個すべてのモジュールに対応
この拡張機能はUnityで利用可能なすべてのParticleSystemモジュールをカバーしています。AIはそのいずれも読み取り・変更できます。
- Main — duration、start lifetime、start speed、start size、start color、gravity、simulation space、loop
- Emission — rate over time、rate over distance、bursts
- Shape — shape type、radius、angle、arc、position、rotation、scale
- Velocity Over Lifetime — 線形および軌道の速度カーブ
- Limit Velocity Over Lifetime — 速度制限と減衰
- Color Over Lifetime — グラデーションベースの色アニメーション
- Color By Speed — パーティクルの速度に応じた色のマッピング
- Size Over Lifetime — パーティクルの生存期間に応じたサイズカーブ
- Size By Speed — パーティクルの速度に応じたサイズのマッピング
- Rotation Over Lifetime — 角速度カーブ
- Noise — 乱流とPerlinノイズフィールド
- Collision — ワールドおよびプレーンの衝突設定
- Trails — パーティクルのトレイルレンダリング
- Renderer — マテリアル、メッシュ、レンダーモード、ソート
- さらに:Force Over Lifetime、External Forces、Inherit Velocity、Lifetime By Emitter Speed、Rotation By Speed、Trigger、Sub Emitters、Texture Sheet Animation、Lights、Custom Data
実際の活用例:AIに依頼できること
AIはすべてのParticleSystemパラメーターに完全にアクセスできるため、普通の言葉で依頼すれば、AIがどのモジュールとプロパティを変更すべきかを判断します。
- 「オレンジから赤に変化するパーティクルが立ち上って消えていく焚き火エフェクトを作って」
- 「煙のパーティクルを大きく、遅くして、乱流を増やして」
- 「衝突を追加して、火花が地面で跳ね返るようにして」
- 「魔法の飛翔体パーティクルでトレイルを有効にして」
- 「放出レートを2倍にして、パーティクルが継続的にループするようにして」
- 「シェイプをコーンからスフィアに変更して、半径を大きくして」
インストール
この拡張機能を使うには、先にAI Game Developer(Unity-MCP)がインストールされている必要があります。セットアップが完了したら、OpenUPMまたは.unitypackageインストーラーでParticleSystem拡張機能を追加します。
オプションA:OpenUPM(推奨)
openupm add com.ivanmurzak.unity.mcp.particlesystemオプションB:Unityパッケージインストーラー
拡張機能のREADME( github.com/IvanMurzak/Unity-MCP/blob/main/extensions/ParticleSystem/README.md )に記載されたインストーラーをダウンロードし、Assets > Import Package > Custom Package から.unitypackageをUnityプロジェクトにインポートしてください。
内部の仕組み
UnityのParticleSystemモジュールはクラスではなくC#のstructであるため、単純なリフレクションでは変更できません。この拡張機能はReflectorNetを使って各モジュールをボックス化し、シリアライズされたメンバーの差分によって変更を適用したうえで、変更後の値を書き戻します。すべてのUnity API呼び出しはメインスレッドにディスパッチされ、変更のたびにエディターウィンドウが再描画されるため、変更がすぐに目に見えます。
// The extension registers tools via attributes — Unity-MCP discovers them automatically
[AiToolType]
public partial class Tool_ParticleSystem
{
[AiTool("particle-system-get", Description = "Get ParticleSystem data")]
public async Task<string> GetParticleSystem(
GameObjectRef gameObjectRef,
bool includeMain = false,
bool includeEmission = false,
bool includeShape = false,
// ... flags for all 24 modules
bool includeAll = false,
bool deepSerialization = true)
{
// Serializes requested modules and returns structured JSON
}
}互換性
- Unity 2022.3以降
- AI Game Developer(Unity-MCP)v0.60.0+ が必要
- 任意のMCPクライアントで動作:Claude Code、VS Code Copilot、Cursor、Windsurf、Continue
- Unity 2022.3、2023.2、Unity 6(6000.3)でテスト済み
はじめに
AI Game Developerをインストールし、ParticleSystem拡張機能を追加して、作りたいエフェクトを説明するだけです。あとはAIが処理します。セットアップの完全な手順はクイックスタートガイド( ai-game.dev/docs/quickstart )を、プラグインはダウンロードページ( ai-game.dev/download )をご覧ください。
- Unity-AI-ParticleSystem: github.com/IvanMurzak/Unity-MCP/blob/main/extensions/ParticleSystem/README.md
- AI Game Developer(Unity-MCP): github.com/IvanMurzak/Unity-MCP
- AI Animation拡張機能: github.com/IvanMurzak/Unity-MCP/blob/main/extensions/Animation/README.md
- AI ProBuilder拡張機能: github.com/IvanMurzak/Unity-MCP/blob/main/extensions/ProBuilder/README.md
- ダウンロード: ai-game.dev/download
- クイックスタートガイド: ai-game.dev/docs/quickstart
- セットアップチュートリアル: ai-game.dev/blog/claude-code-unity-tutorial

