本页内容

Particle3D QML Type

抽象逻辑粒子。更多内容...

Import Statement: import QtQuick3D.Particles3D
Since: Qt 6.2
Inherits:

Object3D

Inherited By:

LineParticle3D, ModelBlendParticle3D, ModelParticle3D, and SpriteParticle3D

属性

详细描述

该元素定义了逻辑粒子的通用属性。Particle3D 是粒子的抽象基类,请改用ModelParticle3D 或SpriteParticle3D 。

注意:与 模型使用的材质不同, 粒子默认渲染时会假设其具有半透明性,因此默认启用混合效果。由于粒子纹理、颜色(Alpha)变化、淡入淡出等效果,这种行为在大多数情况下是理想的。如果您不需要混合效果,请将hasTransparency 设置为false ,以获得可能的性能提升。

属性文档

AlignMode : enumeration

定义对齐类型。

常量描述
Particle3D.AlignNone不进行对齐。粒子的旋转可通过 `particleRotation` 进行定义。
Particle3D.AlignTowardsTarget将粒子对齐到alignTargetPosition 方向。
Particle3D.AlignTowardsStartVelocity将粒子对齐至其初始velocity 方向。

FadeType : enumeration

定义淡入淡出效果的类型。

常量描述
Particle3D.FadeNone无淡入淡出效果。
Particle3D.FadeOpacity将粒子不透明度淡入/淡出至 0.0。
Particle3D.FadeScale将粒子比例从 0.0 淡入/淡出至 0.0。

SortMode : enumeration

定义粒子的排序模式。排序模式决定了粒子的绘制顺序。

常量描述
Particle3D.SortNone不进行排序。
Particle3D.SortNewest根据粒子存活时间排序,最新者优先。
Particle3D.SortOldest根据粒子生存时间排序,最晚生成的粒子优先。
Particle3D.SortDistance按与摄像机的距离排序,距离最远的排在最前面。

alignMode : AlignMode

此属性定义了粒子所使用的对齐模式。粒子对齐指的是粒子所朝向的方向。

注意:当 “SpriteParticle3D ”billboard 属性设置为“true”时 ,“alignMode”属性将不起作用。

默认值为Particle3D.AlignNone 。

另请参阅 alignTargetPosition 。

alignTargetPosition : vector3d

该属性定义了粒子对齐的位置。只有当“alignMode ”设置为“Particle3D.AlignTowardsTarget ”时,该属性才生效。

另请参阅 alignMode 。

color : color

此属性定义了用于给粒子上色的基色。

默认值为"#FFFFFF" (白色)。

colorVariation : vector4d

此属性定义了用于给粒子着色的颜色变化。数值按 RGBA 顺序排列,每个数值应在 0.0(无变化)到 1.0(完全变化)之间。

例如,要创建颜色在#ff0000 到#e50000 之间、不透明度在 40% 到 60% 之间的半透明红色粒子,请设置如下:

ModelParticle3D {
    ...
    color: "#7fff0000"
    colorVariation: Qt.vector4d(0.1, 0.0, 0.0, 0.2)
}

默认值为(0, 0, 0, 0) (无变化)。

另请参阅 unifiedColorVariation 。

fadeInDuration : int

该属性定义了淡入效果的持续时间(以毫秒为单位)。

注意:淡入淡出时长 属于粒子lifeSpan 的一部分。因此,例如当lifeSpan 为3000、fadeInDuration 为500且fadeOutDuration 为500时,该粒子完全可见的时间为2000毫秒。

默认值为250 。

另请参阅 fadeInEffect 和fadeOutDuration 。

fadeInEffect : FadeType

此属性定义粒子出现时使用的淡入效果。

默认值为Particle3D.FadeOpacity 。

另请参阅 fadeInDuration 和fadeOutEffect 。

fadeOutDuration : int

此属性定义淡出效果的持续时间(以毫秒为单位)。

默认值为250 。

另请参阅 fadeOutEffect 和fadeInDuration 。

fadeOutEffect : FadeType

此属性定义了粒子到达其lifeSpan 并消失时所使用的淡出效果。

默认值为Particle3D.FadeOpacity 。

另请参阅 fadeOutDuration 和fadeInEffect 。

hasTransparency : bool

该属性用于定义粒子是否具有透明度,以及是否应与背景进行混合。通常应设置为 true,例如当粒子颜色不具备完全透明度、纹理包含半透明像素,或者粒子不透明度正在淡入或淡出时。在特定情况下,将其设置为 false 可能是一种优化手段。

默认值为true 。

另请参阅 color 、fadeInEffect 以及fadeOutEffect 。

maxAmount : int

该属性定义了同时存在的粒子最大数量。您可以使用particlesUsed 来调试已分配粒子的使用效率。如果maxAmount过小,粒子会在达到其lifeSpan 结束之前就被重复利用。如果maxAmount过大,则会为粒子分配不必要的内存。

注意:更改 maxAmount 会重置粒子系统中的所有粒子。

默认值为100 。

sortMode : SortMode

此属性定义了粒子所使用的排序模式。

默认值为Particle3D.SortNone 。

unifiedColorVariation : bool

此属性用于定义是否应将colorVariation 均匀应用于所有颜色通道。这意味着所有变化都将应用相同的随机量。

例如,若要生成颜色值介于#ffff00 和#7f7f00 之间的黄色粒子,并确保R 和G 颜色通道的值始终保持一致:

ModelParticle3D {
    ...
    color: "#ffff00"
    colorVariation: Qt.vector4d(0.5, 0.5, 0.0, 0.0)
    unifiedColorVariation: true
}

默认值为false 。

另请参阅 colorVariation 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.