粒子系统 (Shuriken) 的脚本接口。
Shuriken 是一种功能强大、用途广泛的粒子系统组件。
常规参数
粒子系统的常规参数保存在一个特殊的主模块中。在 Inspector 中,这些参数显示在所有其他模块上方:
在脚本中,可以通过 ParticleSystem.main 访问这些参数。
模块效果乘数
每个模块都有一些特殊的乘数属性,利用这些属性,您可以在不编辑曲线本身的情况下更改曲线的整体效果。这些乘数属性全部以它们影响的曲线命名 - 例如,ParticleSystem.emission.rateMultiplier 控制 ParticleSystem.emission.rate 在给定系统中的整体效果。
常量值的简写表示法
对于简单的常量值,参数支持简写表示法。要为参数设置常量值,只需为其指定一个数字。无需在 ParticleSystemCurveMode.Constant 模式下创建 MinMaxCurve 或 MinMaxGradient 对象。
例如,下面的语句:\
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 | 获取该粒子系统的粒子。 |
IsAlive | 系统是否包含任何存活的粒子?(或将产生更多粒子)。 |
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 | 加载新场景时,不自动销毁对象 /target/。 |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | 返回所有类型为 type 的已加载的激活对象的列表。 |
Instantiate | 克隆 original 对象并返回克隆对象。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |