Así que quiero crear un aura alrededor del jugador, como en Warcraft 3 o Path of Exile, etc., usando un sistema de partículas, y cuando el personaje está inactivo funciona perfectamente bien. La cosa es cuando no está inactivo.
Intenté cambiar la posición del sistema de partículas usando Update(), pero eso realmente no afecta la posición de las partículas. Lo que necesito es configurar cada uno de ellos en la posición de los jugadores.
¿Hay alguna manera de colocar las partículas en la posición del jugador? (o en cualquier posición)
Gracias
Puede cambiar el ParticleSystem.simulationSpace
Controla si las partículas se animan en el espacio local del objeto principal (por lo tanto, se mueven con el objeto principal), en el espacio mundial o en relación con un objeto personalizado (se mueven con un objeto personalizado de su elección).
a ParticleSystemSimulationSpace.Local
Simular partículas en el espacio local
Ya sea a través del Inspector del Módulo Principal
o a través de un código como
GetComponent<ParticleSystem>().main.simulationSpace = ParticleSystemSimulationSpace.Local; Sí. Puede obtener las partículas a través de ParticleSystem.GetParticles , cambiar su ParticleSystem.Particle.position y luego volver a escribirlas en el sistema usando ParticleSystem.SetParticles
var particles = new ParticleSystem.Particle[theParticleSystem.main.maxParticles]; var currentAmount = theParticleSystem.GetParticles(particles) // Change only the particles that are alive for (int i = 0; i < currentAmount; i++) { particles[i].position = XYZ; } // Apply the particle changes to the Particle System theParticleSystem.SetParticles(particles, currentAmount);