版本: Unity 6 (6000.0)
语言英语
  • C#

ParticleSystem.CollisionModule.SetPlane

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们确实会阅读用户提出的每项建议更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void SetPlane(int index, Transform transform);

参数

index 要设置的平面条目。
transform 与粒子碰撞的平面。

描述

为该粒子系统设置一个要使用的碰撞平面。

如果索引大于当前分配给粒子系统的平面数,Unity 会添加空条目以确保列表足够大。

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