Version: 5.4

MonoBehaviour.OnParticleTrigger(GameObject)

マニュアルに切り替える

説明

OnParticleTrigger は、パーティクルシステムのパーティクルが Triggers モジュールの条件を満たすときに呼び出されます。

これは、衝突範囲の内側か外側にあるパーティクルを削除、または、修正するために使用されます。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class TriggerScript : MonoBehaviour { void OnParticleTrigger () { ParticleSystem ps = GetComponent<ParticleSystem>();

// particles List<ParticleSystem.Particle> enter = new List<ParticleSystem.Particle>(); List<ParticleSystem.Particle> exit = new List<ParticleSystem.Particle>();

// get int numEnter = ps.GetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter); int numExit = ps.GetTriggerParticles(ParticleSystemTriggerEventType.Exit, exit);

// iterate for (int i = 0; i < numEnter; i++) { ParticleSystem.Particle p = enter[i]; p.startColor = new Color32(255, 0, 0, 255); enter[i] = p; } for (int i = 0; i < numExit; i++) { ParticleSystem.Particle p = exit[i]; p.startColor = new Color32(0, 255, 0, 255); exit[i] = p; }

// set ps.SetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter); ps.SetTriggerParticles(ParticleSystemTriggerEventType.Exit, exit); } }

パーティクルシステム によって発生するすべての衝突の詳しい情報を得るには、ParticlePhysicsExtensions.GetTriggerParticles を使用して Particle の配列を取得する必要があります。