Qt Quick 3D - Virtual Assistant Example
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick3D
import QtQuick.Timeline
Node {
id: node
property alias heartTimeline: heartTimeline
property alias heartAnimation: heartAnimation
scale.x: 0.4
scale.y: 0.4
scale.z: 0.4
// Resources
Skin {
id: skin
joints: base
inverseBindPoses: Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
}
// Nodes:
Node {
id: heart_Arm
Model {
id: plane
source: "meshes/plane.mesh"
skin: skin
materials: heartMaterial_material
}
Node {
id: base
}
}
// Animations:
Timeline {
id: heartTimeline
startFrame: 0
endFrame: 1334
currentFrame: 0
enabled: false
animations: TimelineAnimation {
id: heartAnimation
duration: 1334
from: 0
to: 1334
running: heartTimeline.enabled
loops: Animation.Infinite
alwaysRunToEnd: true
}
KeyframeGroup {
target: base
property: "scale"
Keyframe {
frame: 0
value: Qt.vector3d(0.897612, 0.897612, 0.897612)
}
Keyframe {
frame: 33.3333
value: Qt.vector3d(0.898435, 0.898435, 0.898435)
}
Keyframe {
frame: 66.6667
value: Qt.vector3d(0.900828, 0.900828, 0.900828)
}
Keyframe {
frame: 100
value: Qt.vector3d(0.904679, 0.904679, 0.904679)
}
Keyframe {
frame: 133.333
value: Qt.vector3d(0.909876, 0.909876, 0.909876)
}
Keyframe {
frame: 166.667
value: Qt.vector3d(0.916307, 0.916307, 0.916307)
}
Keyframe {
frame: 200
value: Qt.vector3d(0.92386, 0.92386, 0.92386)
}
Keyframe {
frame: 233.333
value: Qt.vector3d(0.932423, 0.932423, 0.932423)
}
Keyframe {
frame: 266.667
value: Qt.vector3d(0.941883, 0.941883, 0.941883)
}
Keyframe {
frame: 300
value: Qt.vector3d(0.952128, 0.952128, 0.952128)
}
Keyframe {
frame: 333.333
value: Qt.vector3d(0.963046, 0.963046, 0.963046)
}
Keyframe {
frame: 366.667
value: Qt.vector3d(0.974525, 0.974525, 0.974525)
}
Keyframe {
frame: 400
value: Qt.vector3d(0.986453, 0.986453, 0.986453)
}
Keyframe {
frame: 433.333
value: Qt.vector3d(0.998717, 0.998717, 0.998717)
}
Keyframe {
frame: 466.667
value: Qt.vector3d(1.01121, 1.01121, 1.01121)
}
Keyframe {
frame: 500
value: Qt.vector3d(1.02381, 1.02381, 1.02381)
}
Keyframe {
frame: 533.333
value: Qt.vector3d(1.03641, 1.03641, 1.03641)
}
Keyframe {
frame: 566.667
value: Qt.vector3d(1.0489, 1.0489, 1.0489)
}
Keyframe {
frame: 600
value: Qt.vector3d(1.06116, 1.06116, 1.06116)
}
Keyframe {
frame: 633.333
value: Qt.vector3d(1.07309, 1.07309, 1.07309)
}
Keyframe {
frame: 666.667
value: Qt.vector3d(1.08457, 1.08457, 1.08457)
}
Keyframe {
frame: 700
value: Qt.vector3d(1.09548, 1.09548, 1.09548)
}
Keyframe {
frame: 733.333
value: Qt.vector3d(1.10573, 1.10573, 1.10573)
}
Keyframe {
frame: 766.667
value: Qt.vector3d(1.11519, 1.11519, 1.11519)
}
Keyframe {
frame: 800
value: Qt.vector3d(1.12375, 1.12375, 1.12375)
}
Keyframe {
frame: 833.333
value: Qt.vector3d(1.1313, 1.1313, 1.1313)
}
Keyframe {
frame: 866.667
value: Qt.vector3d(1.13774, 1.13774, 1.13774)
}
Keyframe {
frame: 900
value: Qt.vector3d(1.14293, 1.14293, 1.14293)
}
Keyframe {
frame: 933.333
value: Qt.vector3d(1.14678, 1.14678, 1.14678)
}
Keyframe {
frame: 966.667
value: Qt.vector3d(1.14918, 1.14918, 1.14918)
}
Keyframe {
frame: 1000
value: Qt.vector3d(1.15, 1.15, 1.15)
}
Keyframe {
frame: 1033.33
value: Qt.vector3d(1.14293, 1.14293, 1.14293)
}
Keyframe {
frame: 1066.67
value: Qt.vector3d(1.12375, 1.12375, 1.12375)
}
Keyframe {
frame: 1100
value: Qt.vector3d(1.09548, 1.09548, 1.09548)
}
Keyframe {
frame: 1133.33
value: Qt.vector3d(1.06116, 1.06116, 1.06116)
}
Keyframe {
frame: 1166.67
value: Qt.vector3d(1.02381, 1.02381, 1.02381)
}
Keyframe {
frame: 1200
value: Qt.vector3d(0.986453, 0.986453, 0.986453)
}
Keyframe {
frame: 1233.33
value: Qt.vector3d(0.952128, 0.952128, 0.952128)
}
Keyframe {
frame: 1266.67
value: Qt.vector3d(0.92386, 0.92386, 0.92386)
}
Keyframe {
frame: 1300
value: Qt.vector3d(0.904679, 0.904679, 0.904679)
}
Keyframe {
frame: 1333.33
value: Qt.vector3d(0.897612, 0.897612, 0.897612)
}
}
}
Node {
id: __materialLibrary__
PrincipledMaterial {
id: heartMaterial_material
objectName: "heartMaterial_material"
baseColor: "#ff197c1a"
roughness: 0.09734514355659485
cullMode: PrincipledMaterial.NoCulling
alphaMode: PrincipledMaterial.Opaque
}
}
}