ParticleEmitter3D QML 类型

用于逻辑粒子的发射器。 更多...

导入语句import QtQuick3D.Particles3D
自从Qt 6.2
继承自

Node

由下列类继承

TrailEmitter3D

属性

方法

  • 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

此属性定义单个粒子以毫秒为单位的生存期。

默认值为1000

另请参阅lifeSpanVariation


lifeSpanVariation : int

此属性定义单个粒子生存期的变化(以毫秒为单位)。

例如,要发射将在3到4秒之间存在的粒子

ParticleEmitter3D {
    ...
    lifeSpan: 3500
    lifeSpanVariation: 500
}

默认值为0

另请参阅lifeSpan属性。


particle : Particle3D

此属性定义了发射器所发射的逻辑粒子。发射器必须定义粒子,否则将不会发射任何内容。粒子可以是SpriteParticle3DModelParticle3D


particleEndScale : real

此属性定义了在粒子lifeSpan结束时微粒的缩放乘数。要使粒子结束尺寸具有变化,请使用particleEndScaleVariation。当值为负时,结束缩放与particleScale相同,因此在粒子lifeSpan期间缩放不会改变。

默认值为-1.0

另请参阅 particleScaleparticleScaleVariation


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


particleRotationVariation : vector3d

此属性定义了粒子初始时的旋转变化。旋转变化被定义为欧拉角中的度数。

例如,要发射以完全随机旋转的粒子

ParticleEmitter3D {
    ...
    particleRotationVariation: Qt.vector3d(180, 180, 180)
}

另请参阅 particleRotation


particleRotationVelocity : vector3d

此属性定义了粒子初始时的旋转速度。旋转速度被定义为每秒欧拉角中的度数。

另请参阅 particleRotationVelocityVariation


particleRotationVelocityVariation : vector3d

此属性定义了粒子旋转速度的变化。旋转速度变化被定义为每秒欧拉角中的度数。

例如,要发射以每秒-100到100度任意方向旋转的粒子

ParticleEmitter3D {
    ...
    particleRotationVariation: Qt.vector3d(180, 180, 180)
    particleRotationVelocityVariation: Qt.vector3d(100, 100, 100)
}

另请参阅 particleRotationVelocity


particleScale : real

此属性定义了粒子在开始时的缩放乘数。要使粒子尺寸具有变化,请使用particleScaleVariation

默认值为1.0

另请参阅 particleEndScaleparticleScaleVariation


particleScaleVariation : real

此属性定义了粒子的缩放变化。例如,要发射缩放为0.5 - 1.5的粒子

ParticleEmitter3D {
    ...
    particleScale: 1.0
    particleScaleVariation: 0.5
}

默认值为0.0

另请参阅 particleScaleparticleEndScaleVariation


该属性定义了发射区域的可选形状。它可以是一个 ParticleShape3DParticleModelShape3D。根据发射节点的属性,形状会被缩放、定位和旋转。当 Shape 的 fill 属性设置为 false 时,发射只发生在形状的表面。

当形状未定义时,发射从发射节点的中心点进行。


system : ParticleSystem3D

该属性定义了发射器的 ParticleSystem3D。如果系统是发射器的直接父节点,则不需要定义此属性。


velocity : Direction3D

此属性可以用来为发射的粒子设置起始速度。如果没有设置速度,粒子将静止不动,如果使用了 affectors,那么速度来自它们。


方法文档

vector3d burst(int count)

此方法会立即从该发射器发射 count 个粒子。


vector3d burst(int count, int duration)

此方法在接下来 duration 毫秒内从该发射器发射 count 个粒子。


vector3d burst(int count, int duration, vector3d position)

此方法在接下来 duration 毫秒内从该发射器发射 count 个粒子。粒子会像发射器在 position 位置发射一样,但所有其他属性保持相同。


© 2024 Qt公司。此处包含的文档贡献版权属于其各自的所有者。此处提供的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 的条款许可的。Qt及其相关标志是芬兰的Qt公司和其他一些国家的商标。所有其他商标均为各自所有者的财产。