ParticleSystem

class in UnityEngine

/

继承自:Component

切换到手册

描述

粒子系统 (Shuriken) 的脚本接口。

Shuriken 是一种功能强大、用途广泛的粒子系统组件。

常规参数

粒子系统的常规参数保存在一个特殊的主模块中。在 Inspector 中,这些参数显示在所有其他模块上方:



在脚本中,可以通过 ParticleSystem.main 访问这些参数。

模块效果乘数

每个模块都有一些特殊的乘数属性,利用这些属性,您可以在不编辑曲线本身的情况下更改曲线的整体效果。这些乘数属性全部以它们影响的曲线命名 - 例如,ParticleSystem.emission.rateMultiplier 控制 ParticleSystem.emission.rate 在给定系统中的整体效果。

常量值的简写表示法

对于简单的常量值,参数支持简写表示法。要为参数设置常量值,只需为其指定一个数字。无需在 ParticleSystemCurveMode.Constant 模式下创建 MinMaxCurveMinMaxGradient 对象。

例如,下面的语句:\ ParticleSystem.emission.rate = new ParticleSystem.MinMaxCurve(5.0f);\ 应写成:\ ParticleSystem.emission.rate = 5.0f;

性能注意事项:在粒子模块上设置属性时,设置会立即传递到本机代码。这可提供最佳的性能。也就是说,在模块结构上设置属性时,不会在脚本中设置需要重新设置回粒子系统的内容;一切都是自动完成的。

另请参阅:Particle

变量

automaticCullingEnabled该系统是否支持自动剔除?
collision访问粒子系统的碰撞模块。
colorBySpeed访问粒子系统的生命周期颜色模块。
colorOverLifetime访问粒子系统的生命周期颜色模块。
customData访问粒子系统的自定义数据模块。
emission访问粒子系统的发射模块。
externalForces访问粒子系统的外力模块。
forceOverLifetime访问粒子系统的生命周期力模块。
inheritVelocity访问粒子系统的速度继承模块。
isEmitting粒子系统当前是否正在发射粒子?当粒子系统的发射模块已完成、已暂停或使用 Stop 和 StopEmitting 标志已停止该系统时,粒子系统将停止发射。可以调用 Play 来恢复发射。
isPaused粒子系统当前是否处于暂停状态?
isPlaying粒子系统当前是否处于播放状态?
isStopped粒子系统当前是否处于停止状态?
lights访问粒子系统的光源模块。
limitVelocityOverLifetime访问粒子系统的生命周期限制速度模块。
main访问主粒子系统设置。
noise访问粒子系统的噪点模块。
particleCount当前粒子数(只读)。
randomSeed重写用于粒子系统发射的随机种子。
rotationBySpeed访问粒子系统的速控旋转模块。
rotationOverLifetime访问粒子系统的生命周期旋转模块。
shape访问粒子系统的形状模块。
sizeBySpeed访问粒子系统的速控大小模块。
sizeOverLifetime访问粒子系统的生命周期大小模块。
subEmitters访问粒子系统的子发射器模块。
textureSheetAnimation访问粒子系统的纹理帧动画模块。
time播放位置(以秒为单位)。
trails访问粒子系统的轨迹模块。
trigger访问粒子系统的触发模块。
useAutoRandomSeed控制粒子系统是否使用自动生成的随机数作为随机数生成器的种子。
velocityOverLifetime访问粒子系统的生命周期速度模块。

公共函数

Clear删除粒子系统中的所有粒子。
Emit立即发射 count 个粒子。
GetCustomParticleData获取自定义每粒子数据流。
GetParticles获取该粒子系统的粒子。
IsAliveDoes the system contain any live particles, or will it produce more?
Pause暂停系统,因此不再发射新粒子,也不再更新现有粒子。
Play启动粒子系统。
SetCustomParticleData设置自定义每粒子数据流。
SetParticles设置该粒子系统的粒子。
Simulate在给定时间段内模拟粒子以快进粒子系统,然后暂停。
Stop使用提供的停止行为停止播放粒子系统。
TriggerSubEmitter在粒子系统的所有粒子上触发指定的子发射器。

继承的成员

变量

gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponent如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
GetInstanceID返回对象的实例 ID。
ToString返回 GameObject 的名称。

静态函数

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。