File: WeirdShape.qml

package info (click to toggle)
qt6-quick3d 6.8.2-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 140,860 kB
  • sloc: cpp: 380,464; ansic: 36,078; xml: 252; sh: 241; makefile: 29
file content (38 lines) | stat: -rw-r--r-- 1,164 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import QtQuick3D

Node {
    id: weirdShape

    property real xRotation: Math.random() * (360 - (-360)) + -360
    property real yRotation: Math.random() * (360 - (-360)) + -360
    property real zRotation: Math.random() * (360 - (-360)) + -360

    property real hue: Math.random()

    Model {
        source: "weirdShape.mesh"
        scale: Qt.vector3d(150, 150, 150)
        eulerRotation.x: 90

        SequentialAnimation on eulerRotation {
            loops: Animation.Infinite
            PropertyAnimation {
                duration: Math.random() * (10000 - 1000) + 1000
                to: Qt.vector3d(weirdShape.xRotation -  360, weirdShape.yRotation - 360, weirdShape.zRotation - 360)
                from: Qt.vector3d(weirdShape.xRotation, weirdShape.yRotation, weirdShape.zRotation)
            }
        }

        materials: [
            PrincipledMaterial {
                baseColor: Qt.hsva(weirdShape.hue, 1.0, 1.0, 1.0)
                metalness: 0
                roughness: 0.1
            }
        ]
    }
}