要执行的粒子碰撞的类型。
以下是平面碰撞的示例:
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
private ParticleSystem ps;
void Start()
{
ps = GetComponent<ParticleSystem>();
var collision = ps.collision;
collision.enabled = true;
collision.type = ParticleSystemCollisionType.Planes;
collision.mode = ParticleSystemCollisionMode.Collision3D;
var collider = GameObject.CreatePrimitive(PrimitiveType.Plane);
collider.transform.parent = ps.transform;
collider.transform.localPosition = new Vector3(0.0f, 0.0f, 5.0f);
collider.transform.localScale = new Vector3(20.0f, 20.0f, 20.0f);
collider.transform.localRotation = Quaternion.Euler(new Vector3(-90.0f, 0.0f, 0.0f));
collision.SetPlane(0, collider.transform);
}
}
以下是世界碰撞的示例:
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
private ParticleSystem ps;
void Start()
{
ps = GetComponent<ParticleSystem>();
var collision = ps.collision;
collision.enabled = true;
collision.type = ParticleSystemCollisionType.World;
collision.mode = ParticleSystemCollisionMode.Collision3D;
var collider = GameObject.CreatePrimitive(PrimitiveType.Sphere);
collider.transform.parent = ps.transform;
collider.transform.localPosition = new Vector3(0.0f, 0.0f, 13.0f);
collider.transform.localScale = new Vector3(20.0f, 20.0f, 20.0f);
}
}