文档

Unity Engine

Unity Engine

SetPlane(int, Transform)

Set a collision plane to use with this Particle System.
阅读时间1 分钟最后更新于 1 个月前

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.ParticleSystemModule
public void SetPlane(int index, Transform transform)

Parameters

index

The plane entry to set.

transform

The plane to collide particles against.

Remarks

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.

Examples

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); }}