Invert ParticleEffect Velocity
Unity3D/Script / 2016. 11. 9. 13:16
파티클 이펙트를 런타임 중에 방향을 반전 시키는 간단한 스크립트.
생성 될 때 방향을 반전시키기 위해서 ParticleSystem.startSpeed 를 반전 시키고,
이미 생성 된 파티클은 ParticleSystem.Particle.velocity 를 반전 시켜 줌.
using UnityEngine; using System.Collections; public class InvertParticleEffect : MonoBehaviour { ParticleSystem m_System; ParticleSystem.Particle[] m_Particles; void InitializeIfNeeded() { if (m_System == null) m_System = GetComponent(); if (m_Particles == null || m_Particles.Length < m_System.maxParticles) m_Particles = new ParticleSystem.Particle[m_System.maxParticles]; } public void Invert() { InitializeIfNeeded(); // 생성될 때, 파티클 Speed 방향 반전 var vel = m_System.startSpeed *= -1f; // GetParticles is allocation free because we reuse the m_Particles buffer between updates int numParticlesAlive = m_System.GetParticles(m_Particles); // Change only the particles that are alive for (int i = 0; i < numParticlesAlive; i++) { // 이미 생성된 파티클은 velocity 반전해서 반대로 가도록.. m_Particles[i].velocity *= -1f; } // Apply the particle changes to the particle system m_System.SetParticles(m_Particles, numParticlesAlive); } }
반응형
'Unity3D > Script' 카테고리의 다른 글
[펌] Download and save .ogg - Files (0) | 2017.02.15 |
---|---|
[펌] StreamingAssets 폴더 지정하기 (0) | 2016.11.10 |
[펌] Parallax Scrolling (0) | 2016.10.27 |
[펌] Music player - (load sound files at runtime from directory, and play them) (1) | 2016.09.27 |
[펌] OnApplicationFocus 와 OnApplicationPause 차이 (0) | 2016.09.22 |