Version: 2022.3
public void SetPlane (int index, Transform transform);

参数

index The plane entry to set.
transform The plane to collide particles against.

描述

设置要与此粒子系统一起使用的碰撞平面。

If the index is greater than the number of planes currently assigned to the Particle System, Unity adds empty entries to ensure the list is large enough.

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(ParticleSystem))] 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); } }