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 1.0
import Quick3DAssets.RobotHeart 1.0
Node {
id: node
enum ANIMATION {
ENTRY,
BACKFLIP,
BOUNCING,
RIGHTHAND,
LEFTHAND,
EXPLORE,
EXIT,
FACE,
HEART
}
property int currentAnim: -1
property var timelineList: [entryTimeline, backflipTimeline, bouncingTimeline,
rightHandWavingTimeline, leftHandWavingTimeline, exitTimeline, exploreTimeline,
faceTimeline, heart.heartTimeline]
function restoreDefaults() {
base.x = 0;
base.z = 0;
base.y = 0;
base.eulerRotation.x = 0.12;
base.eulerRotation.y = 0;
base.eulerRotation.z = 0;
loweBody.y = -0.73;
loweBody.z = -0.25;
loweBody.eulerRotation.x = -6;
loweBody.eulerRotation.y = -144;
loweBody.eulerRotation.z = 175;
hand_l.x = 1.89;
hand_l.y = 0.5;
hand_l.z = 0;
hand_l.eulerRotation.x = -0.18;
hand_l.eulerRotation.y = -145;
hand_l.eulerRotation.z = -178.92;
hand_r.x = -1.89;
hand_r.y = 0.5;
hand_r.z = 0;
hand_r.eulerRotation.x = 10;
hand_r.eulerRotation.y = 210;
hand_r.eulerRotation.z = 185;
node.state = "";
node.currentAnim = -1;
}
function stopAnimation(timeline) {
timeline.currentFrame = 0;
timeline.enabled = false;
}
function stopAnimations() {
node.timelineList.forEach((timeline) => node.stopAnimation(timeline))
node.restoreDefaults();
}
function runAnimation(index: int) {
stopAnimations();
currentAnim = index;
}
function animateObject(pickedObject: string) {
node.stopAnimations();
switch (pickedObject) {
case "rightHand":
currentAnim = VirtualAssistant.ANIMATION.RIGHTHAND;
break;
case "leftHand":
currentAnim = VirtualAssistant.ANIMATION.LEFTHAND;
break;
case "lowerBody":
currentAnim = VirtualAssistant.ANIMATION.BOUNCING;
break;
case "face":
currentAnim = VirtualAssistant.ANIMATION.FACE;
break;
case "chest":
currentAnim = VirtualAssistant.ANIMATION.HEART;
break;
default:
break;
}
}
Skin {
id: skin
joints: [
base,
chest,
loweBody,
head,
face,
hand_l,
hand_l_thumb1,
hand_l_thumb2,
hand_l_index1,
hand_l_index2,
hand_l_middle1,
hand_l_middle2,
hand_l_pinky1,
hand_l_pinky2,
hand_r,
hand_r_thumb1,
hand_r_thumb2,
hand_r_index1,
hand_r_index2,
hand_r_middle1,
hand_r_middle2,
hand_r_pinky1,
hand_r_pinky2
]
inverseBindPoses: [
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, -1.61245, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(0.813694, 0.0862685, -0.574857, -0.218272, 0.0100981, -0.990875, -0.134407, 0.844787, -0.581196, 0.103562, -0.807129, -0.29807, 0, 0, 0, 1),
Qt.matrix4x4(1, 1.1016e-07, -3.48602e-07, 1.04242e-06, -1.10184e-07, 1, -6.87816e-05, -3.40188, 3.48594e-07, 6.87816e-05, 1, 0.302907, 0, 0, 0, 1),
Qt.matrix4x4(1, 3.89414e-07, 0, -4.74221e-07, -2.75972e-14, -2.1173e-09, 1, 0.303307, 3.89414e-07, -1, 0, 5.80965, 0, 0, 0, 1),
Qt.matrix4x4(0.807687, 0.0365695, -0.588477, -1.58809, -0.00161026, -0.997934, -0.0642243, 1.59698, -0.589607, 0.0528207, -0.805956, 1.03229, 0, 0, 0, 1),
Qt.matrix4x4(0.471935, -0.631058, -0.615665, -0.244144, -0.802655, -0.59643, -0.0039282, 2.15297, -0.364719, 0.496022, -0.787995, 0.136329, 0, 0, 0, 1),
Qt.matrix4x4(0.36442, -0.489526, -0.792187, -0.198617, -0.802136, -0.59714, 3.03982e-06, 1.54657, -0.473046, 0.635443, -0.610273, 0.197515, 0, 0, 0, 1),
Qt.matrix4x4(0.80901, 0.00417731, -0.58778, -1.55616, 0.00231045, -0.99999, -0.00392679, 1.05789, -0.587788, 0.0018186, -0.809008, 1.08293, 0, 0, 0, 1),
Qt.matrix4x4(0.809015, 6.30314e-07, -0.587788, -1.55427, 4.87695e-07, -1, -4.01388e-07, 0.455413, -0.587785, -1.46701e-07, -0.809012, 1.08375, 0, 0, 0, 1),
Qt.matrix4x4(0.727117, 0.374232, -0.575545, -1.79386, 0.455163, -0.890399, -0.00392529, 0.0841881, -0.513931, -0.259114, -0.817758, 1.22003, 0, 0, 0, 1),
Qt.matrix4x4(0.652225, 0.330656, -0.682106, -1.61257, 0.452176, -0.891928, -2.05635e-06, -0.515896, -0.608389, -0.308432, -0.731249, 1.45386, 0, 0, 0, 1),
Qt.matrix4x4(0.468741, 0.681976, -0.561418, -1.6312, 0.822592, -0.568617, -0.00392005, -0.953233, -0.321902, -0.459983, -0.827519, 1.06958, 0, 0, 0, 1),
Qt.matrix4x4(0.24794, 0.355874, -0.901042, -0.881577, 0.820497, -0.571648, -3.36765e-06, -1.55446, -0.515079, -0.739305, -0.433726, 1.74657, 0, 0, 0, 1),
Qt.matrix4x4(0.812441, 0.0011587, -0.583043, 1.54508, 0.00957059, -0.99989, 0.011349, 1.60009, -0.582965, -0.0148005, -0.812362, -1.11435, 0, 0, 0, 1),
Qt.matrix4x4(0.474129, 0.644705, -0.59963, 0.22274, 0.808336, -0.588689, 0.00621243, 2.16486, -0.34899, -0.487648, -0.800253, -0.170718, 0, 0, 0, 1),
Qt.matrix4x4(0.370615, 0.494446, -0.786237, 0.176631, 0.807807, -0.58936, 0.010149, 1.5583, -0.458358, -0.638889, -0.617842, -0.219792, 0, 0, 0, 1),
Qt.matrix4x4(0.829668, 0.0243892, -0.557723, 1.55416, 0.0343586, -0.999382, 0.00740889, 1.11285, -0.557198, -0.0253095, -0.829994, -1.05429, 0, 0, 0, 1),
Qt.matrix4x4(0.814631, 0.00121515, -0.579979, 1.53562, 0.00957154, -0.99989, 0.0113491, 0.458829, -0.579901, -0.0147966, -0.814552, -1.10174, 0, 0, 0, 1),
Qt.matrix4x4(0.733453, -0.368831, -0.570973, 1.7816, -0.446605, -0.894721, 0.00426911, 0.0820569, -0.512437, 0.251868, -0.820958, -1.25878, 0, 0, 0, 1),
Qt.matrix4x4(0.658706, -0.332259, -0.675064, 1.59829, -0.443617, -0.896179, 0.00822179, -0.518127, -0.60771, 0.294054, -0.737714, -1.48719, 0, 0, 0, 1),
Qt.matrix4x4(0.476947, -0.675082, -0.562837, 1.61132, -0.817091, -0.576508, -0.000921175, -0.960906, -0.323859, 0.460329, -0.826567, -1.1161, 0, 0, 0, 1),
Qt.matrix4x4(0.254105, -0.362079, -0.896844, 0.849964, -0.814982, -0.579478, 0.00303894, -1.56224, -0.520802, 0.73014, -0.442337, -1.77263, 0, 0, 0, 1)
]
}
Skin {
id: skin15
joints: [
base,
chest,
loweBody,
head,
face,
hand_l,
hand_l_thumb1,
hand_l_thumb2,
hand_l_index1,
hand_l_index2,
hand_l_middle1,
hand_l_middle2,
hand_l_pinky1,
hand_l_pinky2,
hand_r,
hand_r_thumb1,
hand_r_thumb2,
hand_r_index1,
hand_r_index2,
hand_r_middle1,
hand_r_middle2,
hand_r_pinky1,
hand_r_pinky2
]
inverseBindPoses: [
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, -1.61245, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(0.813694, 0.0862685, -0.574857, -0.218272, 0.0100981, -0.990875, -0.134407, 0.844787, -0.581196, 0.103562, -0.807129, -0.29807, 0, 0, 0, 1),
Qt.matrix4x4(1, 1.1016e-07, -3.48602e-07, 1.04242e-06, -1.10184e-07, 1, -6.87816e-05, -3.40188, 3.48594e-07, 6.87816e-05, 1, 0.302907, 0, 0, 0, 1),
Qt.matrix4x4(1, 3.89414e-07, 0, -4.74221e-07, -2.75972e-14, -2.1173e-09, 1, 0.303307, 3.89414e-07, -1, 0, 5.80965, 0, 0, 0, 1),
Qt.matrix4x4(0.807687, 0.0365695, -0.588477, -1.58809, -0.00161026, -0.997934, -0.0642243, 1.59698, -0.589607, 0.0528207, -0.805956, 1.03229, 0, 0, 0, 1),
Qt.matrix4x4(0.471935, -0.631058, -0.615665, -0.244144, -0.802655, -0.59643, -0.0039282, 2.15297, -0.364719, 0.496022, -0.787995, 0.136329, 0, 0, 0, 1),
Qt.matrix4x4(0.36442, -0.489526, -0.792187, -0.198617, -0.802136, -0.59714, 3.03982e-06, 1.54657, -0.473046, 0.635443, -0.610273, 0.197515, 0, 0, 0, 1),
Qt.matrix4x4(0.80901, 0.00417731, -0.58778, -1.55616, 0.00231045, -0.99999, -0.00392679, 1.05789, -0.587788, 0.0018186, -0.809008, 1.08293, 0, 0, 0, 1),
Qt.matrix4x4(0.809015, 6.30314e-07, -0.587788, -1.55427, 4.87695e-07, -1, -4.01388e-07, 0.455413, -0.587785, -1.46701e-07, -0.809012, 1.08375, 0, 0, 0, 1),
Qt.matrix4x4(0.727117, 0.374232, -0.575545, -1.79386, 0.455163, -0.890399, -0.00392529, 0.0841881, -0.513931, -0.259114, -0.817758, 1.22003, 0, 0, 0, 1),
Qt.matrix4x4(0.652225, 0.330656, -0.682106, -1.61257, 0.452176, -0.891928, -2.05635e-06, -0.515896, -0.608389, -0.308432, -0.731249, 1.45386, 0, 0, 0, 1),
Qt.matrix4x4(0.468741, 0.681976, -0.561418, -1.6312, 0.822592, -0.568617, -0.00392005, -0.953233, -0.321902, -0.459983, -0.827519, 1.06958, 0, 0, 0, 1),
Qt.matrix4x4(0.24794, 0.355874, -0.901042, -0.881577, 0.820497, -0.571648, -3.36765e-06, -1.55446, -0.515079, -0.739305, -0.433726, 1.74657, 0, 0, 0, 1),
Qt.matrix4x4(0.812441, 0.0011587, -0.583043, 1.54508, 0.00957059, -0.99989, 0.011349, 1.60009, -0.582965, -0.0148005, -0.812362, -1.11435, 0, 0, 0, 1),
Qt.matrix4x4(0.474129, 0.644705, -0.59963, 0.22274, 0.808336, -0.588689, 0.00621243, 2.16486, -0.34899, -0.487648, -0.800253, -0.170718, 0, 0, 0, 1),
Qt.matrix4x4(0.370615, 0.494446, -0.786237, 0.176631, 0.807807, -0.58936, 0.010149, 1.5583, -0.458358, -0.638889, -0.617842, -0.219792, 0, 0, 0, 1),
Qt.matrix4x4(0.829668, 0.0243892, -0.557723, 1.55416, 0.0343586, -0.999382, 0.00740889, 1.11285, -0.557198, -0.0253095, -0.829994, -1.05429, 0, 0, 0, 1),
Qt.matrix4x4(0.814631, 0.00121515, -0.579979, 1.53562, 0.00957154, -0.99989, 0.0113491, 0.458829, -0.579901, -0.0147966, -0.814552, -1.10174, 0, 0, 0, 1),
Qt.matrix4x4(0.733453, -0.368831, -0.570973, 1.7816, -0.446605, -0.894721, 0.00426911, 0.0820569, -0.512437, 0.251868, -0.820958, -1.25878, 0, 0, 0, 1),
Qt.matrix4x4(0.658706, -0.332259, -0.675064, 1.59829, -0.443617, -0.896179, 0.00822179, -0.518127, -0.60771, 0.294054, -0.737714, -1.48719, 0, 0, 0, 1),
Qt.matrix4x4(0.476947, -0.675082, -0.562837, 1.61132, -0.817091, -0.576508, -0.000921175, -0.960906, -0.323859, 0.460329, -0.826567, -1.1161, 0, 0, 0, 1),
Qt.matrix4x4(0.254105, -0.362079, -0.896844, 0.849964, -0.814982, -0.579478, 0.00303894, -1.56224, -0.520802, 0.73014, -0.442337, -1.77263, 0, 0, 0, 1)
]
}
MorphTarget {
id: morphTarget
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget17
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget18
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget19
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget20
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget21
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget22
weight: 1
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget23
attributes: MorphTarget.Position | MorphTarget.Normal
}
Skin {
id: skin26
joints: [
base,
chest,
loweBody,
head,
face,
hand_l,
hand_l_thumb1,
hand_l_thumb2,
hand_l_index1,
hand_l_index2,
hand_l_middle1,
hand_l_middle2,
hand_l_pinky1,
hand_l_pinky2,
hand_r,
hand_r_thumb1,
hand_r_thumb2,
hand_r_index1,
hand_r_index2,
hand_r_middle1,
hand_r_middle2,
hand_r_pinky1,
hand_r_pinky2
]
inverseBindPoses: [
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, -1.61245, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(0.813694, 0.0862685, -0.574857, -0.218272, 0.0100981, -0.990875, -0.134407, 0.844787, -0.581196, 0.103562, -0.807129, -0.29807, 0, 0, 0, 1),
Qt.matrix4x4(1, 1.1016e-07, -3.48602e-07, 1.04242e-06, -1.10184e-07, 1, -6.87816e-05, -3.40188, 3.48594e-07, 6.87816e-05, 1, 0.302907, 0, 0, 0, 1),
Qt.matrix4x4(1, 3.89414e-07, 0, -4.74221e-07, -2.75972e-14, -2.1173e-09, 1, 0.303307, 3.89414e-07, -1, 0, 5.80965, 0, 0, 0, 1),
Qt.matrix4x4(0.807687, 0.0365695, -0.588477, -1.58809, -0.00161026, -0.997934, -0.0642243, 1.59698, -0.589607, 0.0528207, -0.805956, 1.03229, 0, 0, 0, 1),
Qt.matrix4x4(0.471935, -0.631058, -0.615665, -0.244144, -0.802655, -0.59643, -0.0039282, 2.15297, -0.364719, 0.496022, -0.787995, 0.136329, 0, 0, 0, 1),
Qt.matrix4x4(0.36442, -0.489526, -0.792187, -0.198617, -0.802136, -0.59714, 3.03982e-06, 1.54657, -0.473046, 0.635443, -0.610273, 0.197515, 0, 0, 0, 1),
Qt.matrix4x4(0.80901, 0.00417731, -0.58778, -1.55616, 0.00231045, -0.99999, -0.00392679, 1.05789, -0.587788, 0.0018186, -0.809008, 1.08293, 0, 0, 0, 1),
Qt.matrix4x4(0.809015, 6.30314e-07, -0.587788, -1.55427, 4.87695e-07, -1, -4.01388e-07, 0.455413, -0.587785, -1.46701e-07, -0.809012, 1.08375, 0, 0, 0, 1),
Qt.matrix4x4(0.727117, 0.374232, -0.575545, -1.79386, 0.455163, -0.890399, -0.00392529, 0.0841881, -0.513931, -0.259114, -0.817758, 1.22003, 0, 0, 0, 1),
Qt.matrix4x4(0.652225, 0.330656, -0.682106, -1.61257, 0.452176, -0.891928, -2.05635e-06, -0.515896, -0.608389, -0.308432, -0.731249, 1.45386, 0, 0, 0, 1),
Qt.matrix4x4(0.468741, 0.681976, -0.561418, -1.6312, 0.822592, -0.568617, -0.00392005, -0.953233, -0.321902, -0.459983, -0.827519, 1.06958, 0, 0, 0, 1),
Qt.matrix4x4(0.24794, 0.355874, -0.901042, -0.881577, 0.820497, -0.571648, -3.36765e-06, -1.55446, -0.515079, -0.739305, -0.433726, 1.74657, 0, 0, 0, 1),
Qt.matrix4x4(0.812441, 0.0011587, -0.583043, 1.54508, 0.00957059, -0.99989, 0.011349, 1.60009, -0.582965, -0.0148005, -0.812362, -1.11435, 0, 0, 0, 1),
Qt.matrix4x4(0.474129, 0.644705, -0.59963, 0.22274, 0.808336, -0.588689, 0.00621243, 2.16486, -0.34899, -0.487648, -0.800253, -0.170718, 0, 0, 0, 1),
Qt.matrix4x4(0.370615, 0.494446, -0.786237, 0.176631, 0.807807, -0.58936, 0.010149, 1.5583, -0.458358, -0.638889, -0.617842, -0.219792, 0, 0, 0, 1),
Qt.matrix4x4(0.829668, 0.0243892, -0.557723, 1.55416, 0.0343586, -0.999382, 0.00740889, 1.11285, -0.557198, -0.0253095, -0.829994, -1.05429, 0, 0, 0, 1),
Qt.matrix4x4(0.814631, 0.00121515, -0.579979, 1.53562, 0.00957154, -0.99989, 0.0113491, 0.458829, -0.579901, -0.0147966, -0.814552, -1.10174, 0, 0, 0, 1),
Qt.matrix4x4(0.733453, -0.368831, -0.570973, 1.7816, -0.446605, -0.894721, 0.00426911, 0.0820569, -0.512437, 0.251868, -0.820958, -1.25878, 0, 0, 0, 1),
Qt.matrix4x4(0.658706, -0.332259, -0.675064, 1.59829, -0.443617, -0.896179, 0.00822179, -0.518127, -0.60771, 0.294054, -0.737714, -1.48719, 0, 0, 0, 1),
Qt.matrix4x4(0.476947, -0.675082, -0.562837, 1.61132, -0.817091, -0.576508, -0.000921175, -0.960906, -0.323859, 0.460329, -0.826567, -1.1161, 0, 0, 0, 1),
Qt.matrix4x4(0.254105, -0.362079, -0.896844, 0.849964, -0.814982, -0.579478, 0.00303894, -1.56224, -0.520802, 0.73014, -0.442337, -1.77263, 0, 0, 0, 1)
]
}
MorphTarget {
id: morphTarget27
weight: 0
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget28
weight: 1
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget29
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget30
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget31
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget32
weight: 0
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget33
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget34
weight: 0
attributes: MorphTarget.Position | MorphTarget.Normal
}
Skin {
id: skin37
joints: [
base,
chest,
loweBody,
head,
face,
hand_l,
hand_l_thumb1,
hand_l_thumb2,
hand_l_index1,
hand_l_index2,
hand_l_middle1,
hand_l_middle2,
hand_l_pinky1,
hand_l_pinky2,
hand_r,
hand_r_thumb1,
hand_r_thumb2,
hand_r_index1,
hand_r_index2,
hand_r_middle1,
hand_r_middle2,
hand_r_pinky1,
hand_r_pinky2
]
inverseBindPoses: [
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(1, 0, 0, 0, 0, 1, 0, -1.61245, 0, 0, 1, 0, 0, 0, 0, 1),
Qt.matrix4x4(0.813694, 0.0862685, -0.574857, -0.218272, 0.0100981, -0.990875, -0.134407, 0.844787, -0.581196, 0.103562, -0.807129, -0.29807, 0, 0, 0, 1),
Qt.matrix4x4(1, 1.1016e-07, -3.48602e-07, 1.04242e-06, -1.10184e-07, 1, -6.87816e-05, -3.40188, 3.48594e-07, 6.87816e-05, 1, 0.302907, 0, 0, 0, 1),
Qt.matrix4x4(1, 3.89414e-07, 0, -4.74221e-07, -2.75972e-14, -2.1173e-09, 1, 0.303307, 3.89414e-07, -1, 0, 5.80965, 0, 0, 0, 1),
Qt.matrix4x4(0.807687, 0.0365695, -0.588477, -1.58809, -0.00161026, -0.997934, -0.0642243, 1.59698, -0.589607, 0.0528207, -0.805956, 1.03229, 0, 0, 0, 1),
Qt.matrix4x4(0.471935, -0.631058, -0.615665, -0.244144, -0.802655, -0.59643, -0.0039282, 2.15297, -0.364719, 0.496022, -0.787995, 0.136329, 0, 0, 0, 1),
Qt.matrix4x4(0.36442, -0.489526, -0.792187, -0.198617, -0.802136, -0.59714, 3.03982e-06, 1.54657, -0.473046, 0.635443, -0.610273, 0.197515, 0, 0, 0, 1),
Qt.matrix4x4(0.80901, 0.00417731, -0.58778, -1.55616, 0.00231045, -0.99999, -0.00392679, 1.05789, -0.587788, 0.0018186, -0.809008, 1.08293, 0, 0, 0, 1),
Qt.matrix4x4(0.809015, 6.30314e-07, -0.587788, -1.55427, 4.87695e-07, -1, -4.01388e-07, 0.455413, -0.587785, -1.46701e-07, -0.809012, 1.08375, 0, 0, 0, 1),
Qt.matrix4x4(0.727117, 0.374232, -0.575545, -1.79386, 0.455163, -0.890399, -0.00392529, 0.0841881, -0.513931, -0.259114, -0.817758, 1.22003, 0, 0, 0, 1),
Qt.matrix4x4(0.652225, 0.330656, -0.682106, -1.61257, 0.452176, -0.891928, -2.05635e-06, -0.515896, -0.608389, -0.308432, -0.731249, 1.45386, 0, 0, 0, 1),
Qt.matrix4x4(0.468741, 0.681976, -0.561418, -1.6312, 0.822592, -0.568617, -0.00392005, -0.953233, -0.321902, -0.459983, -0.827519, 1.06958, 0, 0, 0, 1),
Qt.matrix4x4(0.24794, 0.355874, -0.901042, -0.881577, 0.820497, -0.571648, -3.36765e-06, -1.55446, -0.515079, -0.739305, -0.433726, 1.74657, 0, 0, 0, 1),
Qt.matrix4x4(0.812441, 0.0011587, -0.583043, 1.54508, 0.00957059, -0.99989, 0.011349, 1.60009, -0.582965, -0.0148005, -0.812362, -1.11435, 0, 0, 0, 1),
Qt.matrix4x4(0.474129, 0.644705, -0.59963, 0.22274, 0.808336, -0.588689, 0.00621243, 2.16486, -0.34899, -0.487648, -0.800253, -0.170718, 0, 0, 0, 1),
Qt.matrix4x4(0.370615, 0.494446, -0.786237, 0.176631, 0.807807, -0.58936, 0.010149, 1.5583, -0.458358, -0.638889, -0.617842, -0.219792, 0, 0, 0, 1),
Qt.matrix4x4(0.829668, 0.0243892, -0.557723, 1.55416, 0.0343586, -0.999382, 0.00740889, 1.11285, -0.557198, -0.0253095, -0.829994, -1.05429, 0, 0, 0, 1),
Qt.matrix4x4(0.814631, 0.00121515, -0.579979, 1.53562, 0.00957154, -0.99989, 0.0113491, 0.458829, -0.579901, -0.0147966, -0.814552, -1.10174, 0, 0, 0, 1),
Qt.matrix4x4(0.733453, -0.368831, -0.570973, 1.7816, -0.446605, -0.894721, 0.00426911, 0.0820569, -0.512437, 0.251868, -0.820958, -1.25878, 0, 0, 0, 1),
Qt.matrix4x4(0.658706, -0.332259, -0.675064, 1.59829, -0.443617, -0.896179, 0.00822179, -0.518127, -0.60771, 0.294054, -0.737714, -1.48719, 0, 0, 0, 1),
Qt.matrix4x4(0.476947, -0.675082, -0.562837, 1.61132, -0.817091, -0.576508, -0.000921175, -0.960906, -0.323859, 0.460329, -0.826567, -1.1161, 0, 0, 0, 1),
Qt.matrix4x4(0.254105, -0.362079, -0.896844, 0.849964, -0.814982, -0.579478, 0.00303894, -1.56224, -0.520802, 0.73014, -0.442337, -1.77263, 0, 0, 0, 1)
]
}
MorphTarget {
id: morphTarget38
weight: 1
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget39
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget40
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget41
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget42
attributes: MorphTarget.Position | MorphTarget.Normal
}
MorphTarget {
id: morphTarget43
attributes: MorphTarget.Position | MorphTarget.Normal
}
// Nodes:
Node {
id: assistantArmature
Model {
id: body
x: 0.018
y: -0.215
source: "meshes/body.mesh"
z: 0.03802
skin: skin
materials: [
headGlass_material,
bodyMaterial_material,
faceScreen_material,
bodyDarker_material,
chestScreen_m_material
]
}
Model {
id: eye_l
source: "meshes/mesh_109.mesh"
skin: skin15
materials: surfaceShader1_material
morphTargets: [
morphTarget,
morphTarget17,
morphTarget18,
morphTarget19,
morphTarget20,
morphTarget21,
morphTarget22,
morphTarget23
]
}
Model {
id: eye_r
source: "meshes/mesh_107.mesh"
skin: skin26
materials: surfaceShader1_material
morphTargets: [
morphTarget27,
morphTarget28,
morphTarget29,
morphTarget30,
morphTarget31,
morphTarget32,
morphTarget33,
morphTarget34
]
}
Model {
id: mouth
source: "meshes/mesh_108.mesh"
skin: skin37
materials: surfaceShader1_material
morphTargets: [
morphTarget38,
morphTarget39,
morphTarget40,
morphTarget41,
morphTarget42,
morphTarget43
]
}
Node {
id: base
x: 0
eulerRotation.z: 0
Node {
id: chest
y: 1.6124529838562012
RobotHeart {
id: heart
x: 0
y: 0.5
z: 0.78
heartAnimation.onFinished: node.restoreDefaults()
}
Node {
id: loweBody
x: -0.004165101796388626
y: -0.7256757020950317
z: -0.25251561403274536
rotation: Qt.quaternion(-0.0626087, 0.950225, 0.0253533, -0.304155)
scale.x: 1
scale.y: 1
scale.z: 0.84
}
Node {
id: head
x: -1.5228409893097705e-06
y: 1.7894086837768555
z: -0.3031412661075592
rotation: Qt.quaternion(1, -3.43908e-05, 1.74299e-07, 5.50858e-08)
Node {
id: face
x: 1.0658141036401503e-13
y: 2.4077866077423096
z: 7.595476247956867e-09
rotation: Qt.quaternion(0.707082, 0.707131, -2.45256e-08, 2.2198e-07)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
Node {
id: hand_l
x: 1.89
y: 0.5
eulerRotation.z: -180
eulerRotation.y: -145
eulerRotation.x: 0
z: 0
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_l_thumb1
x: -1.3783574104309082e-07
y: 0.5359349250793457
z: 1.4901161193847656e-07
rotation: Qt.quaternion(0.893516, 0.248658, 0.000745812, 0.373896)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_l_thumb2
x: -8.568167686462402e-08
y: 0.6063140034675598
z: 8.195638656616211e-08
rotation: Qt.quaternion(0.992124, -0.00169711, -0.125246, 0.00108482)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
Node {
id: hand_l_index1
x: -1.3783574104309082e-07
y: 0.5359349250793457
z: 1.4901161193847656e-07
rotation: Qt.quaternion(0.999542, -0.0255386, 0.00111382, 0.016175)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_l_index2
x: 6.01867213845253e-08
y: 0.6069974303245544
z: 5.390029400587082e-08
rotation: Qt.quaternion(0.999997, -0.000909374, 2.75425e-07, 0.00208834)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
Node {
id: hand_l_middle1
x: -1.3783574104309082e-07
y: 0.5359349250793457
z: 1.4901161193847656e-07
rotation: Qt.quaternion(0.971617, -0.160599, 0.000448361, -0.173691)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_l_middle2
x: -2.2351741790771484e-08
y: 0.6075053811073303
z: -1.4901161193847656e-08
rotation: Qt.quaternion(0.997639, -0.000465468, -0.0686245, 0.00253881)
scale.x: 0.99
scale.y: 1
scale.z: 1
}
}
Node {
id: hand_l_pinky1
x: -1.3783574104309082e-07
y: 0.5359349250793457
z: 1.4901161193847656e-07
rotation: Qt.quaternion(0.884977, -0.289438, -0.000556779, -0.364748)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_l_pinky2
x: 2.421438694000244e-08
y: 0.6085596084594727
z: -7.82310962677002e-08
rotation: Qt.quaternion(0.965603, 0.000116328, -0.260006, 0.00268633)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
}
Node {
id: hand_r
x: -1.89
y: 0.5
eulerRotation.z: 185
eulerRotation.y: 210
eulerRotation.x: 10
z: 0
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_r_thumb1
x: -5.855690687894821e-08
y: 0.5341170430183411
z: 2.2351741790771484e-08
rotation: Qt.quaternion(0.893414, -0.263802, -0.00523041, -0.363584)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_r_thumb2
x: -5.960464477539063e-08
y: 0.6063126921653748
z: 8.195638656616211e-08
rotation: Qt.quaternion(0.991448, -0.0011092, -0.130483, 0.0016812)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
Node {
id: hand_r_index1
x: -5.855690687894821e-08
y: 0.5341170430183411
z: 2.2351741790771484e-08
rotation: Qt.quaternion(0.9998, -0.00545401, 0.0155425, -0.0113054)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_r_index2
x: 7.450580596923828e-09
y: 0.6073394417762756
z: 2.421438694000244e-08
rotation: Qt.quaternion(0.999828, 0.0054324, -0.0136597, 0.0113152)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
Node {
id: hand_r_middle1
x: -5.855690687894821e-08
y: 0.5341170430183411
z: 2.2351741790771484e-08
rotation: Qt.quaternion(0.972198, 0.137881, 0.00537494, 0.189183)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_r_middle2
x: 4.377216100692749e-08
y: 0.607505738735199
z: -1.5832483768463135e-07
rotation: Qt.quaternion(0.997774, -0.00258153, -0.0666323, -6.41172e-05)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
Node {
id: hand_r_pinky1
x: -5.855690687894821e-08
y: 0.5341170430183411
z: 2.2351741790771484e-08
rotation: Qt.quaternion(0.88557, 0.270553, 0.00851581, 0.377484)
scale.x: 1
scale.y: 1
scale.z: 1
Node {
id: hand_r_pinky2
x: -1.4808028936386108e-07
y: 0.6085614562034607
z: -2.1420419216156006e-08
rotation: Qt.quaternion(0.967055, -0.00267332, -0.254553, 0.000299689)
scale.x: 1
scale.y: 1
scale.z: 1
}
}
}
}
}
}
Node {
id: __materialLibrary__
PrincipledMaterial {
id: headGlass_material
objectName: "headGlass_material"
baseColor: "#5e000000"
roughness: 0.10892388224601746
cullMode: PrincipledMaterial.NoCulling
alphaMode: PrincipledMaterial.Blend
transmissionFactor: 1
indexOfRefraction: 1.4500000476837158
}
PrincipledMaterial {
id: bodyMaterial_material
objectName: "bodyMaterial_material"
baseColor: "#ff808080"
roughness: 0.5527864098548889
cullMode: PrincipledMaterial.NoCulling
alphaMode: PrincipledMaterial.Opaque
}
PrincipledMaterial {
id: faceScreen_material
objectName: "faceScreen_material"
baseColor: "#ff000000"
metalness: 0.5
cullMode: PrincipledMaterial.NoCulling
alphaMode: PrincipledMaterial.Opaque
}
PrincipledMaterial {
id: bodyDarker_material
objectName: "bodyDarker_material"
baseColor: "#ff292929"
roughness: 0.5
cullMode: PrincipledMaterial.NoCulling
alphaMode: PrincipledMaterial.Opaque
}
PrincipledMaterial {
id: chestScreen_m_material
objectName: "chestScreen_m_material"
baseColor: "#000000"
roughness: 0.5
cullMode: PrincipledMaterial.NoCulling
alphaMode: PrincipledMaterial.Opaque
}
PrincipledMaterial {
id: surfaceShader1_material
objectName: "surfaceShader1_material"
baseColor: "#ff079314"
roughness: 0.5527864098548889
cullMode: PrincipledMaterial.NoCulling
alphaMode: PrincipledMaterial.Opaque
}
}
Model {
id: rightHand
objectName: "rightHand"
position: hand_r.position
opacity: 0
source: "#Sphere"
pivot.y: -40
scale.x: 0.02
scale.y: 0.02
scale.z: 0.02
pickable: node.state === ""
}
Model {
id: leftHand
objectName: "leftHand"
position: hand_l.position
opacity: 0
source: "#Sphere"
pivot.y: -40
scale.x: 0.02
scale.y: 0.02
scale.z: 0.02
pickable: node.state === ""
}
Model {
id: lowerBody
objectName: "lowerBody"
position: loweBody.position
opacity: 0
source: "#Sphere"
pivot.y: -120
scale.x: 0.01
scale.z: 0.01
scale.y: 0.01
pickable: node.state === ""
}
Model {
id: faceSphere
objectName: "face"
position: face.position
opacity: 0
source: "#Sphere"
pivot.y: -80
scale.x: 0.04
scale.z: 0.04
scale.y: 0.04
pickable: node.state === ""
}
Model {
id: chestSphere
objectName: "chest"
position: node.position
opacity: 0
source: "#Sphere"
pivot.y: -110
scale.x: 0.02
scale.z: 0.02
scale.y: 0.02
pickable: node.state === ""
}
// Animations:
Timeline {
id: entryTimeline
animations: [
TimelineAnimation {
id: entryAnimation
onFinished: node.restoreDefaults()
running: false
loops: 1
duration: 10500
to: 10500
from: 0
}
]
startFrame: 0
endFrame: 10500
enabled: false
KeyframeGroup {
target: morphTarget38
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 1
frame: 1300
}
Keyframe {
value: 0.25
frame: 1800
}
Keyframe {
value: 0.25
frame: 10000
}
Keyframe {
value: 1
frame: 10500
}
}
KeyframeGroup {
target: morphTarget42
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1300
}
Keyframe {
value: 0.75
frame: 1800
}
Keyframe {
value: 0.75
frame: 10000
}
Keyframe {
value: 0
frame: 10500
}
}
KeyframeGroup {
target: morphTarget27
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1300
}
Keyframe {
value: 1
frame: 1800
}
Keyframe {
frame: 7499
value: 0
}
Keyframe {
frame: 7252
value: 0
}
Keyframe {
frame: 7000
value: 1
}
}
KeyframeGroup {
target: morphTarget28
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 1
frame: 1300
}
Keyframe {
value: 0
frame: 1800
}
Keyframe {
value: 0
frame: 9750
}
Keyframe {
value: 1
frame: 10250
}
}
KeyframeGroup {
target: morphTarget
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1310
}
Keyframe {
value: 1
frame: 1800
}
Keyframe {
value: 1
frame: 7000
}
Keyframe {
value: 0
frame: 7500
}
Keyframe {
frame: 7250
value: 0
}
}
KeyframeGroup {
target: morphTarget17
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 1
frame: 1300
}
Keyframe {
value: 0
frame: 1800
}
}
KeyframeGroup {
target: morphTarget21
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 7000
}
Keyframe {
value: 1
frame: 7250
}
Keyframe {
frame: 7500
value: 0
}
}
KeyframeGroup {
target: morphTarget22
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
frame: 7250
value: 0
}
Keyframe {
frame: 7500
value: 1
}
}
KeyframeGroup {
target: hand_l
property: "x"
Keyframe {
value: -0.07
frame: 0
}
Keyframe {
value: -0.07
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.77,0,0.175,1,1,1]
value: 2.49
frame: 2000
}
Keyframe {
easing.bezierCurve: [0.77,0,0.175,1,1,1]
value: 0.59
frame: 2300
}
Keyframe {
value: 1.89
frame: 2500
}
Keyframe {
value: 1.89
frame: 7000
}
Keyframe {
value: 0.75
frame: 7400
}
Keyframe {
value: 0.75
frame: 9700
}
Keyframe {
value: 1.89
frame: 10500
}
}
KeyframeGroup {
target: hand_l
property: "y"
Keyframe {
value: 0.5
frame: 0
}
Keyframe {
value: 0.5
frame: 1000
}
Keyframe {
value: 0.4
frame: 1500
}
Keyframe {
value: -0.2
frame: 2000
}
Keyframe {
easing.bezierCurve: [0.77,0,0.175,1,1,1]
value: 0.3
frame: 2300
}
Keyframe {
value: 0.5
frame: 2500
}
Keyframe {
easing.bezierCurve: [0.39,0.575,0.565,1,1,1]
value: -0.25
frame: 4100
}
Keyframe {
easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1]
value: 0.5
frame: 5150
}
Keyframe {
value: 0.5
frame: 7000
}
Keyframe {
value: 0.3
frame: 7400
}
Keyframe {
value: 0.3
frame: 9700
}
Keyframe {
easing.bezierCurve: [0.55,0.085,0.68,0.53,1,1]
value: 0.5
frame: 10500
}
}
KeyframeGroup {
target: hand_r
property: "x"
Keyframe {
value: 0.07
frame: 0
}
Keyframe {
value: 0.07
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.77,0,0.175,1,1,1]
value: -2.49
frame: 2000
}
Keyframe {
easing.bezierCurve: [0.77,0,0.175,1,1,1]
value: -0.59
frame: 2300
}
Keyframe {
value: -1.89
frame: 2500
}
Keyframe {
value: -1.89
frame: 4100
}
Keyframe {
value: -2.89
frame: 5150
}
Keyframe {
value: -2.89
frame: 7000
}
Keyframe {
value: -0.75
frame: 7400
}
Keyframe {
value: -0.75
frame: 9700
}
Keyframe {
value: -1.89
frame: 10500
}
}
KeyframeGroup {
target: hand_r
property: "y"
Keyframe {
value:0.5
frame: 0
}
Keyframe {
value: 0.5
frame: 1000
}
Keyframe {
value: 0.45
frame: 1500
}
Keyframe {
value: -0.2
frame: 2000
}
Keyframe {
easing.bezierCurve: [0.77,0,0.175,1,1,1]
value: 0.3
frame: 2300
}
Keyframe {
value: 0.5
frame: 2500
}
Keyframe {
easing.bezierCurve: [0.39,0.575,0.565,1,1,1]
value: -0.25
frame: 4100
}
Keyframe {
easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1]
value: 0.5
frame: 5150
}
Keyframe {
value: 0.3
frame: 7400
}
Keyframe {
value: 0.3
frame: 9700
}
Keyframe {
easing.bezierCurve: [0.55,0.085,0.68,0.53,1,1]
value: 0.5
frame: 10500
}
}
KeyframeGroup {
target: base
property: "z"
Keyframe {
value: -50
frame: 0
}
Keyframe {
value: 2
frame: 850
}
Keyframe {
value: 0
frame: 1572
}
Keyframe {
value: 0.88989
frame: 1200
}
Keyframe {
value: -1
frame: 2700
}
Keyframe {
value: -2.16239
frame: 3150
}
Keyframe {
value: -5
frame: 4100
}
Keyframe {
value: -4
frame: 5150
}
Keyframe {
easing.bezierCurve: [0.25,0.46,0.45,0.94,1,1]
value: -3
frame: 6250
}
Keyframe {
easing.bezierCurve: [0.55,0.085,0.68,0.53,1,1]
value: -4
frame: 7420
}
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: -1.89753
frame: 8950
}
Keyframe {
easing.bezierCurve: [0.215,0.61,0.355,1,1,1]
value: 0
frame: 9750
}
Keyframe {
easing.bezierCurve: [0.455,0.03,0.515,0.955,1,1]
value: -0.5
frame: 10000
}
Keyframe {
easing.bezierCurve: [0.645,0.045,0.355,1,1,1]
value: 0
frame: 10500
}
}
KeyframeGroup {
target: base
property: "y"
Keyframe {
value: -10
frame: 0
}
Keyframe {
value: 1
frame: 850
}
Keyframe {
value: 0.44494
frame: 1200
}
Keyframe {
value: 0
frame: 1572
}
Keyframe {
value: -0.5
frame: 2700
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: -0.25
frame: 3400
}
Keyframe {
value: 1
frame: 4100
}
Keyframe {
value: 1
frame: 5150
}
Keyframe {
easing.bezierCurve: [0.25,0.46,0.45,0.94,1,1]
value: 0.5
frame: 6250
}
Keyframe {
easing.bezierCurve: [0.55,0.085,0.68,0.53,1,1]
value: 1
frame: 7420
}
Keyframe {
value: 1
frame: 8950
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: 0
frame: 9750
}
Keyframe {
value: -0.25
frame: 10000
}
Keyframe {
value: 0
frame: 10500
}
}
KeyframeGroup {
target: base
property: "x"
Keyframe {
value: -50
frame: 0
}
Keyframe {
easing.bezierCurve: [0.215,0.61,0.355,1,1,1]
value: 3
frame: 850
}
Keyframe {
value: 0
frame: 1572
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: 1.33483
frame: 1200
}
Keyframe {
value: -1
frame: 2700
}
Keyframe {
value: 0
frame: 3150
}
Keyframe {
value: 12
frame: 4100
}
Keyframe {
value: 11
frame: 5150
}
Keyframe {
value: 11
frame: 7400
}
Keyframe {
easing.bezierCurve: [0.25,0.46,0.45,0.94,1,1]
value: 0
frame: 8950
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: 0
frame: 9750
}
}
KeyframeGroup {
target: base
property: "eulerRotation.z"
Keyframe {
easing.bezierCurve: [0.645,0.045,0.355,1,1,1]
value: -20
frame: 0
}
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: 0
frame: 850
}
Keyframe {
value: 4
frame: 1000
}
Keyframe {
value: 0
frame: 1572
}
Keyframe {
value: -3
frame: 2700
}
Keyframe {
value: -2.95444
frame: 3150
}
Keyframe {
value: 0
frame: 4100
}
Keyframe {
value: 0
frame: 5150
}
Keyframe {
value: 0
frame: 7400
}
Keyframe {
value: 5
frame: 7950
}
Keyframe {
value: 0
frame: 8950
}
Keyframe {
easing.bezierCurve: [0.455,0.03,0.515,0.955,1,1]
value: 0
frame: 9750
}
}
KeyframeGroup {
target: base
property: "eulerRotation.y"
Keyframe {
easing.bezierCurve: [0.895,0.03,0.685,0.22,1,1]
value: 70
frame: 0
}
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: 0
frame: 850
}
Keyframe {
value: -10
frame: 1000
}
Keyframe {
value: 0
frame: 1550
}
Keyframe {
value: 10
frame: 2700
}
Keyframe {
value: 90
frame: 3150
}
Keyframe {
easing.bezierCurve: [0.55,0.085,0.68,0.53,1,1]
value: -40
frame: 4100
}
Keyframe {
value: -30
frame: 5150
}
Keyframe {
value: -19.22502
frame: 7400
}
Keyframe {
value: -25
frame: 7950
}
Keyframe {
easing.bezierCurve: [0.39,0.575,0.565,1,1,1]
value: -360
frame: 9750
}
}
KeyframeGroup {
target: loweBody
property: "y"
Keyframe {
value: 0.3
frame: 0
}
Keyframe {
value: 0.3
frame: 1000
}
Keyframe {
value: -0.2
frame: 1200
}
Keyframe {
easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1]
value: -1.25
frame: 2000
}
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: -0.72568
frame: 2700
}
Keyframe {
easing.bezierCurve: [0.39,0.575,0.565,1,1,1]
value: -2
frame: 4110
}
Keyframe {
easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1]
value: -0.72568
frame: 5150
}
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: -1.2
frame: 7400
}
Keyframe {
easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1]
value: -0.72568
frame: 9750
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.y"
Keyframe {
value: 28
frame: 0
}
Keyframe {
value: 28
frame: 1500
}
Keyframe {
value: -100
frame: 2300
}
Keyframe {
value: -15
frame: 2500
}
Keyframe {
value: -145
frame: 2700
}
Keyframe {
value: -145
frame: 7000
}
Keyframe {
value: -118
frame: 7400
}
Keyframe {
value: -118
frame: 9700
}
Keyframe {
value: -145
frame: 10500
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.y"
Keyframe {
value: -10
frame: 1500
}
Keyframe {
value: -10
frame: 0
}
Keyframe {
value: 93
frame: 2300
}
Keyframe {
value: 3
frame: 2500
}
Keyframe {
value: 210
frame: 2700
}
Keyframe {
value: 210
frame: 4097
}
Keyframe {
value: 3
frame: 5149
}
Keyframe {
value: 3
frame: 6989
}
Keyframe {
value: 110
frame: 7422
}
Keyframe {
value: 110
frame: 9695
}
Keyframe {
value: 210
frame: 10499
}
}
KeyframeGroup {
target: hand_l
property: "z"
Keyframe {
value: -0.1
frame: 0
}
Keyframe {
value: -0.1
frame: 1000
}
Keyframe {
value: 0
frame: 2000
}
Keyframe {
value: 1.2
frame: 2300
}
Keyframe {
value: 0
frame: 2500
}
Keyframe {
value: -0.9
frame: 1500
}
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: -0.3
frame: 1300
}
Keyframe {
value: -1
frame: 4113
}
Keyframe {
value: 0
frame: 5149
}
Keyframe {
value: 0
frame: 6989
}
Keyframe {
value: 1.2
frame: 7422
}
Keyframe {
value: 1.2
frame: 9679
}
Keyframe {
value: 0
frame: 10500
}
}
KeyframeGroup {
target: hand_r
property: "z"
Keyframe {
value: -0.1
frame: 0
}
Keyframe {
value: -0.1
frame: 1000
}
Keyframe {
value: 0
frame: 2000
}
Keyframe {
value: 1.2
frame: 2300
}
Keyframe {
value: 0
frame: 2500
}
Keyframe {
value: -0.9
frame: 1500
}
Keyframe {
value: -0.4
frame: 1296
}
Keyframe {
value: -1
frame: 4113
}
Keyframe {
value: 0
frame: 5149
}
Keyframe {
value: 1.2
frame: 7422
}
Keyframe {
value: 1.2
frame: 9695
}
Keyframe {
value: 0
frame: 10499
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.x"
Keyframe {
value: 86
frame: 1500
}
Keyframe {
value: 86
frame: 0
}
Keyframe {
value: 40
frame: 2300
}
Keyframe {
value: 49
frame: 2500
}
Keyframe {
value: 10
frame: 2700
}
Keyframe {
value: 10
frame: 4097
}
Keyframe {
value: 49
frame: 5149
}
Keyframe {
value: 49
frame: 5149
}
Keyframe {
value: 9
frame: 5600
}
Keyframe {
value: 49
frame: 6046
}
Keyframe {
value: 9
frame: 6500
}
Keyframe {
value: 49
frame: 6989
}
Keyframe {
value: 36
frame: 7422
}
Keyframe {
value: 36
frame: 9695
}
Keyframe {
value: 10
frame: 10499
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.z"
Keyframe {
value: 108
frame: 1500
}
Keyframe {
value: 108
frame: 0
}
Keyframe {
value: 90
frame: 2300
}
Keyframe {
value: 84
frame: 2500
}
Keyframe {
value: 185
frame: 2700
}
Keyframe {
value: 185
frame: 4097
}
Keyframe {
value: 84
frame: 5149
}
Keyframe {
value: 4
frame: 5600
}
Keyframe {
value: 84
frame: 6050
}
Keyframe {
value: 4
frame: 6500
}
Keyframe {
value: 84
frame: 6989
}
Keyframe {
value: 86
frame: 7422
}
Keyframe {
value: 86
frame: 9695
}
Keyframe {
value: 185
frame: 10499
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.x"
Keyframe {
value: -3.02782
frame: 1500
}
Keyframe {
value: -37
frame: 2300
}
Keyframe {
value: 0
frame: 2700
}
Keyframe {
value: -15
frame: 2500
}
Keyframe {
value: -3.02998
frame: 0
}
Keyframe {
value: 0
frame: 6989
}
Keyframe {
value: -37
frame: 7422
}
Keyframe {
value: -37
frame: 9679
}
Keyframe {
value: 0
frame: 10500
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.z"
Keyframe {
value: -93
frame: 2300
}
Keyframe {
value: -86.04612
frame: 1500
}
Keyframe {
value: -180
frame: 2700
}
Keyframe {
value: -88
frame: 2500
}
Keyframe {
value: -86.05
frame: 0
}
Keyframe {
value: -180
frame: 6989
}
Keyframe {
value: -86
frame: 7422
}
Keyframe {
value: -86
frame: 9679
}
Keyframe {
value: -180
frame: 10500
}
}
KeyframeGroup {
target: base
property: "eulerRotation.x"
Keyframe {
value: 0
frame: 2700
}
Keyframe {
value: 35
frame: 3154
}
Keyframe {
value: 0
frame: 4100
}
Keyframe {
value: 5
frame: 5150
}
Keyframe {
value: 4.97468
frame: 7400
}
Keyframe {
value: 0
frame: 9750
}
Keyframe {
easing.bezierCurve: [0.165,0.84,0.44,1,1,1]
value: 2
frame: 10000
}
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: 0
frame: 10500
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "scale.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "scale.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "scale.z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_index2
property: "scale.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_index2
property: "scale.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_index2
property: "scale.z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_middle2
property: "scale.x"
Keyframe {
value: 1
frame: 1550
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 0
frame: 0
}
}
KeyframeGroup {
target: hand_l_middle2
property: "scale.y"
Keyframe {
value: 1
frame: 1550
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 0
frame: 0
}
}
KeyframeGroup {
target: hand_l_middle2
property: "scale.z"
Keyframe {
value: 1
frame: 1550
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 0
frame: 0
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "scale.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "scale.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "scale.z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "scale.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "scale.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "scale.z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_index2
property: "scale.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_index2
property: "scale.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_index2
property: "scale.z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_middle2
property: "scale.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_middle2
property: "scale.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_middle2
property: "scale.z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "scale.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "scale.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "scale.z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1200
}
Keyframe {
value: 1
frame: 1550
}
}
KeyframeGroup {
target: loweBody
property: "z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: -0.6
frame: 1200
}
Keyframe {
value: 0
frame: 1000
}
Keyframe {
value: -0.25
frame: 2000
}
Keyframe {
value: -0.25
frame: 9726
}
Keyframe {
value: -0.25
frame: 2706
}
Keyframe {
easing.bezierCurve: [0.25,0.46,0.45,0.94,1,1]
value: -1
frame: 4113
}
Keyframe {
value: -0.25
frame: 5149
}
Keyframe {
value: -0.25
frame: 7422
}
}
KeyframeGroup {
target: loweBody
property: "eulerRotation.x"
Keyframe {
value: -50
frame: 0
}
Keyframe {
value: -6
frame: 2000
}
Keyframe {
value: -50
frame: 1000
}
}
KeyframeGroup {
target: loweBody
property: "eulerRotation.y"
Keyframe {
value: -172
frame: 0
}
Keyframe {
value: -144
frame: 2000
}
Keyframe {
value: -172
frame: 1000
}
}
KeyframeGroup {
target: loweBody
property: "eulerRotation.z"
Keyframe {
value: 173
frame: 0
}
Keyframe {
value: 175
frame: 2000
}
Keyframe {
value: 173
frame: 1000
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "eulerRotation.x"
Keyframe {
value: -0.17737
frame: 7422
}
Keyframe {
value: 15
frame: 7700
}
Keyframe {
value: 15
frame: 9664
}
Keyframe {
value: -0.17737
frame: 9896
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "eulerRotation.z"
Keyframe {
value: 0.14769
frame: 7422
}
Keyframe {
value: -88
frame: 7700
}
Keyframe {
value: -88
frame: 9664
}
Keyframe {
value: 0.14769
frame: 9896
}
}
KeyframeGroup {
target: hand_l_index2
property: "eulerRotation.x"
Keyframe {
value: -0.10421
frame: 7422
}
Keyframe {
value: 18
frame: 7700
}
Keyframe {
value: 18
frame: 9664
}
Keyframe {
value: -0.10421
frame: 9896
}
}
KeyframeGroup {
target: hand_l_index2
property: "eulerRotation.z"
Keyframe {
value: 0.23931
frame: 7422
}
Keyframe {
value: -74
frame: 7700
}
Keyframe {
value: -74
frame: 9664
}
Keyframe {
value: 0.23931
frame: 9896
}
}
KeyframeGroup {
target: hand_l_middle2
property: "eulerRotation.x"
Keyframe {
value: -0.03325
frame: 7422
}
Keyframe {
value: 2
frame: 7700
}
Keyframe {
value: 2
frame: 9664
}
Keyframe {
value: -0.03325
frame: 9896
}
}
KeyframeGroup {
target: hand_l_middle2
property: "eulerRotation.y"
Keyframe {
value: -7.87009
frame: 7422
}
Keyframe {
value: -47.87009
frame: 7700
}
Keyframe {
value: -47.87009
frame: 9664
}
Keyframe {
value: -7.87009
frame: 9896
}
}
KeyframeGroup {
target: hand_l_middle2
property: "eulerRotation.z"
Keyframe {
value: 0.2939
frame: 7422
}
Keyframe {
value: -87
frame: 7700
}
Keyframe {
value: -87
frame: 9664
}
Keyframe {
value: 0.2939
frame: 9896
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "eulerRotation.x"
Keyframe {
value: 0.09291
frame: 7422
}
Keyframe {
value: 45
frame: 7700
}
Keyframe {
value: 45
frame: 9664
}
Keyframe {
value: 0.09291
frame: 9896
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "eulerRotation.y"
Keyframe {
value: -30.14072
frame: 7422
}
Keyframe {
value: -30.14072
frame: 7700
}
Keyframe {
value: -30.14072
frame: 9664
}
Keyframe {
value: -30.14072
frame: 9896
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "eulerRotation.z"
Keyframe {
value: 0.29378
frame: 7422
}
Keyframe {
value: -94
frame: 7700
}
Keyframe {
value: -94
frame: 9664
}
Keyframe {
value: 0.29378
frame: 9896
}
}
KeyframeGroup {
target: hand_l_index2
property: "eulerRotation.y"
Keyframe {
value: -58.1828
frame: 7700
}
Keyframe {
value: 0
frame: 7422
}
Keyframe {
value: -58.1828
frame: 9664
}
Keyframe {
value: 0
frame: 9896
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "eulerRotation.x"
Keyframe {
frame: 7422
value: -0.10088
}
Keyframe {
frame: 7700
value: 25
}
Keyframe {
frame: 9664
value: 25
}
Keyframe {
frame: 9896
value: -0.10088
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "eulerRotation.y"
Keyframe {
frame: 7422
value: -14.99523
}
Keyframe {
frame: 7700
value: -80
}
Keyframe {
frame: 9664
value: -80
}
Keyframe {
frame: 9896
value: -14.99523
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "eulerRotation.z"
Keyframe {
frame: 7422
value: 0.20759
}
Keyframe {
frame: 7700
value: -79
}
Keyframe {
frame: 9664
value: -79
}
Keyframe {
frame: 9896
value: 0.20759
}
}
KeyframeGroup {
target: hand_r_index2
property: "eulerRotation.x"
Keyframe {
frame: 7422
value: 0.64012
}
Keyframe {
frame: 7700
value: 71
}
Keyframe {
frame: 9664
value: 71
}
Keyframe {
frame: 9896
value: 0.64012
}
}
KeyframeGroup {
target: hand_r_index2
property: "eulerRotation.y"
Keyframe {
frame: 7422
value: -1.55826
}
Keyframe {
frame: 7700
value: -12
}
Keyframe {
frame: 9664
value: -12
}
Keyframe {
frame: 9896
value: -1.55826
}
}
KeyframeGroup {
target: hand_r_index2
property: "eulerRotation.z"
Keyframe {
frame: 7422
value: 1.28809
}
Keyframe {
frame: 7700
value: -31
}
Keyframe {
frame: 9664
value: -31
}
Keyframe {
frame: 9896
value: 1.28809
}
}
KeyframeGroup {
target: hand_r_middle2
property: "eulerRotation.x"
Keyframe {
frame: 7422
value: -0.29565
}
Keyframe {
frame: 7700
value: 62
}
Keyframe {
frame: 9664
value: 62
}
Keyframe {
frame: 9896
value: -0.29565
}
}
KeyframeGroup {
target: hand_r_middle2
property: "eulerRotation.y"
Keyframe {
frame: 7422
value: -7.64122
}
Keyframe {
frame: 7700
value: -21
}
Keyframe {
frame: 9664
value: -21
}
Keyframe {
frame: 9896
value: -7.64122
}
}
KeyframeGroup {
target: hand_r_middle2
property: "eulerRotation.z"
Keyframe {
frame: 7422
value: 0.01238
}
Keyframe {
frame: 7700
value: -46
}
Keyframe {
frame: 9664
value: -46
}
Keyframe {
frame: 9896
value: 0.01238
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "eulerRotation.x"
Keyframe {
frame: 7422
value: -0.28751
}
Keyframe {
frame: 7700
value: 6
}
Keyframe {
frame: 9664
value: 6
}
Keyframe {
frame: 9896
value: -0.28751
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "eulerRotation.y"
Keyframe {
frame: 7422
value: -29.49459
}
Keyframe {
frame: 7700
value: -47
}
Keyframe {
frame: 9664
value: -47
}
Keyframe {
frame: 9896
value: -29.49459
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "eulerRotation.z"
Keyframe {
frame: 7422
value: 0.11119
}
Keyframe {
frame: 7700
value: -74
}
Keyframe {
frame: 9664
value: -74
}
Keyframe {
frame: 9896
value: 0.11119
}
}
KeyframeGroup {
target: morphTarget32
property: "weight"
Keyframe {
frame: 0
value: 0
}
Keyframe {
frame: 7000
value: 0
}
Keyframe {
frame: 7250
value: 1
}
Keyframe {
frame: 7500
value: 0
}
}
KeyframeGroup {
target: morphTarget33
property: "weight"
Keyframe {
frame: 7500
value: 1
}
Keyframe {
frame: 7250
value: 0
}
Keyframe {
frame: 0
value: 0
}
Keyframe {
frame: 9750
value: 1
}
Keyframe {
frame: 10251
value: 0
}
}
}
Timeline {
id: backflipTimeline
animations: [
TimelineAnimation {
id: backflipAnimation
onFinished: node.restoreDefaults()
running: false
loops: 1
duration: 3000
to: 3000
from: 0
}
]
startFrame: 0
endFrame: 3000
enabled: false
KeyframeGroup {
target: base
property: "z"
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: -20
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.77,0,0.327,0.749,1,1]
value: 0
frame: 3000
}
}
KeyframeGroup {
target: base
property: "pivot.y"
Keyframe {
value: 10
frame: 1000
}
Keyframe {
value: 5
frame: 2000
}
Keyframe {
value: 0
frame: 3000
}
}
KeyframeGroup {
target: base
property: "y"
Keyframe {
value: 10
frame: 1000
}
Keyframe {
value: 5
frame: 2000
}
Keyframe {
value: 0
frame: 3000
}
}
KeyframeGroup {
target: base
property: "eulerRotation.x"
Keyframe {
easing.bezierCurve: [0.77,0,0.175,1,1,1]
value: -350
frame: 2000
}
Keyframe {
easing.bezierCurve: [0.215,0.61,0.355,1,1,1]
value: 10
frame: 1000
}
Keyframe {
value: -360
frame: 3000
}
}
KeyframeGroup {
target: loweBody
property: "y"
Keyframe {
value: -0.9
frame: 500
}
Keyframe {
easing.bezierCurve: [0.0553,0.0385,0.0796,-0.0381,0.109,-0.0381,0.138,-0.0381,0.185,0.0276,0.222,0.00353,0.259,-0.0205,0.332,-0.25,0.385,-0.252,0.462,-0.14,0.543,1.18,0.617,1.24,0.676,1.24,0.738,1,0.778,0.977,0.817,0.953,0.855,1.02,0.889,1.03,0.924,1.03,0.951,0.964,1,1]
value: 0
frame: 1400
}
Keyframe {
easing.bezierCurve: [0.0485,0.00571,0.0592,0.0429,0.0854,0.0451,0.111,0.0473,0.115,-0.0316,0.153,-0.0316,0.191,-0.0316,0.212,0.0991,0.244,0.1,0.277,0.101,0.283,-0.0454,0.337,-0.0454,0.391,-0.0454,0.427,0.495,0.478,0.534,0.529,0.573,0.55,1.13,0.622,1.13,0.694,1.13,0.729,0.934,0.761,0.934,0.793,0.934,0.811,1.04,0.85,1.04,0.889,1.03,0.902,0.962,0.926,0.962,0.949,0.962,0.959,1,1,1]
value: -0.72568
frame: 2400
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.x"
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: -15
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: -0.18
frame: 3000
}
Keyframe {
value: 21.06211
frame: 500
}
Keyframe {
value: 0
frame: 0
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.z"
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: -88
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: -178.92
frame: 3000
}
Keyframe {
value: -182.90512
frame: 500
}
Keyframe {
value: -178.92
frame: 0
}
}
KeyframeGroup {
target: hand_l
property: "x"
Keyframe {
value: 1.89
frame: 0
}
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: 1.42
frame: 1000
}
Keyframe {
value: 1.89
frame: 3000
}
}
KeyframeGroup {
target: hand_r
property: "x"
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: -1.42
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.2,0.2,0.8,0.8,1,1]
value: -1.92
frame: 3000
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.z"
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: 84
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: 185
frame: 3000
}
Keyframe {
value: 185
frame: 500
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.x"
Keyframe {
easing.bezierCurve: [0.55,0.055,0.675,0.19,1,1]
value: 49
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: 10
frame: 3000
}
Keyframe {
value: 10
frame: 500
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.y"
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: 3
frame: 999
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: 210
frame: 3001
}
Keyframe {
value: 210
frame: 500
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.y"
Keyframe {
value: -145
frame: 500
}
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: -15
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: -145
frame: 3000
}
Keyframe {
value: -145
frame: 0
}
}
}
Timeline {
id: bouncingTimeline
animations: [
TimelineAnimation {
id: bouncingAnimation
onFinished: node.restoreDefaults()
running: false
loops: 1
duration: 2000
to: 2000
from: 0
}
]
startFrame: 0
endFrame: 2000
enabled: false
KeyframeGroup {
target: loweBody
property: "y"
Keyframe {
easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1]
value: -2
frame: 750
}
Keyframe {
easing.bezierCurve: [0.0699,0.00134,0.0845,0.0779,0.112,0.0779,0.139,0.0779,0.183,-0.00523,0.224,-0.00523,0.266,-0.00523,0.326,0.253,0.387,0.253,0.449,0.253,0.492,0.00134,0.594,-0.00304,0.696,-0.00742,0.767,0.8,1,1]
value: -0.73
frame: 1500
}
}
KeyframeGroup {
target: loweBody
property: "scale.x"
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: 0.7
frame: 750
}
Keyframe {
value: 1
frame: 1500
}
}
KeyframeGroup {
target: loweBody
property: "scale.y"
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: 0.7
frame: 750
}
Keyframe {
value: 1
frame: 1500
}
}
KeyframeGroup {
target: loweBody
property: "scale.z"
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: 0.7
frame: 750
}
Keyframe {
value: 0.84
frame: 1500
}
}
KeyframeGroup {
target: base
property: "y"
Keyframe {
easing.bezierCurve: [0.645,0.045,0.355,1,1,1]
value: -1
frame: 750
}
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: 0
frame: 1500
}
}
KeyframeGroup {
target: hand_l
property: "y"
Keyframe {
easing.bezierCurve: [0.455,0.03,0.515,0.955,1,1]
value: 0
frame: 750
}
Keyframe {
value: 0.5
frame: 1500
}
}
KeyframeGroup {
target: hand_r
property: "y"
Keyframe {
easing.bezierCurve: [0.455,0.03,0.515,0.955,1,1]
value: 0
frame: 750
}
Keyframe {
value: 0.5
frame: 1500
}
}
}
Timeline {
id: rightHandWavingTimeline
animations: [
TimelineAnimation {
id: rightHandWavingAnimation
onFinished: node.restoreDefaults()
pingPong: false
running: false
loops: 1
duration: 2000
to: 2000
from: 0
}
]
startFrame: 0
endFrame: 2000
enabled: false
KeyframeGroup {
target: hand_r
property: "x"
Keyframe {
value: -2.89
frame: 400
}
Keyframe {
value: -1.89
frame: 2000
}
Keyframe {
value: -2.89
frame: 1600
}
}
KeyframeGroup {
target: hand_r
property: "y"
Keyframe {
value: 1
frame: 400
}
Keyframe {
value: 0.5
frame: 2000
}
Keyframe {
value: 1
frame: 1600
}
}
KeyframeGroup {
target: hand_r
property: "z"
Keyframe {
value: 1
frame: 400
}
Keyframe {
value: 0
frame: 2000
}
Keyframe {
value: 1
frame: 1600
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.x"
Keyframe {
value: 49
frame: 400
}
Keyframe {
value: 10
frame: 2000
}
Keyframe {
value: 49
frame: 1600
}
Keyframe {
value: 9
frame: 700
}
Keyframe {
value: 9
frame: 1300
}
Keyframe {
value: 49
frame: 1000
}
Keyframe {
value: 10
frame: 0
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.y"
Keyframe {
value: 3
frame: 400
}
Keyframe {
value: 210
frame: 2000
}
Keyframe {
value: 3
frame: 1600
}
Keyframe {
value: 210
frame: 0
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.z"
Keyframe {
value: 84
frame: 400
}
Keyframe {
value: 185
frame: 2000
}
Keyframe {
value: 84
frame: 1600
}
Keyframe {
value: 4
frame: 700
}
Keyframe {
value: 4
frame: 1300
}
Keyframe {
value: 84
frame: 1000
}
Keyframe {
value: 184
frame: 0
}
}
KeyframeGroup {
target: morphTarget27
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 1
frame: 400
}
Keyframe {
value: 1
frame: 1600
}
Keyframe {
value: 0
frame: 2000
}
}
KeyframeGroup {
target: morphTarget28
property: "weight"
Keyframe {
value: 1
frame: 2000
}
Keyframe {
value: 0
frame: 1600
}
Keyframe {
value: 0
frame: 400
}
Keyframe {
value: 1
frame: 0
}
}
KeyframeGroup {
target: morphTarget38
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 0.25
frame: 400
}
Keyframe {
value: 0.25
frame: 1600
}
Keyframe {
value: 1
frame: 2000
}
}
KeyframeGroup {
target: morphTarget42
property: "weight"
Keyframe {
value: 0
frame: 2000
}
Keyframe {
value: 0.75
frame: 1600
}
Keyframe {
value: 0.75
frame: 400
}
Keyframe {
value: 0
frame: 0
}
}
}
Timeline {
id: exitTimeline
animations: [
TimelineAnimation {
id: exitAnimation
onFinished: node.restoreDefaults()
running: false
loops: 1
duration: 3000
to: 3000
from: 0
}
]
startFrame: 0
endFrame: 3000
enabled: false
KeyframeGroup {
target: hand_l
property: "eulerRotation.x"
Keyframe {
value: -3.03
frame: 300
}
Keyframe {
value: -3.03
frame: 750
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.y"
Keyframe {
value: 28
frame: 300
}
Keyframe {
value: 28
frame: 750
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.z"
Keyframe {
value: -86.05
frame: 300
}
Keyframe {
value: -86.05
frame: 750
}
}
KeyframeGroup {
target: hand_l
property: "x"
Keyframe {
value: 1.89
frame: 500
}
Keyframe {
value: -0.07
frame: 750
}
}
KeyframeGroup {
target: hand_l
property: "y"
Keyframe {
value: 0.5
frame: 500
}
}
KeyframeGroup {
target: hand_l
property: "z"
Keyframe {
value: -0.1
frame: 300
}
Keyframe {
value: -0.1
frame: 500
}
}
KeyframeGroup {
target: hand_r
property: "x"
Keyframe {
value: -1.89
frame: 500
}
Keyframe {
value: 0.07
frame: 750
}
}
KeyframeGroup {
target: hand_r
property: "y"
Keyframe {
value: 0.5
frame: 500
}
}
KeyframeGroup {
target: hand_r
property: "z"
Keyframe {
value: -0.1
frame: 300
}
Keyframe {
value: -0.1
frame: 500
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.x"
Keyframe {
value: 86
frame: 300
}
Keyframe {
value: 86
frame: 750
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.y"
Keyframe {
value: -10
frame: 300
}
Keyframe {
value: -10
frame: 750
}
}
KeyframeGroup {
target: hand_r
property: "eulerRotation.z"
Keyframe {
value: 108
frame: 300
}
Keyframe {
value: 108
frame: 750
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "scale.x"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_thumb2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_index2
property: "scale.x"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_index2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_index2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_middle2
property: "scale.x"
Keyframe {
value: 0.99
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_middle2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_middle2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "scale.x"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_l_pinky2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "scale.x"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_thumb2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_index2
property: "scale.x"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_index2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_index2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_middle2
property: "scale.x"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_middle2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_middle2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "scale.x"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "scale.y"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: hand_r_pinky2
property: "scale.z"
Keyframe {
value: 1
frame: 300
}
Keyframe {
value: 0
frame: 500
}
}
KeyframeGroup {
target: loweBody
property: "y"
Keyframe {
value: -0.72568
frame: 500
}
Keyframe {
value: -0.2
frame: 750
}
Keyframe {
value: 0.3
frame: 850
}
}
KeyframeGroup {
target: loweBody
property: "z"
Keyframe {
value: -0.5
frame: 500
}
Keyframe {
value: -0.5
frame: 750
}
Keyframe {
value: 0
frame: 850
}
}
KeyframeGroup {
target: base
property: "z"
Keyframe {
value: -3
frame: 850
}
Keyframe {
value: -80
frame: 3000
}
}
KeyframeGroup {
target: base
property: "x"
Keyframe {
value: -2
frame: 850
}
Keyframe {
easing.bezierCurve: [0.215,0.61,0.355,1,1,1]
value: 30
frame: 3000
}
}
KeyframeGroup {
target: base
property: "eulerRotation.x"
Keyframe {
value: 10
frame: 850
}
}
KeyframeGroup {
target: base
property: "eulerRotation.y"
Keyframe {
value: 30
frame: 850
}
Keyframe {
value: 130
frame: 1200
}
}
KeyframeGroup {
target: base
property: "y"
Keyframe {
easing.bezierCurve: [0.316,0.525,0.744,1.42,1,1]
value: -1
frame: 850
}
Keyframe {
value: -2
frame: 3000
}
}
KeyframeGroup {
target: loweBody
property: "eulerRotation.x"
Keyframe {
value: -50
frame: 500
}
}
KeyframeGroup {
target: loweBody
property: "eulerRotation.y"
Keyframe {
value: -172
frame: 500
}
}
KeyframeGroup {
target: loweBody
property: "eulerRotation.z"
Keyframe {
value: 173
frame: 500
}
}
}
Timeline {
id: leftHandWavingTimeline
animations: [
TimelineAnimation {
id: leftHandWavingAnimation
onFinished: node.restoreDefaults()
running: false
loops: 1
duration: 2000
to: 2000
from: 0
}
]
startFrame: 0
endFrame: 2000
enabled: false
KeyframeGroup {
target: hand_l
property: "x"
Keyframe {
value: 2.89
frame: 400
}
Keyframe {
value: 2.89
frame: 1600
}
Keyframe {
value: 1.89
frame: 2000
}
}
KeyframeGroup {
target: hand_l
property: "y"
Keyframe {
value: 1
frame: 400
}
Keyframe {
value: 1
frame: 1600
}
Keyframe {
value: 0.5
frame: 2000
}
}
KeyframeGroup {
target: hand_l
property: "z"
Keyframe {
value: 1
frame: 400
}
Keyframe {
value: 1
frame: 1600
}
Keyframe {
value: -0.1
frame: 2000
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.x"
Keyframe {
value: -15
frame: 400
}
Keyframe {
value: -5
frame: 700
}
Keyframe {
value: -15
frame: 1000
}
Keyframe {
value: -5
frame: 1300
}
Keyframe {
value: -15
frame: 1600
}
Keyframe {
value: -0.18
frame: 2000
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.y"
Keyframe {
value: -15
frame: 400
}
Keyframe {
value: -30
frame: 1600
}
Keyframe {
value: -145
frame: 2000
}
Keyframe {
value: -40
frame: 700
}
}
KeyframeGroup {
target: hand_l
property: "eulerRotation.z"
Keyframe {
value: -88
frame: 400
}
Keyframe {
value: -30
frame: 700
}
Keyframe {
value: -86.05
frame: 1000
}
Keyframe {
value: -30
frame: 1300
}
Keyframe {
value: -86.05
frame: 1600
}
Keyframe {
value: -178.92
frame: 2000
}
}
KeyframeGroup {
target: morphTarget38
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 0.25
frame: 400
}
Keyframe {
value: 0.25
frame: 1600
}
Keyframe {
value: 1
frame: 2000
}
}
KeyframeGroup {
target: morphTarget42
property: "weight"
Keyframe {
value: 0
frame: 2000
}
Keyframe {
value: 0.75
frame: 1600
}
Keyframe {
value: 0.75
frame: 400
}
Keyframe {
value: 0
frame: 0
}
}
KeyframeGroup {
target: morphTarget27
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 1
frame: 400
}
Keyframe {
value: 1
frame: 1600
}
Keyframe {
value: 0
frame: 2000
}
}
KeyframeGroup {
target: morphTarget28
property: "weight"
Keyframe {
value: 1
frame: 2000
}
Keyframe {
value: 0
frame: 1600
}
Keyframe {
value: 0
frame: 400
}
Keyframe {
value: 1
frame: 0
}
}
}
Timeline {
id: exploreTimeline
animations: [
TimelineAnimation {
id: exploreAnimation
onFinished: node.restoreDefaults()
running: false
loops: 1
duration: 10250
to: 10250
from: 0
}
]
startFrame: 0
endFrame: 10250
enabled: false
KeyframeGroup {
target: base
property: "x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
easing.bezierCurve: [0.25,0.46,0.45,0.94,1,1]
value: 10
frame: 1000
}
Keyframe {
value: 11
frame: 1500
}
Keyframe {
value: 50
frame: 3500
}
Keyframe {
easing.bezierCurve: [0.25,0.46,0.45,0.94,1,1]
value: 0
frame: 5500
}
Keyframe {
easing.bezierCurve: [0.445,0.05,0.55,0.95,1,1]
value: -30
frame: 8000
}
Keyframe {
easing.bezierCurve: [0.6,-0.28,0.735,0.045,1,1]
value: 0
frame: 9700
}
}
KeyframeGroup {
target: base
property: "y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
easing.bezierCurve: [0.6,-0.28,0.735,0.045,1,1]
value: 1
frame: 1000
}
Keyframe {
easing.bezierCurve: [0.55,0.085,0.68,0.53,1,1]
value: 2
frame: 1500
}
Keyframe {
easing.bezierCurve: [0.175,0.885,0.32,1.27,1,1]
value: 10
frame: 3500
}
Keyframe {
easing.bezierCurve: [0.215,0.61,0.355,1,1,1]
value: 0
frame: 5500
}
Keyframe {
easing.bezierCurve: [0.895,0.03,0.685,0.22,1,1]
value: 20
frame: 8000
}
Keyframe {
easing.bezierCurve: [0.55,0.085,0.68,0.53,1,1]
value: 0
frame: 9700
}
}
KeyframeGroup {
target: base
property: "z"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 1000
}
Keyframe {
value: 0
frame: 1500
}
Keyframe {
value: -50
frame: 3500
}
Keyframe {
value: -50
frame: 5500
}
Keyframe {
value: -70
frame: 8000
}
Keyframe {
easing.bezierCurve: [0.47,0,0.745,0.715,1,1]
value: 0
frame: 9700
}
}
KeyframeGroup {
target: base
property: "eulerRotation.x"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 5
frame: 1000
}
Keyframe {
value: -5
frame: 1500
}
Keyframe {
value: 10
frame: 3500
}
Keyframe {
value: 10
frame: 5500
}
Keyframe {
value: -10
frame: 8000
}
Keyframe {
value: 0
frame: 9700
}
}
KeyframeGroup {
target: base
property: "eulerRotation.y"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 40
frame: 1000
}
Keyframe {
value: 40
frame: 1500
}
Keyframe {
value: 140
frame: 3500
}
Keyframe {
value: 180
frame: 5500
}
Keyframe {
value: 270
frame: 4000
}
Keyframe {
value: 680
frame: 8000
}
Keyframe {
value: 590
frame: 6500
}
Keyframe {
easing.bezierCurve: [0.68,-0.55,0.265,1.55,1,1]
value: 720
frame: 9700
}
}
KeyframeGroup {
target: morphTarget38
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 0
frame: 500
}
Keyframe {
value: 0
frame: 9700
}
Keyframe {
value: 1
frame: 10250
}
}
KeyframeGroup {
target: morphTarget39
property: "weight"
Keyframe {
value: 0
frame: 10250
}
Keyframe {
value: 1
frame: 9700
}
Keyframe {
value: 1
frame: 500
}
Keyframe {
value: 0
frame: 0
}
}
KeyframeGroup {
target: morphTarget28
property: "weight"
Keyframe {
value: 1
frame: 10250
}
Keyframe {
value: 0
frame: 9700
}
Keyframe {
value: 0
frame: 500
}
Keyframe {
value: 1
frame: 0
}
}
KeyframeGroup {
target: morphTarget27
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 1
frame: 500
}
Keyframe {
value: 1
frame: 9700
}
Keyframe {
value: 0
frame: 10250
}
}
}
Timeline {
id: faceTimeline
animations: [
TimelineAnimation {
id: faceAnimation
onFinished: node.restoreDefaults()
running: false
loops: 1
duration: 5000
to: 5000
from: 0
}
]
startFrame: 0
endFrame: 5000
enabled: false
KeyframeGroup {
target: morphTarget27
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 250
}
Keyframe {
value: 1
frame: 500
}
Keyframe {
value: 1
frame: 1500
}
Keyframe {
value: 0
frame: 1750
}
Keyframe {
value: 0
frame: 2000
}
}
KeyframeGroup {
target: morphTarget28
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 0
frame: 250
}
Keyframe {
value: 0
frame: 1750
}
Keyframe {
value: 1
frame: 2000
}
Keyframe {
value: 1
frame: 3000
}
Keyframe {
value: 0
frame: 3250
}
Keyframe {
value: 0
frame: 4750
}
Keyframe {
value: 1
frame: 5000
}
}
KeyframeGroup {
target: morphTarget38
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 0.25
frame: 500
}
Keyframe {
value: 0.25
frame: 1500
}
Keyframe {
value: 1
frame: 2000
}
Keyframe {
value: 1
frame: 3000
}
Keyframe {
value: 0
frame: 3500
}
Keyframe {
value: 0
frame: 4500
}
Keyframe {
value: 1
frame: 5000
}
}
KeyframeGroup {
target: morphTarget42
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0.75
frame: 500
}
Keyframe {
value: 0.75
frame: 1500
}
Keyframe {
value: 0
frame: 2000
}
}
KeyframeGroup {
target: morphTarget32
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 1
frame: 250
}
Keyframe {
value: 0
frame: 500
}
Keyframe {
value: 0
frame: 1500
}
Keyframe {
value: 1
frame: 1750
}
Keyframe {
value: 0
frame: 2000
}
Keyframe {
value: 0
frame: 3000
}
Keyframe {
value: 1
frame: 3250
}
Keyframe {
value: 0
frame: 3500
}
Keyframe {
value: 0
frame: 4500
}
Keyframe {
value: 1
frame: 4750
}
Keyframe {
value: 0
frame: 5000
}
}
KeyframeGroup {
target: morphTarget22
property: "weight"
Keyframe {
value: 1
frame: 0
}
Keyframe {
value: 0
frame: 250
}
Keyframe {
value: 0
frame: 1750
}
Keyframe {
value: 1
frame: 2000
}
Keyframe {
value: 1
frame: 3000
}
Keyframe {
value: 0
frame: 3250
}
Keyframe {
value: 0
frame: 4750
}
Keyframe {
value: 1
frame: 5000
}
}
KeyframeGroup {
target: morphTarget
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 250
}
Keyframe {
value: 1
frame: 500
}
Keyframe {
value: 1
frame: 1500
}
Keyframe {
value: 0
frame: 1750
}
Keyframe {
value: 0
frame: 2000
}
}
KeyframeGroup {
target: morphTarget21
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 1
frame: 250
}
Keyframe {
value: 0
frame: 500
}
Keyframe {
value: 0
frame: 1500
}
Keyframe {
value: 1
frame: 1750
}
Keyframe {
value: 0
frame: 2000
}
Keyframe {
value: 0
frame: 3000
}
Keyframe {
value: 1
frame: 3250
}
Keyframe {
value: 0
frame: 3500
}
Keyframe {
value: 0
frame: 4500
}
Keyframe {
value: 1
frame: 4750
}
Keyframe {
value: 0
frame: 5000
}
}
KeyframeGroup {
target: morphTarget34
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 3250
}
Keyframe {
value: 1
frame: 3500
}
Keyframe {
value: 1
frame: 4500
}
Keyframe {
value: 0
frame: 4750
}
}
KeyframeGroup {
target: morphTarget23
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 3250
}
Keyframe {
value: 1
frame: 3500
}
Keyframe {
value: 1
frame: 4500
}
Keyframe {
value: 0
frame: 4750
}
}
KeyframeGroup {
target: morphTarget40
property: "weight"
Keyframe {
value: 0
frame: 0
}
Keyframe {
value: 0
frame: 3000
}
Keyframe {
value: 1
frame: 3500
}
Keyframe {
value: 1
frame: 4500
}
Keyframe {
value: 0
frame: 5000
}
}
}
states: [
State {
name: "EntryAnimation"
when: node.currentAnim === VirtualAssistant.ANIMATION.ENTRY
PropertyChanges {
target: entryTimeline
enabled: true
}
PropertyChanges {
target: entryAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "Backflip"
when: node.currentAnim === VirtualAssistant.ANIMATION.BACKFLIP
PropertyChanges {
target: backflipTimeline
enabled: true
}
PropertyChanges {
target: backflipAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "LowBodyBouncing"
when: node.currentAnim === VirtualAssistant.ANIMATION.BOUNCING
PropertyChanges {
target: bouncingTimeline
enabled: true
}
PropertyChanges {
target: bouncingAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "Right hand waving"
when: node.currentAnim === VirtualAssistant.ANIMATION.RIGHTHAND
PropertyChanges {
target: rightHandWavingTimeline
enabled: true
}
PropertyChanges {
target: rightHandWavingAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "Left hand waving"
when: node.currentAnim === VirtualAssistant.ANIMATION.LEFTHAND
PropertyChanges {
target: leftHandWavingTimeline
enabled: true
}
PropertyChanges {
target: leftHandWavingAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "Explore Scene"
when: node.currentAnim === VirtualAssistant.ANIMATION.EXPLORE
PropertyChanges {
target: exploreTimeline
enabled: true
}
PropertyChanges {
target: exploreAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "Exit Animation"
when: node.currentAnim === VirtualAssistant.ANIMATION.EXIT
PropertyChanges {
target: exitTimeline
enabled: true
}
PropertyChanges {
target: exitAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "FaceAnim"
when: node.currentAnim === VirtualAssistant.ANIMATION.FACE
PropertyChanges {
target: faceTimeline
enabled: true
}
PropertyChanges {
target: faceAnimation
running: true
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
},
State {
name: "HeartAnimation"
when: node.currentAnim === VirtualAssistant.ANIMATION.HEART
PropertyChanges {
target: heart.heartAnimation
loops: 4
}
PropertyChanges {
target: heart.heartTimeline
enabled: true
}
}]
}