You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
791 B
26 lines
791 B
3 years ago
|
using System.Collections;
|
||
|
using UnityEngine;
|
||
|
[RequireComponent(typeof(ParticleSystem))]
|
||
|
public class particleAttractorLinear : MonoBehaviour {
|
||
|
ParticleSystem ps;
|
||
|
ParticleSystem.Particle[] m_Particles;
|
||
|
public Transform target;
|
||
|
public float speed = 5f;
|
||
|
int numParticlesAlive;
|
||
|
void Start () {
|
||
|
ps = GetComponent<ParticleSystem>();
|
||
|
if (!GetComponent<Transform>()){
|
||
|
GetComponent<Transform>();
|
||
|
}
|
||
|
}
|
||
|
void Update () {
|
||
|
m_Particles = new ParticleSystem.Particle[ps.main.maxParticles];
|
||
|
numParticlesAlive = ps.GetParticles(m_Particles);
|
||
|
float step = speed * Time.deltaTime;
|
||
|
for (int i = 0; i < numParticlesAlive; i++) {
|
||
|
m_Particles[i].position = Vector3.LerpUnclamped(m_Particles[i].position, target.position, step);
|
||
|
}
|
||
|
ps.SetParticles(m_Particles, numParticlesAlive);
|
||
|
}
|
||
|
}
|