diff options
author | Andy Nichols <andy.nichols@qt.io> | 2023-06-08 16:25:47 +0200 |
---|---|---|
committer | Andy Nichols <nezticle@gmail.com> | 2023-06-12 16:05:36 +0200 |
commit | f7cc7656e2bd01851c5fb04747b0c8439ffa9dbe (patch) | |
tree | 3999f4a6efc61e1841e21941fd6bf8a51025d121 /examples/quick3d/particles3d/EmitterShapes.qml | |
parent | 16c734c0a26b5fed0542f3ef2fee07be74a45da8 (diff) |
Fix qmllint errors in particles3d example
Pick-to: 6.6
Change-Id: I10126755f2a42fb365219f09b9c54e45ed8e4316
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Diffstat (limited to 'examples/quick3d/particles3d/EmitterShapes.qml')
-rw-r--r-- | examples/quick3d/particles3d/EmitterShapes.qml | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/examples/quick3d/particles3d/EmitterShapes.qml b/examples/quick3d/particles3d/EmitterShapes.qml new file mode 100644 index 00000000..71c226d0 --- /dev/null +++ b/examples/quick3d/particles3d/EmitterShapes.qml @@ -0,0 +1,166 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick3D +import QtQuick3D.Particles3D + +Item { + id: mainWindow + + property bool fill: checkBoxFill.checked + + anchors.fill: parent + + View3D { + anchors.fill: parent + + environment: SceneEnvironment { + clearColor: "#202020" + backgroundMode: SceneEnvironment.Color + antialiasingMode: AppSettings.antialiasingMode + antialiasingQuality: AppSettings.antialiasingQuality + } + + PerspectiveCamera { + id: camera + property real cameraAnim: 0 + SequentialAnimation { + running: true + loops: Animation.Infinite + NumberAnimation { + target: camera + property: "cameraAnim" + to: 1 + duration: 2000 + easing.type: Easing.InOutQuad + } + NumberAnimation { + target: camera + property: "cameraAnim" + to: 0 + duration: 2000 + easing.type: Easing.InOutQuad + } + } + position: Qt.vector3d(0, 400 + cameraAnim * 400, 800 - cameraAnim * 800) + eulerRotation: Qt.vector3d(-30 - cameraAnim * 60, 0, 0) + } + + PointLight { + position: Qt.vector3d(0, 400, 0) + brightness: 10 + ambientColor: Qt.rgba(0.3, 0.3, 0.3, 1.0) + } + + ParticleSystem3D { + id: psystem + + NumberAnimation on eulerRotation.y { + running: true + loops: Animation.Infinite + from: 0 + to: 360 + duration: 12000 + } + + // Particles + SpriteParticle3D { + id: particleWhite + sprite: Texture { + source: "images/dot.png" + } + maxAmount: 4000 * 3 + color: "#ffffff" + billboard: true + } + + // Emitters, one per particle + ParticleEmitter3D { + particle: particleWhite + position: Qt.vector3d(-300, 0, 0) + scale: Qt.vector3d(2.0, 2.0, 3.0) + shape: ParticleShape3D { + type: ParticleShape3D.Cube + fill: mainWindow.fill + } + emitRate: sliderEmitRate.sliderValue + lifeSpan: 2000 + depthBias: depthBias.sliderValue + Model { + source: "#Cube" + opacity: 0.4 + materials: DefaultMaterial { + } + } + } + ParticleEmitter3D { + particle: particleWhite + position: Qt.vector3d(0, 0, 0) + scale: Qt.vector3d(2.0, 2.0, 3.0) + shape: ParticleShape3D { + type: ParticleShape3D.Sphere + fill: mainWindow.fill + } + emitRate: sliderEmitRate.sliderValue + lifeSpan: 2000 + depthBias: depthBias.sliderValue + Model { + source: "#Sphere" + opacity: 0.4 + materials: DefaultMaterial { + } + } + } + ParticleEmitter3D { + particle: particleWhite + position: Qt.vector3d(300, 0, 0) + scale: Qt.vector3d(2.0, 2.0, 3.0) + shape: ParticleShape3D { + type: ParticleShape3D.Cylinder + fill: mainWindow.fill + } + emitRate: sliderEmitRate.sliderValue + lifeSpan: 2000 + depthBias: depthBias.sliderValue + Model { + source: "#Cylinder" + opacity: 0.4 + materials: DefaultMaterial { + } + } + } + } + } + + SettingsView { + CustomCheckBox { + id: checkBoxFill + text: "Fill" + checked: false + } + CustomLabel { + text: "Particles emitRate" + } + CustomSlider { + id: sliderEmitRate + sliderValue: 1000 + fromValue: 0 + toValue: 2000 + } + CustomLabel { + text: "Particle depthBias" + } + CustomSlider { + id: depthBias + sliderValue: -20 + fromValue: -20 + toValue: 20 + } + } + + LoggingView { + anchors.bottom: parent.bottom + particleSystems: [psystem] + } +} |