Esta página se tradujo automáticamente del inglés. Lee el original en inglés.

Blog

Sistemas de partículas con IA en Unity: la extensión ParticleSystem

Los agentes de IA leen y modifican los 24 módulos de ParticleSystem en Unity. Crea fuego, humo, magia y más con prompts en lenguaje natural.

Sistemas de partículas con IA en Unity: la extensión ParticleSystem

El ParticleSystem de Unity es uno de los componentes más potentes, y también más complejos, del motor. Con 24 módulos independientes, cientos de parámetros y ajustes profundamente anidados, configurar un efecto de partículas a mano supone hacer clic en infinidad de paneles del inspector. ¿Y si pudieras simplemente decirle a una IA «crea partículas de fuego que pasen de naranja a transparente» y tenerlo listo en segundos? Eso es exactamente lo que permite la extensión Unity-AI-ParticleSystem.

Partículas de fuego creadas y configuradas por IA con la extensión ParticleSystem

¿Qué es Unity-AI-ParticleSystem?

Unity-AI-ParticleSystem es una extensión de AI Game Developer que añade dos herramientas MCP —particle-system-get y particle-system-modify— y ofrece a los agentes de IA acceso completo de lectura y escritura a cada módulo de ParticleSystem de tu proyecto de Unity. Funciona con cualquier cliente de IA compatible con MCP: Claude Code, VS Code Copilot, Cursor, Windsurf y más.

Dos herramientas, cobertura total

La extensión expone solo dos herramientas MCP, pero lo cubren todo. La herramienta get lee el estado actual de cualquier ParticleSystem, y la herramienta modify aplica actualizaciones parciales: solo cambia las propiedades que especifiques y deja todo lo demás intacto.

particle-system-get

Recupera el estado completo de un ParticleSystem, incluido el estado de reproducción (isPlaying, isPaused, particleCount) y cualquier combinación de sus 24 módulos. Puedes solicitar módulos individuales o usar el flag includeAll para obtenerlo todo a la vez. El modo de serialización profunda expande de forma recursiva los objetos anidados para una inspección completa.

JSONLlamada a herramienta MCP
{
  "tool": "particle-system-get",
  "input": {
    "gameObjectRef": { "path": "/Effects/Fire" },
    "includeMain": true,
    "includeEmission": true,
    "includeColorOverLifetime": true
  }
}

particle-system-modify

Aplica actualizaciones parciales a cualquier módulo. Solo se modifican las propiedades que incluyas en la solicitud; todo lo demás queda tal cual. La herramienta devuelve registros detallados de la modificación para que la IA sepa exactamente qué se ha actualizado.

JSONLlamada a herramienta MCP
{
  "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 }
    ]
  }
}

Los 24 módulos compatibles

La extensión cubre todos y cada uno de los módulos de ParticleSystem disponibles en Unity. La IA puede leer y modificar cualquiera de ellos:

  • Main — duración, vida inicial, velocidad inicial, tamaño inicial, color inicial, gravedad, espacio de simulación, bucle
  • Emission — tasa por tiempo, tasa por distancia, ráfagas
  • Shape — tipo de forma, radio, ángulo, arco, posición, rotación, escala
  • Velocity Over Lifetime — curvas de velocidad lineal y orbital
  • Limit Velocity Over Lifetime — límites de velocidad y amortiguación
  • Color Over Lifetime — animación de color basada en degradados
  • Color By Speed — color asignado a la velocidad de la partícula
  • Size Over Lifetime — curvas de tamaño a lo largo de la vida de la partícula
  • Size By Speed — tamaño asignado a la velocidad de la partícula
  • Rotation Over Lifetime — curvas de velocidad angular
  • Noise — campos de turbulencia y ruido Perlin
  • Collision — ajustes de colisión con el mundo y con planos
  • Trails — renderizado de estelas de partículas
  • Renderer — material, malla, modo de renderizado, ordenación
  • Además: Force Over Lifetime, External Forces, Inherit Velocity, Lifetime By Emitter Speed, Rotation By Speed, Trigger, Sub Emitters, Texture Sheet Animation, Lights, Custom Data

Uso real: qué puedes pedirle a la IA

Como la IA tiene acceso completo a todos los parámetros de ParticleSystem, puedes hacer peticiones en lenguaje natural y la IA averigua qué módulos y propiedades debe cambiar:

  • «Crea un efecto de hoguera con partículas de naranja a rojo que suban y se desvanezcan»
  • «Haz que las partículas de humo sean más grandes y lentas, con más turbulencia»
  • «Añade colisión para que las chispas reboten en el suelo»
  • «Activa las estelas en las partículas del proyectil mágico»
  • «Duplica la tasa de emisión y haz que las partículas se repitan de forma continua»
  • «Cambia la forma de cono a esfera y aumenta el radio»

Instalación

La extensión requiere que AI Game Developer (Unity-MCP) esté instalado primero. Una vez configurado, añade la extensión ParticleSystem mediante OpenUPM o el instalador .unitypackage.

Opción A: OpenUPM (recomendado)

BashTerminal
openupm add com.ivanmurzak.unity.mcp.particlesystem

Opción B: Unity Package Installer

Sigue la descarga del instalador que se indica en el README de la extensión, en github.com/IvanMurzak/Unity-MCP/blob/main/extensions/ParticleSystem/README.md, e importa el .unitypackage en tu proyecto de Unity desde Assets > Import Package > Custom Package.

Cómo funciona por dentro

Los módulos de ParticleSystem de Unity son structs de C#, no clases, lo que significa que no se pueden modificar mediante una reflexión simple. La extensión usa ReflectorNet para boxear cada módulo, aplicar las modificaciones mediante diffs de miembros serializados y volver a escribir el valor modificado. Todas las llamadas a la API de Unity se despachan al hilo principal, y las ventanas del editor se repintan tras cada modificación para que veas los cambios al instante.

C#Tool_ParticleSystem.cs
// 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
    }
}

Compatibilidad

  • Unity 2022.3 o superior
  • Requiere AI Game Developer (Unity-MCP) v0.60.0+
  • Funciona con cualquier cliente MCP: Claude Code, VS Code Copilot, Cursor, Windsurf, Continue
  • Probado en Unity 2022.3, 2023.2 y Unity 6 (6000.3)

Empezar

Instala AI Game Developer, añade la extensión ParticleSystem y empieza a describir los efectos que quieres. La IA se encarga del resto. Consulta la guía de inicio rápido en ai-game.dev/docs/quickstart para ver el proceso de configuración completo, o descarga el plugin desde la página de descargas en ai-game.dev/download.

Más del blog

Todas las entradas