qtdoc/examples/demos/xr_physicsbase_teleportation/Smoke.qml

49 lines
1.5 KiB
QML
Raw Normal View History

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick3D
import QtQuick3D.Particles3D
Node {
id: smoke
property real size: 1.0
property color color: "gray"
property real colorVariation: 0.5
SpriteParticle3D {
id: smokeSpriteParticle
sprite: ParticleResources.smokeSpriteTexture
maxAmount: 200
spriteSequence: SpriteSequence3D {
frameCount: 15
interpolate: true
}
billboard: true
color: smoke.color
colorVariation: Qt.vector4d(smoke.colorVariation, smoke.colorVariation, smoke.colorVariation, 0.2)
unifiedColorVariation: true
fadeOutEffect: Particle3D.FadeOpacity
fadeOutDuration: 2000
}
ParticleEmitter3D {
system: ParticleResources.system
enabled: smoke.visible
id: smokeEmitter
particle: smokeSpriteParticle
particleScale: 25 * smoke.size
particleScaleVariation: 10 * smoke.size
particleEndScale: 35 * smoke.size
particleEndScaleVariation: 15 * smoke.size
particleRotationVariation: Qt.vector3d(0, 0, 180)
particleRotationVelocityVariation: Qt.vector3d(0, 0, 40)
emitRate: 30
lifeSpan: 2000
lifeSpanVariation: 1000
velocity: VectorDirection3D {
direction: Qt.vector3d(50.0, 70, -50.0)
directionVariation: Qt.vector3d(10, 10, 10)
}
}
}