Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class ParticleAttractor : MonoBehaviour {
- [SerializeField]
- private Transform _attractorTransform;
- private ParticleSystem _particleSystem;
- private ParticleSystem.Particle[] _particles = new ParticleSystem.Particle[1000];
- public override void Start ()
- {
- _particleSystem = GetComponent<ParticleSystem> ();
- }
- public void LateUpdate()
- {
- if (particleSystem.isPlaying) {
- int length = _particleSystem.GetParticles (_particles);
- Vector3 attractorPosition = _attractorTransform.position;
- for (int i=0; i < length; i++) {
- _particles [i].position = _particles [i].position + (attractorPosition - _particles [i].position) / (_particles [i].lifetime) * Time.deltaTime;
- }
- _particleSystem.SetParticles (_particles, length);
- }
- }
- }
Advertisement