ParticleEmitter3D QML 类型
用于逻辑粒子的发射器。 更多...
导入语句 | import QtQuick3D.Particles3D |
自从 | Qt 6.2 |
继承自 | |
由下列类继承 |
属性
- depthBias : real
- emitBursts : List<EmitBurst3D>
- emitRate : real
- enabled : bool
- lifeSpan : int
- lifeSpanVariation : int
- particle : Particle3D
- particleEndScale : real
- particleEndScaleVariation : real
- particleRotation : vector3d
- particleRotationVariation : vector3d
- particleRotationVelocity : vector3d
- particleRotationVelocityVariation : vector3d
- particleScale : real
- particleScaleVariation : real
- shape : ParticleAbstractShape3D
- system : ParticleSystem3D
- velocity : Direction3D
方法
- vector3d burst(int count)
- vector3d burst(int count, int duration)
- vector3d burst(int count, int duration, vector3d position)
详细描述
该元素将逻辑粒子发射到 ParticleSystem3D,并带有给定的起始属性。
ParticleSystem3D 中至少需要一个发射器才能存在粒子。控制发射量的方法有多种
- 设置 emitRate,该属性控制每秒发射的粒子数量。
- 将EmitBurst3D元素添加到emitBursts属性中,以声明方式发射暴发。
- 调用任意burst()方法以立即发射暴发。
属性文档
depthBias : real |
包含发射器的深度偏移。在对象排序时,将深度偏移添加到对象与相机之间的距离。这可以用来在彼此靠近的对象之间强制渲染顺序,否则在不同帧中可能会以不同的顺序渲染。负值使排序值更接近相机,而正值使其远离相机。
emitBursts : List<EmitBurst3D> |
此属性接受一个EmitBurst3D元素的列表,以声明方式定义暴发。如果事先已知暴发的开始时间、数量和持续时间,则使用此属性比调用burst()与Timer更佳。
例如,要初始发射100个粒子,然后在2秒时发射50个粒子
ParticleEmitter3D { emitBursts: [ EmitBurst3D { time: 0 amount: 100 }, EmitBurst3D { time: 2000 amount: 50 } ] }
另请参阅burst方法。
emitRate : real |
此属性定义每秒钟的恒定发射率(粒子数)。例如,如果emitRate是120,并且系统每秒动画60帧,则每帧发射2个新粒子。
默认值为0
。
enabled : bool |
如果enabled设置为false
,则此发射器将不会发射任何粒子。通常此用法用于有条件地开启或关闭发射器。如果您想继续发射暴发,将emitRate保持为0,而不是将其切换为false
。
默认值为true
。
lifeSpan : int |
lifeSpanVariation : int |
此属性定义单个粒子生存期的变化(以毫秒为单位)。
例如,要发射将在3到4秒之间存在的粒子
ParticleEmitter3D { ... lifeSpan: 3500 lifeSpanVariation: 500 }
默认值为0
。
另请参阅lifeSpan属性。
particle : Particle3D |
此属性定义了发射器所发射的逻辑粒子。发射器必须定义粒子,否则将不会发射任何内容。粒子可以是SpriteParticle3D或ModelParticle3D。
particleEndScale : real |
此属性定义了在粒子lifeSpan结束时微粒的缩放乘数。要使粒子结束尺寸具有变化,请使用particleEndScaleVariation。当值为负时,结束缩放与particleScale相同,因此在粒子lifeSpan期间缩放不会改变。
默认值为-1.0
。
particleEndScaleVariation : real |
此属性定义了末尾粒子的缩放变化。当值为负时,末尾缩放也使用particleScaleVariation。例如,要发射起始缩放为0.5 - 1.5,结束缩放为1.0 - 5.0的粒子
ParticleEmitter3D { ... particleScale: 1.0 particleScaleVariation: 0.5 particleEndScale: 3.0 particleEndScaleVariation: 2.0 }
默认值为-1.0
。
另请参阅 particleEndScale。
particleRotation : vector3d |
此属性定义了粒子初始时的旋转。旋转被定义为欧拉角中的度数。
particleRotationVariation : vector3d |
此属性定义了粒子初始时的旋转变化。旋转变化被定义为欧拉角中的度数。
例如,要发射以完全随机旋转的粒子
ParticleEmitter3D { ... particleRotationVariation: Qt.vector3d(180, 180, 180) }
另请参阅 particleRotation。
particleRotationVelocity : vector3d |
此属性定义了粒子初始时的旋转速度。旋转速度被定义为每秒欧拉角中的度数。
particleRotationVelocityVariation : vector3d |
此属性定义了粒子旋转速度的变化。旋转速度变化被定义为每秒欧拉角中的度数。
例如,要发射以每秒-100到100度任意方向旋转的粒子
ParticleEmitter3D { ... particleRotationVariation: Qt.vector3d(180, 180, 180) particleRotationVelocityVariation: Qt.vector3d(100, 100, 100) }
另请参阅 particleRotationVelocity。
particleScale : real |
此属性定义了粒子在开始时的缩放乘数。要使粒子尺寸具有变化,请使用particleScaleVariation。
默认值为1.0
。
particleScaleVariation : real |
此属性定义了粒子的缩放变化。例如,要发射缩放为0.5 - 1.5的粒子
ParticleEmitter3D { ... particleScale: 1.0 particleScaleVariation: 0.5 }
默认值为0.0
。
shape : ParticleAbstractShape3D |
该属性定义了发射区域的可选形状。它可以是一个 ParticleShape3D 或 ParticleModelShape3D。根据发射节点的属性,形状会被缩放、定位和旋转。当 Shape 的 fill 属性设置为 false 时,发射只发生在形状的表面。
当形状未定义时,发射从发射节点的中心点进行。
system : ParticleSystem3D |
该属性定义了发射器的 ParticleSystem3D。如果系统是发射器的直接父节点,则不需要定义此属性。
velocity : Direction3D |
此属性可以用来为发射的粒子设置起始速度。如果没有设置速度,粒子将静止不动,如果使用了 affectors,那么速度来自它们。
方法文档
此方法在接下来 duration 毫秒内从该发射器发射 count 个粒子。粒子会像发射器在 position 位置发射一样,但所有其他属性保持相同。
© 2024 Qt公司。此处包含的文档贡献版权属于其各自的所有者。此处提供的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 的条款许可的。Qt及其相关标志是芬兰的Qt公司和其他一些国家的商标。所有其他商标均为各自所有者的财产。