Files
engine/docs/zh/graphics/particle/renderer-main-module.mdx
ChenMo 00942cc808 refactor(particle): rename ParticleScaleMode enums for clarity (#2970)
* refactor(particle): rename ParticleScaleMode enums for clarity
2026-04-17 14:58:35 +08:00

50 lines
5.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
order: 1
title: 主模块
type: 图形
group: 粒子
label: Graphics/Particle
---
[MainModule](/apis/core/#MainModule) 是 `ParticleGeneratorModule` 的主模块,包含了最基本的粒子生成参数。这些属性大多用于控制新创建的粒子的初始状态。
<Image src="https://mdn.alipayobjects.com/huamei_qbugvr/afts/img/A*JUjgTLfiz7kAAAAAAAAAAAAADtKFAQ/original" alt="avatar" style={{ zoom: "50%" }} />
## 属性
你可以在提供的示例中逐个调试各项属性,帮助你更好地理解和掌控粒子住模块,从而实现各种复杂和精美的视觉效果。
| 属性 | 释义 |
| :--- | :--- |
| [duration](/apis/core/#MainModule-duration) | 持续时间。决定了粒子生成器运行多长时间,单位为秒。更长的持续时间意味着粒子系统会生成更多的粒子,创造出持续的效果 |
| [isLoop](/apis/core/#MainModule-isLoop) | 是否循环。如果设置为 true粒子生成器会在持续时间结束后自动重新开始从而形成一个连续的效果比如烟雾或流水 |
| [startDelay](/apis/core/#MainModule-startDelay) | 开始延迟时间。决定了粒子生成器在启动后延迟一定时间才开始发射,这对于实现如烟花等需要时间差的效果非常有用 |
| [startLifetime](/apis/core/#MainModule-startLifetime) | 初始生命周期。决定了每个粒子在消失前能存活多久。更长的生命周期意味着粒子会在屏幕上停留更长时间 |
| [startSpeed](/apis/core/#MainModule-startSpeed) | 首次生成粒子时的初始速度。决定了粒子发射时的速度,较高的初始速度会使粒子迅速扩散,如爆炸效果;较低的速度则会使粒子缓慢飘动,如烟雾效果 |
| [startSize3D](/apis/core/#MainModule-startSize3D) | 是否以每个轴的粒子大小分别指定。允许为粒子的 x、y、z 轴设置不同的大小,以实现各向异性的粒子效果,比如长条形火焰 |
| [startSize](/apis/core/#MainModule-startSize) | 粒子生成器首次生成粒子时的初始大小。控制每个粒子的大小,较大的初始大小适合模拟大块的烟云或火焰,较小的则适合细腻的尘土或水花 |
| [startSizeX](/apis/core/#MainModule-startSizeX) | 粒子生成器首次生成粒子时沿 x 轴的初始大小 |
| [startSizeY](/apis/core/#MainModule-startSizeY) | 粒子生成器首次生成粒子时沿 y 轴的初始大小 |
| [startSizeZ](/apis/core/#MainModule-startSizeZ) | 粒子生成器首次生成粒子时沿 z 轴的初始大小 |
| [startRotation3D](/apis/core/#MainModule-startRotation3D) | 是否启用 3D 粒子旋转。允许粒子在 3D 空间中旋转,增加粒子的立体感和复杂性,如在三维空间内下坠的树叶 |
| [startRotation](/apis/core/#MainModule-startRotation) | 粒子生成器首次生成粒子时的初始旋转。设置粒子发射时的旋转角度,适用于需要粒子朝特定方向运动的效果,如方向性的火焰 |
| [startRotationX](/apis/core/#MainModule-startRotationX) | 粒子发射时沿 x 轴的初始旋转 |
| [startRotationY](/apis/core/#MainModule-startRotationY) | 粒子发射时沿 y 轴的初始旋转 |
| [startRotationZ](/apis/core/#MainModule-startRotationZ) | 粒子发射时沿 z 轴的初始旋转 |
| [flipRotation](/apis/core/#MainModule-flipRotation) | 翻转旋转。范围在 0 到 1 之间,使部分粒子以相反方向旋转,增加粒子系统的随机性和自然感,适用于模拟复杂的运动轨迹 |
| [startColor](/apis/core/#MainModule-startColor) | 初始颜色。决定了粒子的颜色,可用于模拟不同材质的效果,如火焰的红橙色或烟雾的灰白色 |
| [gravityModifier](/apis/core/#MainModule-gravityModifier) | 重力修正。调整粒子受重力影响的程度,使粒子看起来更真实,如下降的雨滴或上升的烟雾 |
| [simulationSpace](/apis/core/#MainModule-simulationSpace) | 选择模拟粒子的空间。决定了粒子是相对于世界还是相对于生成器自身运动。世界空间适合固定位置的效果,如烟雾;本地空间适合随对象移动的效果,如火焰尾迹 |
| [simulationSpeed](/apis/core/#MainModule-simulationSpeed) | 模拟速度。可整体加快或减慢粒子的运动速度,适用于时间慢动作或加速效果 |
| [scalingMode](/apis/core/#MainModule-scalingMode) | 缩放模式。决定了粒子生成器在发射粒子时,如何处理位置、旋转和缩放等变换操作。使用 scalingMode 能确保粒子生成器和粒子之间的变换关系符合预期 |
| [playOnEnabled](/apis/core/#MainModule-playOnEnabled) | 如果设置为 true粒子生成器将在启动时自动开始播放。开启这个选项会确保粒子系统一启动就开始发射粒子适用于需要立即显示效果的场景 |
| [maxParticles](/apis/core/#MainModule-maxParticles) | 最大粒子数。限制了粒子系统的最大粒子数,以防止性能问题。较大的值适用于需要大量粒子的效果,如浓烟 |
### scalingMode 模式说明
scalingMode 有以下几种模式:
- **World**:使用世界缩放(包含所有父级变换)来缩放粒子的发射位置和大小
- **Local**:仅使用自身 Transform 的缩放来缩放粒子的发射位置和大小,忽略父级缩放
- **Shape**:仅缩放发射形状区域,粒子本身的大小不受影响