Unity 中的 AI 粒子系统:ParticleSystem 扩展
让 AI agent 在 Unity 中读取并修改全部 24 个 ParticleSystem 模块,用自然语言提示词创建火焰、烟雾与魔法特效。

Unity 的 ParticleSystem 是引擎中最强大、也最复杂的组件之一。它有 24 个独立模块、数百个参数以及层层嵌套的设置,手动配置一个粒子特效意味着在无数检视面板之间反复点击。如果只要对 AI 说一句“做一个从橙色渐变为透明的火焰粒子”就能在几秒内完成,会怎样?Unity-AI-ParticleSystem 扩展正是为此而生。
什么是 Unity-AI-ParticleSystem?
Unity-AI-ParticleSystem 是 AI Game Developer 的一个扩展,它新增两个 MCP 工具——particle-system-get 和 particle-system-modify——让 AI agent 对 Unity 项目中的每个 ParticleSystem 模块拥有完整的读写权限。它可与任何兼容 MCP 的 AI 客户端配合使用:Claude Code、VS Code Copilot、Cursor、Windsurf 等等。
两个工具,全面覆盖
该扩展只暴露两个 MCP 工具,但它们覆盖了一切。get 工具读取任意 ParticleSystem 的当前状态,modify 工具则应用局部更新——只修改你指定的属性,其余保持不变。
particle-system-get
获取 ParticleSystem 的完整状态,包括播放信息(isPlaying、isPaused、particleCount)以及其 24 个模块的任意组合。你可以逐个请求模块,也可以使用 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 可以读取并修改其中任意一个:
- 主模块 — 持续时间、初始生命周期、初始速度、初始大小、初始颜色、重力、模拟空间、循环
- 发射 — 随时间发射速率、随距离发射速率、爆发
- 形状 — 形状类型、半径、角度、弧度、位置、旋转、缩放
- 生命周期内速度 — 线性速度与轨道速度曲线
- 生命周期内速度限制 — 速度上限与阻尼
- 生命周期内颜色 — 基于渐变的颜色动画
- 基于速度的颜色 — 颜色随粒子速度变化
- 生命周期内大小 — 粒子生命周期内的大小曲线
- 基于速度的大小 — 大小随粒子速度变化
- 生命周期内旋转 — 角速度曲线
- 噪波 — 湍流与柏林噪波场
- 碰撞 — 世界碰撞与平面碰撞设置
- 拖尾 — 粒子拖尾渲染
- 渲染器 — 材质、网格、渲染模式、排序
- 以及:生命周期内受力、外部力、继承速度、基于发射器速度的生命周期、基于速度的旋转、触发器、子发射器、纹理图集动画、光源、自定义数据
实际用法:你可以让 AI 做什么
由于 AI 可以访问每个 ParticleSystem 参数,你可以用日常语言提出请求,AI 会自行判断需要修改哪些模块和属性:
- “做一个篝火效果,橙红色粒子向上飘升并逐渐淡出”
- “把烟雾粒子调得更大更慢,并增加更多湍流”
- “添加碰撞,让火花从地面弹开”
- “为魔法弹丸粒子启用拖尾”
- “把发射速率加倍,并让粒子持续循环”
- “把形状从圆锥改为球体并增大半径”
安装
该扩展需要先安装 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# 结构体而非类,这意味着无法通过简单的反射来修改它们。该扩展使用 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 动画扩展: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

