当系统中的所有粒子都已死亡且不再生成新粒子时,将调用 OnParticleSystemStopped。当调用 Stop 或非循环系统的持续时间属性超过时,新粒子将不再创建。
这可以用于通知脚本何时粒子系统已完成。为了接收回调,您必须将 ParticleSystem.MainModule.stopAction 属性设置为 Callback。
using UnityEngine; using System.Collections; using System.Collections.Generic;
public class StoppedScript : MonoBehaviour { void Start() { var main = GetComponent<ParticleSystem>().main; main.stopAction = ParticleSystemStopAction.Callback; }
void OnParticleSystemStopped() { Debug.Log("System has stopped!"); } }
为了检索有关 ParticleSystem 引起的的所有碰撞的详细信息,您必须使用 ParticlePhysicsExtensions.GetTriggerParticles 来检索 Particle 数组。