Fix tray visibility and message reception issues
Some checks failed
build / build-pip (push) Failing after 16s
build / build-win64 (push) Has been cancelled
build / build-macos (push) Has been cancelled

- Disable sound initialization to prevent hanging
- Add missing import re in utils.py
- Fix settings loading for QSettings
- Update file paths to use PROJECT_ROOT
- Revert to working API paths and listener from commit efdc63e
This commit is contained in:
kdusek
2025-12-07 22:39:07 +01:00
parent 7b695d7b7f
commit 5138303016
4060 changed files with 579123 additions and 23 deletions

View File

@@ -0,0 +1,8 @@
import QtQuick.tooling 1.2
// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by qmltyperegistrar.
Module {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -0,0 +1,246 @@
MetaInfo {
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Clouds"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_clouds.qml" }
ExtraFile { source: "images/smoke_sprite2.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Dust"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_dust.qml" }
ExtraFile { source: "images/sphere.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Exhaust"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_exhaust.qml" }
ExtraFile { source: "images/smoke2.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Fire"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_fire.qml" }
ExtraFile { source: "images/smoke_sprite.png" }
ExtraFile { source: "images/sphere.png" }
ExtraFile { source: "images/color_table.png" }
ExtraFile { source: "images/color_table2.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Heavy Rain"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_heavyrain.qml" }
ExtraFile { source: "images/rain.png" }
ExtraFile { source: "images/sphere.png" }
ExtraFile { source: "images/ripple.png" }
ExtraFile { source: "images/splash7.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Heavy Rain - Tire Spray"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_heavyrain_tirespray.qml" }
ExtraFile { source: "images/smoke2.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Light Rain"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_lightrain.qml" }
ExtraFile { source: "images/rain.png" }
ExtraFile { source: "images/splash7.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Light Rain - Tire Spray"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_lightrain_tirespray.qml" }
ExtraFile { source: "images/smoke2.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Rain Mist"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_rainmist.qml" }
ExtraFile { source: "images/smoke2.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Snow"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_snow.qml" }
ExtraFile { source: "images/snowflake.png" }
}
}
Type {
name: "QtQuick3D.Particle3D.ParticleSystem3D"
icon: "images/dummy16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Steam"
category: "Qt Quick 3D Particle Effects"
libraryIcon: "images/dummy.png"
version: "6.2"
requiredImport: "QtQuick3D.ParticleEffects"
QmlSource { source: "./source/particleeffect_steam.qml" }
ExtraFile { source: "images/smoke2.png" }
}
}
}

View File

@@ -0,0 +1,121 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: cloudSystem
ParticleEmitter3D {
id: baseCloudEmitter
emitRate: 0
lifeSpan: 200000
particle: cloudParticle
particleScale: 35
particleScaleVariation: 10
emitBursts: cloudBaseBurst
velocity: cloudDirection
shape: cloudShape
depthBias: -20
SpriteParticle3D {
id: cloudParticle
color: "#bcffffff"
particleScale: 12
fadeInEffect: Particle3D.FadeScale
fadeInDuration: 0
fadeOutDuration: 0
blendMode: SpriteParticle3D.SourceOver
sprite: cloudTexture
spriteSequence: cloudSequence
billboard: true
maxAmount: 50
sortMode: Particle3D.SortNewest
Texture {
id: cloudTexture
source: "smoke_sprite2.png"
}
SpriteSequence3D {
id: cloudSequence
animationDirection: SpriteSequence3D.Alternate
durationVariation: 3000
interpolate: true
randomStart: true
frameCount: 15
duration: 50000
}
}
ParticleShape3D {
id: cloudShape
type: ParticleShape3D.Sphere
fill: false
extents.z: 250
extents.y: 100
extents.x: 250
}
DynamicBurst3D {
id: cloudBaseBurst
amount: 10
}
}
ParticleEmitter3D {
id: smallCloudEmitter
lifeSpan: 2000000
emitRate: 0
particle: cloudSmallParticle
particleScale: 18
particleScaleVariation: 7
velocity: cloudDirection
shape: cloudOuterShape
emitBursts: cloudSmallBurst
depthBias: -25
SpriteParticle3D {
id: cloudSmallParticle
color: "#65ffffff"
maxAmount: 75
particleScale: 12
fadeOutDuration: 0
fadeInDuration: 0
fadeInEffect: Particle3D.FadeScale
blendMode: SpriteParticle3D.SourceOver
sortMode: Particle3D.SortNewest
spriteSequence: cloudSequence
sprite: cloudTexture
billboard: true
}
ParticleShape3D {
id: cloudOuterShape
extents.x: 350
extents.y: 150
extents.z: 350
fill: true
type: ParticleShape3D.Sphere
}
DynamicBurst3D {
id: cloudSmallBurst
amount: 15
}
}
VectorDirection3D {
id: cloudDirection
direction.y: 0
direction.z: -20
}
Wander3D {
id: cloudWander
uniqueAmountVariation: 0.3
uniqueAmount.x: 15
uniqueAmount.y: 15
uniqueAmount.z: 15
uniquePace.x: 0.01
uniquePace.y: 0.01
uniquePace.z: 0.01
particles: [cloudParticle, cloudSmallParticle, smallCloudEmitter]
system: cloudSystem
}
}

View File

@@ -0,0 +1,65 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: dust
y: 100
ParticleEmitter3D {
id: dustEmitter
emitRate: 20
particle: dustParticle
particleScaleVariation: 0.25
particleScale: 0.75
lifeSpan: 10000
lifeSpanVariation: 100
velocity: dustDirection
shape: dustShape
SpriteParticle3D {
id: dustParticle
color: "#6ed0d0d0"
sprite: dustTexture
billboard: true
maxAmount: 500
fadeInDuration: 1500
fadeOutDuration: 1500
VectorDirection3D {
id: dustDirection
direction.y: 2
direction.z: 0
directionVariation.x: 2
directionVariation.y: 2
directionVariation.z: 2
}
Texture {
id: dustTexture
source: "sphere.png"
}
}
}
ParticleShape3D {
id: dustShape
extents.x: 500
extents.y: 200
extents.z: 500
}
Wander3D {
id: dustWander
system: dust
particles: dustParticle
uniquePaceVariation: 0.5
uniqueAmountVariation: 0.5
uniquePace.x: 0.05
uniquePace.z: 0.05
uniquePace.y: 0.05
uniqueAmount.x: 10
uniqueAmount.z: 10
uniqueAmount.y: 10
}
}

View File

@@ -0,0 +1,71 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: exhaust
ParticleEmitter3D {
id: exhaustEmitter
emitRate: 35
lifeSpan: 300
particle: exhaustParticle
particleScale: 8
particleScaleVariation: 3
lifeSpanVariation: 100
velocity: exhaustDirection
depthBias: -20
SpriteParticle3D {
id: exhaustParticle
color: "#fdfeff"
maxAmount: 100
particleScale: 12
fadeOutDuration: 150
fadeInDuration: 150
fadeInEffect: Particle3D.FadeScale
blendMode: SpriteParticle3D.SourceOver
sortMode: Particle3D.SortNewest
spriteSequence: exhaustSequence
sprite: exhaustTexture
billboard: true
Texture {
id: exhaustTexture
source: "smoke2.png"
}
SpriteSequence3D {
id: exhaustSequence
frameCount: 15
duration: 2000
}
Wander3D {
id: exhaustWander
fadeInDuration: 500
particles: exhaustParticle
system: exhaust
globalPace.y: 0.3
globalAmount.y: 50
uniquePaceVariation: 0.3
uniqueAmountVariation: 0.3
uniquePace.x: 0.1
uniquePace.y: 0.3
uniquePace.z: 0.25
uniqueAmount.x: 30
uniqueAmount.y: 60
uniqueAmount.z: 50
}
VectorDirection3D {
id: exhaustDirection
directionVariation.x: 5
directionVariation.y: 10
directionVariation.z: 20
direction.x: 750
direction.y: 0
}
}
}
}

View File

@@ -0,0 +1,140 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
ParticleEmitter3D {
id: smokeEmitter
emitRate: 20
lifeSpan: 1500
lifeSpanVariation: 750
particle: smokeParticle
particleScale: 1
particleScaleVariation: 4
particleEndScale: 25
velocity: smokeDirection
VectorDirection3D {
id: smokeDirection
directionVariation.x: 10
directionVariation.y: 10
directionVariation.z: 10
direction.y: 75
}
SpriteParticle3D {
id: smokeParticle
color: "#ffffff"
maxAmount: 400
particleScale: 5
fadeInDuration: 3500
fadeOutDuration: 1250
sortMode: Particle3D.SortNewest
blendMode: SpriteParticle3D.SourceOver
billboard: true
sprite: smokeTexture
spriteSequence: spriteSequence
Texture {
id: smokeTexture
source: "smoke_sprite.png"
}
SpriteSequence3D {
id: spriteSequence
duration: 6000
frameCount: 15
}
}
}
ParticleEmitter3D {
id: sparkEmitter
emitRate: 10
lifeSpan: 800
lifeSpanVariation: 600
particle: sparkParticle
particleScaleVariation: 1
velocity: sparkDirection
depthBias: -100
VectorDirection3D {
id: sparkDirection
directionVariation.x: 25
directionVariation.y: 10
directionVariation.z: 25
direction.y: 60
}
SpriteParticle3D {
id: sparkParticle
color: "#ffffff"
maxAmount: 100
particleScale: 1
fadeOutEffect: Particle3D.FadeScale
sortMode: Particle3D.SortNewest
blendMode: SpriteParticle3D.Screen
billboard: true
sprite: sphereTexture
colorTable: colorTable
Texture {
id: sphereTexture
source: "sphere.png"
}
Texture {
id: colorTable
source: "colorTable.png"
}
}
}
ParticleEmitter3D {
id: fireEmitter
emitRate: 90
lifeSpan: 750
lifeSpanVariation: 100
particle: fireParticle
particleScale: 3
particleScaleVariation: 2
velocity: fireDirection
depthBias: -100
VectorDirection3D {
id: fireDirection
directionVariation.x: 10
directionVariation.z: 10
direction.y: 75
}
SpriteParticle3D {
id: fireParticle
maxAmount: 500
color: "#ffffff"
colorTable: colorTable2
sprite: sphereTexture
sortMode: Particle3D.SortNewest
fadeInEffect: Particle3D.FadeScale
fadeOutEffect: Particle3D.FadeOpacity
blendMode: SpriteParticle3D.Screen
billboard: true
Texture {
id: colorTable2
source: "color_table2.png"
}
}
}
Gravity3D {
id: sparkGravity
magnitude: 100
particles: sparkParticle
enabled: true
}
}

View File

@@ -0,0 +1,196 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: heavyRain
y: 2000
ParticleEmitter3D {
id: heavyRainEmitter
emitRate: 50
lifeSpan: 500
shape: heavyRainShape
particle: heavyRainParticle
particleScale: 0.75
particleScaleVariation: 0.25
velocity: heavyRainDirection
depthBias: -200
VectorDirection3D {
id: heavyRainDirection
direction.y: -(heavyRain.y * 2)
}
SpriteParticle3D {
id: heavyRainParticle
color: "#73e6f4ff"
maxAmount: 100
particleScale: 100
fadeInDuration: 0
fadeOutDuration: 10
fadeOutEffect: Particle3D.FadeOpacity
sortMode: Particle3D.SortDistance
sprite: heavyRainTexture
spriteSequence: heavyRainSequence
offsetY: heavyRainParticle.particleScale / 2
billboard: true
Texture {
id: heavyRainTexture
source: "rain.png"
}
SpriteSequence3D {
id: heavyRainSequence
duration: 15
randomStart: true
animationDirection: SpriteSequence3D.Normal
frameCount: 3
interpolate: true
}
}
}
ParticleShape3D {
id: heavyRainShape
extents.x: 500
extents.y: 0.01
extents.z: 500
type: ParticleShape3D.Cube
fill: true
}
TrailEmitter3D {
id: heavyRainDropletEmitter
emitRate: 0
lifeSpan: 500
particle: heavyRainDropletParticle
particleScaleVariation: 0.2
follow: heavyRainParticle
emitBursts: heavyRainDropletBurst
velocity: heavyRainDropletDirection
depthBias: -8
SpriteParticle3D {
id: heavyRainDropletParticle
color: "#5ea6e2ff"
maxAmount: 300
sprite: heavyRainDropletTexture
particleScale: 3
sortMode: Particle3D.SortDistance
fadeInEffect: Particle3D.FadeScale
fadeOutEffect: Particle3D.FadeScale
fadeOutDuration: 200
fadeInDuration: 100
billboard: true
Texture {
id: heavyRainDropletTexture
source: "sphere.png"
}
}
DynamicBurst3D {
id: heavyRainDropletBurst
triggerMode: DynamicBurst3D.TriggerEnd
amount: 1
amountVariation: 1
}
VectorDirection3D {
id: heavyRainDropletDirection
direction.x: 0
direction.y: 120
direction.z: 0
directionVariation.x: 150
directionVariation.y: 100
directionVariation.z: 150
}
}
Gravity3D {
id: heavyRainDropletGravity
particles: heavyRainDropletParticle
magnitude: 800
}
TrailEmitter3D {
id: heavyRainPoolEmitter
lifeSpan: 800
emitRate: 0
particle: heavyRainPoolParticle
particleScale: 25
particleRotation.x: -90
follow: heavyRainParticle
emitBursts: heavyRainPoolBurst
depthBias: -10
SpriteParticle3D {
id: heavyRainPoolParticle
color: "#11ecf9ff"
maxAmount: 300
sprite: heavyRainPoolTexture
fadeOutEffect: Particle3D.FadeOpacity
fadeInEffect: Particle3D.FadeScale
fadeOutDuration: 800
fadeInDuration: 150
Texture {
id: heavyRainPoolTexture
source: "ripple.png"
}
}
DynamicBurst3D {
id: heavyRainPoolBurst
triggerMode: DynamicBurst3D.TriggerEnd
amount: 1
}
}
TrailEmitter3D {
id: heavyRainSplashEmitter
emitRate: 0
lifeSpan: 800
particle: heavyRainSplashParticle
particleScale: 15
particleScaleVariation: 15
particleRotation.x: 0
follow: heavyRainParticle
emitBursts: heavyRainSplashBurst
depthBias: -10
SpriteParticle3D {
id: heavyRainSplashParticle
color: "#94c0e7fb"
billboard: true
sprite: heavyRainSplashTexture
spriteSequence: heavyRainSplashSequence
sortMode: Particle3D.SortDistance
fadeOutEffect: Particle3D.FadeOpacity
fadeInEffect: Particle3D.FadeScale
fadeOutDuration: 800
fadeInDuration: 450
offsetY: particleScale / 2
Texture {
id: heavyRainSplashTexture
source: "splash7.png"
}
SpriteSequence3D {
id: heavyRainSplashSequence
duration: 800
frameCount: 6
}
maxAmount: 1500
}
DynamicBurst3D {
id: heavyRainSplashBurst
triggerMode: DynamicBurst3D.TriggerEnd
amount: 1
}
}
}

View File

@@ -0,0 +1,197 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: heavyRainTireSpray
ParticleEmitter3D {
id: heavyRainTireMistEmitter
emitRate: 45
lifeSpan: 800
lifeSpanVariation: 300
particle: heavyRainTireMistParticle
particleScale: 5
particleEndScale: 25
particleScaleVariation: 5
shape: heavyRainTireMistShape
velocity: heavyRainTireMistDirection
depthBias: -20
SpriteParticle3D {
id: heavyRainTireMistParticle
color: "#c5e3eaf2"
maxAmount: 100
particleScale: 12
fadeInDuration: 200
fadeOutDuration: 350
sprite: heavyRainTireSprayTexture
spriteSequence: heavyRainTireSpraySequence
sortMode: Particle3D.SortNewest
fadeInEffect: Particle3D.FadeOpacity
blendMode: SpriteParticle3D.SourceOver
billboard: true
Wander3D {
id: heavyRainTireMistWander
enabled: true
fadeOutDuration: 500
fadeInDuration: 300
uniquePaceVariation: 1
uniqueAmountVariation: 1
uniquePace.y: 0.03
uniqueAmount.y: 20
particles: heavyRainTireMistParticle
system: heavyRainTireSpray
}
VectorDirection3D {
id: heavyRainTireMistDirection
directionVariation.x: 100
directionVariation.y: 10
direction.y: 10
directionVariation.z: 250
}
}
ParticleShape3D {
id: heavyRainTireMistShape
fill: true
extents.x: 1
extents.z: 20
extents.y: 15
}
}
ParticleEmitter3D {
id: heavyRainTireStreamLeft
emitRate: 20
particle: heavyRainTireStreamLeftParticle
particleScale: 15
particleEndScale: 75
particleRotation.x: 90
particleScaleVariation: 5
velocity: heavyRainTireStreamLeftDirection
lifeSpanVariation: 100
lifeSpan: 750
depthBias: -15
SpriteParticle3D {
id: heavyRainTireStreamLeftParticle
color: "#cdacb1b8"
maxAmount: 1000
fadeInDuration: 350
fadeOutDuration: 200
billboard: false
sprite: heavyRainTireSprayTexture
spriteSequence: heavyRainTireSpraySequence
blendMode: SpriteParticle3D.Screen
fadeInEffect: Particle3D.FadeScale
sortMode: Particle3D.SortNewest
}
VectorDirection3D {
id: heavyRainTireStreamLeftDirection
direction.x: -200
direction.y: 0
direction.z: 175
directionVariation.z: 25
}
}
ParticleEmitter3D {
id: heavyRainTireStreamRight
depthBias: -15
enabled: true
particleRotation.x: 90
particleScaleVariation: 5
velocity: heavyRainTireStreamRightDirection
lifeSpanVariation: 100
particleEndScale: 75
lifeSpan: 750
emitRate: 20
particleScale: 15
particle: heavyRainTireStreamRightParticle
SpriteParticle3D {
id: heavyRainTireStreamRightParticle
color: "#cdacb1b8"
fadeOutDuration: 200
fadeInEffect: Particle3D.FadeScale
sortMode: Particle3D.SortNewest
blendMode: SpriteParticle3D.Screen
spriteSequence: heavyRainTireSpraySequence
maxAmount: 1000
billboard: false
fadeInDuration: 350
sprite: heavyRainTireSprayTexture
}
VectorDirection3D {
id: heavyRainTireStreamRightDirection
direction.y: 0
directionVariation.z: 25
direction.x: -200
direction.z: -175
}
}
ParticleEmitter3D {
id: heavyRainTireStreamMiddle
x: 50.704
emitRate: 20
particleEndScale: 7
particle: heavyRainTireStreamMiddleParticle
particleScale: 5
particleScaleVariation: 1
lifeSpan: 450
lifeSpanVariation: 50
velocity: heavyRainTireStreamMiddleDirection
depthBias: -20
SpriteParticle3D {
id: heavyRainTireStreamMiddleParticle
color: "#f6f9ff"
fadeOutEffect: Particle3D.FadeOpacity
fadeOutDuration: 300
fadeInEffect: Particle3D.FadeOpacity
sortMode: Particle3D.SortNewest
blendMode: SpriteParticle3D.Screen
spriteSequence: heavyRainTireSpraySequence
maxAmount: 1000
billboard: false
particleScale: 12
fadeInDuration: 300
sprite: heavyRainTireSprayTexture
SpriteSequence3D {
id: heavyRainTireSpraySequence
duration: 2000
frameCount: 15
}
VectorDirection3D {
id: heavyRainTireStreamMiddleDirection
direction.y: 60
directionVariation.z: 20
directionVariation.y: 10
}
}
}
Texture {
id: heavyRainTireSprayTexture
source: "smoke2.png"
}
Gravity3D {
id: heavyRainTireSprayGravity
magnitude: 1500
system: heavyRainTireSpray
direction.x: 1
direction.y: 0
direction.z: 0
particles: [heavyRainTireMistParticle, heavyRainTireStreamLeftParticle, heavyRainTireStreamRightParticle, heavyRainTireStreamMiddleParticle]
}
}

View File

@@ -0,0 +1,108 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: lightRain
y: 2000
ParticleEmitter3D {
id: lightRainEmitter
emitRate: 50
lifeSpan: 500
particle: lightRainParticle
particleScale: 0.75
particleScaleVariation: 0.25
velocity: lightRainDirection
shape: lightRainShape
depthBias: -200
VectorDirection3D {
id: lightRainDirection
direction.y: -(lightRain.y * 2)
}
SpriteParticle3D {
id: lightRainParticle
color: "#90e6f4ff"
maxAmount: 100
particleScale: 85
fadeInDuration: 0
fadeOutDuration: 10
fadeOutEffect: Particle3D.FadeOpacity
sortMode: Particle3D.SortDistance
sprite: lightRainTexture
offsetY: particleScale / 2
billboard: true
Texture {
id: lightRainTexture
source: "rain.png"
}
SpriteSequence3D {
id: lightRainSequence
duration: 15
randomStart: true
animationDirection: SpriteSequence3D.Normal
frameCount: 3
interpolate: true
}
}
}
ParticleShape3D {
id: lightRainShape
extents.x: 500
extents.y: 0.01
extents.z: 500
type: ParticleShape3D.Cube
fill: true
}
TrailEmitter3D {
id: lightRainSplashEmitter
emitRate: 0
lifeSpan: 800
particle: lightRainSplashParticle
particleScale: 15
particleScaleVariation: 15
follow: lightRainParticle
emitBursts: lightRainSplashBurst
depthBias: -10
SpriteParticle3D {
id: lightRainSplashParticle
color: "#8bc0e7fb"
maxAmount: 250
sprite: lightRainSplashTexture
spriteSequence: lightRainSplashSequence
fadeInDuration: 450
fadeOutDuration: 800
fadeInEffect: Particle3D.FadeScale
fadeOutEffect: Particle3D.FadeOpacity
sortMode: Particle3D.SortDistance
billboard: true
offsetY: particleScale / 2
Texture {
id: lightRainSplashTexture
source: "splash7.png"
}
SpriteSequence3D {
id: lightRainSplashSequence
duration: 800
frameCount: 6
}
}
DynamicBurst3D {
id: lightRainSplashBurst
amount: 1
triggerMode: DynamicBurst3D.TriggerEnd
}
}
}

View File

@@ -0,0 +1,124 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: lightRainTireSpray
ParticleEmitter3D {
id: lightRainTireMistEmitter
emitRate: 15
lifeSpan: 700
enabled: true
particle: lightRainTireMistParticle
particleScale: 5
particleEndScale: 20
particleScaleVariation: 5
shape: lightRainTireSprayMistShape
lifeSpanVariation: 300
velocity: lightRainTireMistDirection
depthBias: -20
SpriteParticle3D {
id: lightRainTireMistParticle
color: "#c5e3eaf2"
particleScale: 12
fadeInDuration: 200
fadeOutDuration: 350
fadeInEffect: Particle3D.FadeOpacity
sortMode: Particle3D.SortNewest
blendMode: SpriteParticle3D.SourceOver
spriteSequence: lightRainTireSpraySequence
sprite: lightRainTireSprayTexture
billboard: true
maxAmount: 1000
Wander3D {
id: lightRainTireMistWander
enabled: true
fadeOutDuration: 500
fadeInDuration: 300
uniquePaceVariation: 1
uniqueAmountVariation: 1
uniquePace.y: 0.03
uniqueAmount.y: 20
particles: lightRainTireMistParticle
system: lightRainTireSpray
}
VectorDirection3D {
id: lightRainTireMistDirection
directionVariation.x: 100
directionVariation.y: 10
directionVariation.z: 250
direction.y: 10
}
}
ParticleShape3D {
id: lightRainTireSprayMistShape
fill: true
extents.x: 1
extents.y: 15
extents.z: 20
}
}
ParticleEmitter3D {
id: lightRainStream
emitRate: 10
particleEndScale: 7
particle: lightRainStreamParticle
particleScale: 5
particleScaleVariation: 1
lifeSpan: 450
lifeSpanVariation: 50
velocity: lightRainStreamDirection
depthBias: -20
SpriteParticle3D {
id: lightRainStreamParticle
color: "#f6f9ff"
fadeOutEffect: Particle3D.FadeOpacity
fadeOutDuration: 300
fadeInEffect: Particle3D.FadeOpacity
sortMode: Particle3D.SortNewest
blendMode: SpriteParticle3D.Screen
spriteSequence: lightRainTireSpraySequence
maxAmount: 1000
billboard: false
particleScale: 12
fadeInDuration: 300
sprite: lightRainTireSprayTexture
SpriteSequence3D {
id: lightRainTireSpraySequence
duration: 2000
frameCount: 15
}
VectorDirection3D {
id: lightRainStreamDirection
direction.y: 60
directionVariation.y: 10
directionVariation.z: 20
}
}
}
Texture {
id: lightRainTireSprayTexture
source: "smoke2.png"
}
Gravity3D {
id: lightRainTireSprayGravity
magnitude: 1500
system: lightRainTireSpray
direction.x: 1
direction.y: 0
direction.z: 0
particles: [lightRainTireMistParticle, lightRainStreamParticle]
}
}

View File

@@ -0,0 +1,69 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: rainMist
ParticleEmitter3D {
id: rainMistEmitter
depthBias: -20
lifeSpan: 1200
particleScale: 5
particle: rainMistParticle
particleEndScale: 20
lifeSpanVariation: 300
velocity: rainMistDirection
particleScaleVariation: 5
emitRate: 30
SpriteParticle3D {
id: rainMistParticle
color: "#c5e3eaf2"
maxAmount: 100
particleScale: 12
sprite: rainMistTexture
spriteSequence: rainMistSequence
fadeInDuration: 200
fadeOutDuration: 350
fadeInEffect: Particle3D.FadeOpacity
blendMode: SpriteParticle3D.SourceOver
sortMode: Particle3D.SortNewest
billboard: true
Texture {
id: rainMistTexture
source: "smoke2.png"
}
SpriteSequence3D {
id: rainMistSequence
duration: 2000
frameCount: 15
}
VectorDirection3D {
id: rainMistDirection
direction.x: 500
direction.y: 0
directionVariation.x: 100
directionVariation.y: 2
directionVariation.z: 100
}
Wander3D {
id: rainMistWander
uniqueAmountVariation: 1
uniquePaceVariation: 1
fadeInDuration: 500
uniqueAmount.y: 10
uniquePace.y: 0.3
fadeOutDuration: 200
particles: rainMistParticle
system: rainMist
}
}
}
}

View File

@@ -0,0 +1,64 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: snow
x: 50
y: 300
ParticleEmitter3D {
id: snowEmitter
emitRate: 500
lifeSpan: 4000
particle: snowParticle
particleScale: 2
particleScaleVariation: 1
velocity: snowDirection
shape: snowShape
VectorDirection3D {
id: snowDirection
direction.y: -100
direction.z: 0
}
SpriteParticle3D {
id: snowParticle
color: "#dcdcdc"
maxAmount: 5000
particleScale: 1
sprite: snowTexture
billboard: true
Texture {
id: snowTexture
source: "snowflake.png"
}
}
}
ParticleShape3D {
id: snowShape
fill: true
extents.x: 400
extents.y: 1
extents.z: 400
type: ParticleShape3D.Cube
}
Wander3D {
id: wander
globalPace.x: 0.01
globalAmount.x: -500
uniqueAmount.x: 50
uniqueAmount.y: 20
uniqueAmount.z: 50
uniqueAmountVariation: 0.1
uniquePaceVariation: 0.2
uniquePace.x: 0.03
uniquePace.z: 0.03
uniquePace.y: 0.01
particles: snowParticle
}
}

View File

@@ -0,0 +1,68 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
ParticleSystem3D {
id: steam
ParticleEmitter3D {
id: steamEmitter
emitRate: 10
lifeSpan: 1500
lifeSpanVariation: 300
particle: steamParticle
particleScale: 7.5
particleEndScale: 12.5
particleScaleVariation: 2.5
velocity: steamDirection
depthBias: -100
SpriteParticle3D {
id: steamParticle
color: "#c5e3eaf2"
maxAmount: 50
particleScale: 12
fadeInDuration: 200
fadeOutDuration: 350
sprite: steamTexture
spriteSequence: steamSequence
fadeInEffect: Particle3D.FadeOpacity
blendMode: SpriteParticle3D.SourceOver
sortMode: Particle3D.SortNewest
billboard: true
Texture {
id: steamTexture
source: "smoke2.png"
}
SpriteSequence3D {
id: steamSequence
duration: 2000
frameCount: 15
}
VectorDirection3D {
id: steamDirection
direction.y: 150
directionVariation.x: 50
directionVariation.y: 10
directionVariation.z: 50
}
Wander3D {
id: steamWander
uniquePace.y: 0.03
uniqueAmount.y: 20
uniquePaceVariation: 1
uniqueAmountVariation: 1
fadeInDuration: 300
fadeOutDuration: 500
particles: steamParticle
system: steam
}
}
}
}

View File

@@ -0,0 +1,11 @@
module QtQuick3D.ParticleEffects
linktarget Qt6::qtquick3dparticleeffectsplugin
optional plugin qtquick3dparticleeffectsplugin
classname QtQuick3DParticleEffectsPlugin
designersupported
typeinfo Quick3DParticleEffects.qmltypes
depends QtQuick3D auto
depends QtQuick3D.Particles3D auto
prefer :/qt-project.org/imports/QtQuick3D/ParticleEffects/
depends QtQuick