Cocos Creator:发射器模块(ShapeModule)

Cocos Creator:发射器模块(ShapeModule)
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

发射器模块(ShapeModule)

发射器模块主要用于设置粒子发射器形状、粒子发射方向和速度。

shape-module

ShapeType 属性用于选择粒子发射器形状,可选项包括 盒子(Box)、圆形(Circle)、锥体(Cone)、(Sphere)、半球(Hemisphere)。当形状选择不同时,可发射粒子的区域不同,相对应的属性设置项也不一致,详情请参考下文对应形状发射器的说明。

通用属性

各类型发射器有一些属性是通用的,包括:

属性功能说明
ShapeType发射器形状。目前支持 盒子(Box)、圆形(Circle)、锥体(Cone)、(Sphere)、半球(Hemisphere)这几种类型。
Position发射器相对于所在节点的位置
Rotation发射器相对于所在节点的旋转,可用于调整粒子发射方向
Scale发射器相对于所在节点的缩放,可用于调整发射器形状的大小,即粒子发射范围
AlignToDirection根据粒子发射的初始方向决定粒子的移动方向,可用于模拟类似水从水桶中洒出的效果
RandomDirectionAmount粒子生成方向随机混合设定。
设置为 0 时,不生效;
设置为 1 时,方向随机
SphericalDirectionAmount表示当前发射方向与当前位置到节点中心连线方向的插值。
当该值设置为 1 时,粒子由中心向外部发射(与 ShapeType 设置为 Sphere 时的行为相同)
RandomPositionAmount粒子生成位置随机设定,当该值设置 不为 0 时,粒子生成位置会超出生成器的大小范围

盒子发射器

ShapeType 属性设置为 Box 时,我们称之为盒子发射器:

box_emitter_property

特有的属性项说明如下:

属性功能说明
EmitFrom发射器从盒子的哪个部位发射粒子,包括:
Volume:从盒子内部发射
Shell:从盒子表面发射
Edge:从盒子边框发射
BoxThickness盒子每个发射方向的厚度,仅当 EmitFrom 选择 Shell 模式时生效

同时在 场景编辑器 中会有一个盒子 Gizmo,显示盒子发射器的形状大小:

box_emitter

直接拖拽盒子 Gizmo 的方块控制点可以调整盒子发射器的 Scale 属性:

box_gizmo

圆发射器

ShapeType 属性设置为 Circle 时,我们称之为圆发射器:

circle_emitter_property

特有的属性项说明如下:

属性功能说明
Radius设置圆发射器的半径
RadiusThickness圆发射器发射粒子的位置。
设置为 0 时,表示从圆周发射
设置为 1 时,表示从圆心发射
设置为 0~1 之间时,表示从圆心到圆周之间,在一定的比例范围内发射
Arc设置圆发射器发射粒子的扇形区域
ArcMode设置粒子在扇形区域的发射方式,包括:
Random:随机发射
Loop:沿某一方向循环发射,每次循环方向相同
PingPong:循环发射,每次循环方向都与上一次相反
ArcSpread设置可能产生粒子的圆弧周围的离散间隔。例如:
设置为 0 时,可在圆弧任意位置生成粒子;
设置为 0.2 时,仅在圆弧周围以 20% 的间隔生成粒子。
ArcSpeed表示粒子沿圆弧发射的速度。点击右侧的向下图标按钮,即可选择打开曲线编辑器对该属性进行曲线编辑

同时在 场景编辑器 中会有一个圆形 Gizmo,显示发射器的形状大小:

circle_emitter

直接拖拽圆形 Gizmo 的方块控制点可以调整圆发射器的 Radius 属性:

circle_gizmo

圆锥发射器

ShapeType 属性设置为 Cone 时,我们称之为圆锥发射器。在 场景编辑器 中会有一个圆锥 Gizmo,显示发射器的形状大小:

cone_emitter
下文以上方图示为例,圆锥下方半径较小的横截面称为圆锥底部。

圆锥发射器的属性在 属性检查器 中显示如下:

cone_emitter_property

特有的属性项说明如下:

属性功能说明
EmitFrom发射器从圆锥的哪个部位发射粒子,包括:
Base:从圆锥底部发射
Shell:从圆锥底部的圆周发射
Volume:从圆锥内部发射
Radius设置圆锥底部横截面的半径
RadiusThickness圆锥发射器发射粒子的位置。
设置为 0 时,表示从圆锥表面发射
设置为 1 时,表示从圆锥中心发射
设置为 0~1 之间时,表示从圆锥的中心到表面之间,在一定的比例范围内发射
Angle圆锥的轴与母线的夹角,值越大夹角越大,圆锥发射器的开合程度越大
Arc设置圆锥发射器发射粒子的扇形区域
ArcMode表示粒子在扇形区域内的发射方式。
Random:随机位置
Loop:沿某一方向循环发射,每次循环方向相同
PingPong:循环发射,每次循环方向相反
spread:表示粒子在某个间断发射,比如,0 表示可以在任意位置发射;0.1 表示每隔圆周的十分之一位置发射
ArcSpeed表示粒子沿圆弧发射的速度
ArcSpread表示粒子沿圆弧发射的速度。点击右侧的向下图标按钮,即可选择打开曲线编辑器对该属性进行曲线编辑
Length圆锥顶部截面距离底部的轴长

其中圆锥发射器的 AngleLengthRadius 属性也可以通过直接拖拽场景中圆锥 Gizmo 的方块控制点进行设置。

球体/半球体发射器

ShapeType 属性设置为 Sphere/Hemisphere 时,我们称之为球体/半球体发射器。

球体发射器和半球体发射器的属性是一样的,这里我们以球体发射器为例:

Sphere_emitter_property

特有的属性项说明如下:

属性功能说明
EmitFrom发射器从球体的哪个部位发射粒子,包括:
Volume:从球体内部发射
Shell:从球体表面发射(暂不生效,可通过 RadiusThickness 设置)
Radius球体半径。也可以直接拖拽 场景编辑器 中球体 Gizmo 的方块控制点进行设置
RadiusThickness球体发射器发射粒子的位置。
设置为 0 时,表示从球表面发射
设置为 1 时,表示从球体中心发射
设置为 0~1 之间时,表示从表面到球心之间,在一定的比例范围内发射

球体发射器在 场景编辑器 中会有一个球 Gizmo,显示发射器的形状大小:

Sphere_emitter

同样的,半球体发射器在 场景编辑器 中也有一个半球 Gizmo,显示发射器的形状大小:

Hemisphere_emitter

3D建模学习工作室 翻译整理,转载请注明出处!

上一篇:Cocos Creator:主模块(ParticleSystem) (mvrlink.com)

下一篇:Cocos Creator:速度模块(VelocityOvertimeModule) (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号