qtdoc/examples/demos/car-configurator/content/ScreenPrimary.qml

2641 lines
71 KiB
QML

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick.Controls
import QtQuick.Timeline
import QtQuick3D
import QtQuick3D.Effects
import QtQuick3D.Helpers
import CarRendering
import Quick3DAssets.Venodhb_LOD0
import "doorIcon"
import "WallEffect1"
import "WallEffect2"
import "WallEffect3"
import Quick3DAssets.EV_SportsCar_low
import Quick3DAssets.Pebbles
import Quick3DAssets.InteriorShadow
import Quick3DAssets.ShadowPlane
Rectangle {
id: root
width: Constants.width
height: Constants.height
color: Constants.screenColor
state: "State1"
focus: true
transformOrigin: Item.Top
Keys.onPressed: (event) => {
if (event.key === Qt.Key_1) {
gui.visible = !gui.visible
}
}
Component.onCompleted: root.forceActiveFocus()
// this property tells a parent when this object is completely loaded (including preloaded assets)
property bool assetPreLoadComplete: false
// this property enables performance enhancements for android targets
readonly property bool perfMode: Qt.platform.os === 'android'
property real demoCameraRotation: 0
Timer {
id: preloadTimer
running: true
repeat: true
interval: 1
property int count: 0
}
Connections {
target: preloadTimer
onTriggered: {
if (preloadTimer.count == 0)
btnAnimated.toggleCheck()
else if (preloadTimer.count == 1)
btnStudio.toggleCheck()
else if (preloadTimer.count == 2)
btnGarage.toggleCheck()
else if (preloadTimer.count == 3)
btnDesert.toggleCheck()
else if (preloadTimer.count == 4)
btnLight.toggleCheck()
else if (preloadTimer.count == 5)
btnLight.toggleCheck()
else {
root.assetPreLoadComplete = true
preloadTimer.running = false
}
++preloadTimer.count
}
}
View3D {
id: view3D
anchors.fill: parent
camera: sceneCamera2
environment: showhall
Node {
id: scene2
ReflectionProbe {
id: reflectionProbe1
boxSize.x: 3000
boxSize.y: 2000
boxSize.z: 3000
timeSlicing: ReflectionProbe.IndividualFaces
clearColor: "#000000"
}
Node {
id: sceneObjects1
y: -500
z: -1000
Node {
id: camOverride
x: 10
z: -10
Node {
id: cameraRoot
y: 0
eulerRotation.x: 0
eulerRotation.y: 0
eulerRotation.z: 0
onEulerRotationChanged: {
if (cameraResetAnimation.running)
return
cameraRoot.eulerRotation.y -=
Math.floor(cameraRoot.eulerRotation.y / 360) * 360
}
PerspectiveCamera {
id: sceneCamera2
x: -31.83
y: 223.61
z: 665.37
eulerRotation.x: -12.17219
fieldOfView: 64
fieldOfViewOrientation: PerspectiveCamera.Horizontal
Behavior on x {
enabled: !demo.running
NumberAnimation{duration: 2000}
}
Behavior on y {
enabled: !demo.running
NumberAnimation{duration: 2000}
}
Behavior on z {
enabled: !demo.running
NumberAnimation{duration: 2000}
}
Behavior on fieldOfView {
enabled: !demo.running
NumberAnimation{}
}
Behavior on eulerRotation {
enabled: !demo.running
NumberAnimation{duration: 2000}
}
}
}
}
Model {
id: plane3
x: -13.056
y: 4.1
visible: true
source: "#Rectangle"
castsShadows: false
receivesShadows: false
receivesReflections: false
z: -2.65002
eulerRotation.x: -90
eulerRotation.y: -45
eulerRotation.z: -90
scale.x: 12.00987
scale.y: 14.11107
scale.z: 13
materials: groundMat1
depthBias: -500
}
Model {
id: plane2
y: 250
visible: false
source: "#Sphere"
receivesReflections: false
z: -500
scale.x: 50
scale.y: 10
scale.z: 10
materials: principledMaterial2
castsShadows: false
receivesShadows: true
}
Headlights {
id: headlights
x: -18.519
y: -22.316
opacity: 1
z: 6.0437
visible: btnLight.checked
eulerRotation.x: 0
eulerRotation.y: -45
eulerRotation.z: 0
scale.x: 0.1
scale.y: 0.1
scale.z: 0.1
Model {
id: backlight_red
x: -0.001
y: 65.679
source: "#Rectangle"
depthBias: -24
materials: backlightNew
z: -2540.17969
eulerRotation.x: -90
eulerRotation.y: 180
scale.x: 42
scale.y: 25
scale.z: 25
}
}
Venodhb_LOD0 {
id: desertGround
y: -21.468
visible: false
scale.x: 10
scale.y: 10
scale.z: 10
Pebbles {
id: pebbles
}
}
Model {
id: garageFloor
y: 0.5
visible: true
source: "#Rectangle"
castsShadows: false
receivesReflections: true
scale.x: 70
scale.y: 70
scale.z: 70
eulerRotation.y: 0
eulerRotation.x: -90
materials: rectMaterial
}
Model {
id: studioFloor
y: -1
visible: false
source: "#Rectangle"
eulerRotation.z: 45
eulerRotation.x: -90
materials: rectMaterial2
eulerRotation.y: 0
scale.y: 50
scale.z: 35
Model {
id: areaLight
source: "#Rectangle"
materials: rectMaterial3
x: 0
y: 0
eulerRotation.z: 0
eulerRotation.y: 0
scale.y: 0.02
scale.x: 0.1
eulerRotation.x: 180
z: 11
}
Node {
id: group
Model {
id: areaLight1
x: 0
y: 35
source: "#Rectangle"
eulerRotation.z: 0
materials: rectMaterial3
eulerRotation.y: 0
z: 20
scale.x: 0.7
eulerRotation.x: 90
scale.y: 0.01
}
Model {
id: areaLight2
x: 35
y: 0
source: "#Rectangle"
eulerRotation.z: 90
materials: rectMaterial3
eulerRotation.y: -90
z: 20
scale.x: 0.7
eulerRotation.x: 0
scale.y: 0.01
}
Model {
id: areaLight3
x: 0
y: -35
source: "#Rectangle"
eulerRotation.z: 0
materials: rectMaterial3
eulerRotation.y: 0
z: 20
scale.x: 0.7
eulerRotation.x: -90
scale.y: 0.01
}
Model {
id: areaLight4
x: -35
y: 0
source: "#Rectangle"
eulerRotation.z: 90
materials: rectMaterial3
eulerRotation.y: 90
z: 20
scale.x: 0.7
eulerRotation.x: 0
scale.y: 0.01
}
}
scale.x: 50
receivesReflections: true
}
Model {
id: animatedstateFloor
y: 0
visible: false
source: "#Rectangle"
eulerRotation.x: -90
materials: rectMaterial4
scale.y: 20
eulerRotation.y: 0
scale.z: 20
scale.x: 20
receivesReflections: true
}
Ev_SportsCar_low {
id: ev_SportsCar_low
x: -19
y: 1.965
desert: false
headlightsVisible: !btnLight.checked
trunkIsOpen: trunkbutton.isChecked
hoodIsOpen: hoodButton.isChecked
z: 0
stateController: 0
eulerRotation.y: -45
scale.z: 120
scale.y: 120
scale.x: 120
lightsOn: btnLight.checked
doorLeftIsOpen: doorButtonLeft.isChecked
doorRightIsOpen: doorButtonRight.isChecked
PointLight {
id: lightPoint
x: 0.774
y: 1.143
visible: false
color: "#ff2f00"
linearFade: 10
constantFade: 1
quadraticFade: 10
z: -2.60213
brightness: 2
}
PointLight {
id: lightPoint1
x: -0.832
y: 1.143
visible: false
color: "#ff2f00"
linearFade: 10
constantFade: 1
quadraticFade: 10
brightness: 2
z: -2.49196
}
InteriorPointLight {
id: pointLight
x: 0
y: 0.931
quadraticFade: 6.24865
scope: ev_SportsCar_low
z: 0.01401
shadowBias: 0.04099
shadowMapQuality: Light.ShadowMapQualityVeryHigh
shadowFilter: 93
shadowFactor: 98
castsShadow: false
isOn: ev_SportsCar_low.doorLeftIsOpen || ev_SportsCar_low.doorRightIsOpen? true : false
}
InteriorShadow {
id: interiorShadow
visible: true
}
ShadowPlane {
id: shadowPlane
visible: false
hoodOpen: ev_SportsCar_low.hoodIsOpen
doorOpen: ev_SportsCar_low.doorLeftIsOpen
}
}
}
DirectionalLight {
id: lightDirectional
castsShadow: false
brightness: 0.5
eulerRotation.z: -180
eulerRotation.y: 180
eulerRotation.x: -54.99136
}
DirectionalLight {
id: lightDirectional1
shadowFactor: 100
shadowMapQuality: Light.ShadowMapQualityVeryHigh
castsShadow: false
brightness: 0.5
eulerRotation.z: -0.00002
eulerRotation.y: 0.00002
eulerRotation.x: -57.72036
}
}
Node {
id: environments1
ExtendedSceneEnvironment {
id: showhall
glowBloom: 0
glowStrength: 0
glowEnabled: false
depthOfFieldFocusDistance: 600
depthOfFieldFocusRange: 627
depthOfFieldBlurAmount: 19.97
depthOfFieldEnabled: false
exposure: 1.2
lightProbe: _Hall
backgroundMode: SceneEnvironment.SkyBox
tonemapMode: SceneEnvironment.TonemapModeLinear
probeExposure: 1
depthPrePassEnabled: false
depthTestEnabled: true
antialiasingMode: SceneEnvironment.MSAA
antialiasingQuality: perfMode ? SceneEnvironment.Medium : SceneEnvironment.VeryHigh
clearColor: "#000000"
probeHorizon: 0.5
Texture {
id: _Hall
source: rootWindow.downloadBase + "/content/images/HDR/_Hall.ktx"
mipFilter: Texture.Linear
scaleV: 2
}
temporalAAEnabled: false
}
ExtendedSceneEnvironment {
id: desert
lightProbe: _Desert
glowStrength: 2
glowBloom: 0.11191
glowEnabled: true
depthPrePassEnabled: false
probeExposure: 1.5
tonemapMode: SceneEnvironment.TonemapModeLinear
backgroundMode: SceneEnvironment.SkyBox
depthTestEnabled: true
antialiasingMode: SceneEnvironment.MSAA
antialiasingQuality: perfMode ? SceneEnvironment.Medium : SceneEnvironment.VeryHigh
clearColor: "#000000"
probeHorizon: 0.5
temporalAAEnabled: false
fog: Fog {}
}
ExtendedSceneEnvironment {
id: videoRoom
aoSoftness: 0
aoDistance: 0
probeExposure: 1
tonemapMode: SceneEnvironment.TonemapModeLinear
antialiasingMode: SceneEnvironment.MSAA
antialiasingQuality: perfMode ? SceneEnvironment.Medium : SceneEnvironment.VeryHigh
clearColor: "#000000"
depthPrePassEnabled: false
backgroundMode: SceneEnvironment.Color
depthTestEnabled: true
probeHorizon: 0
Vignette {
id: vignette
vignetteStrength: 15
vignetteColor: Qt.vector3d(0, 0, 0)
}
temporalAAEnabled: false
}
ExtendedSceneEnvironment {
id: studio
aoEnabled: false
antialiasingQuality: SceneEnvironment.VeryHigh
antialiasingMode: SceneEnvironment.MSAA
tonemapMode: SceneEnvironment.TonemapModeLinear
probeExposure: 1
probeHorizon: 1
clearColor: "#000000"
temporalAAEnabled: false
depthTestEnabled: true
backgroundMode: SceneEnvironment.Color
depthPrePassEnabled: false
}
}
Node {
id: __materialLibrary__
PrincipledMaterial {
id: groundMat1
opacity: 1
normalStrength: 0.5
specularAmount: 0
metalness: 0
opacityChannel: Material.A
blendMode: PrincipledMaterial.SourceOver
lighting: PrincipledMaterial.NoLighting
specularTint: 1
baseColor: "#000000"
clearcoatRoughnessAmount: 0
emissiveFactor.y: 0
objectName: "groundMat1"
alphaMode: PrincipledMaterial.Default
depthDrawMode: Material.AlwaysDepthDraw
occlusionAmount: 1
roughness: 1
opacityMap: ground1
occlusionMap: ground1
transmissionChannel: Material.R
clearcoatAmount: 0
transmissionFactor: 0
alphaCutoff: 1
cullMode: Material.BackFaceCulling
emissiveFactor.x: 0
}
PrincipledMaterial {
id: principledMaterial2
specularAmount: 0
clearcoatAmount: 0
lighting: PrincipledMaterial.NoLighting
specularTint: 0
baseColor: "#ffffff"
objectName: "principledMaterial2"
baseColorMap: videoBG
Texture {
id: videoBG
// Adjust these to suit the target HW quality/performance
property real videoWallWidth: 1024
property real videoWallHeight: 512
mappingMode: Texture.Environment
sourceItem: wallEffect1
WallEffect1 {
id: wallEffect1
width: videoBG.videoWallWidth
height: videoBG.videoWallHeight
timeRunning: visible
visible: videoBG.sourceItem == wallEffect1
}
WallEffect2 {
id: wallEffect2
width: videoBG.videoWallWidth
height: videoBG.videoWallHeight
timeRunning: visible
visible: videoBG.sourceItem == wallEffect2
}
WallEffect3 {
id: wallEffect3
width: videoBG.videoWallWidth
height: videoBG.videoWallHeight
timeRunning: visible
visible: videoBG.sourceItem == wallEffect3
}
}
roughness: 0
}
PrincipledMaterial {
id: rectMaterial
fresnelScaleBiasEnabled: false
opacityMap: dot
baseColor: "#b1a5b7"
objectName: "rectMaterial"
baseColorMap: tg1kfdzq_2K_Albedo
depthDrawMode: Material.OpaqueOnlyDepthDraw
normalMap: tg1kfdzq_2K_Normal
roughnessMap: tg1kfdzq_2K_Roughness
roughness: 0.07365
occlusionMap: tg1kfdzq_2K_AO
}
Texture {
id: _Desert
source: rootWindow.downloadBase + "/content/images/HDR/low/_Desert.ktx"
mipFilter: Texture.Linear
scaleV: 3
}
Texture {
id: concrete1_Height1
source: rootWindow.downloadBase + "/content/images/concrete1_Height.png"
mipFilter: Texture.Linear
scaleV: 10
mappingMode: Texture.UV
generateMipmaps: true
scaleU: 5
}
Texture {
id: concrete1_Normalogl1
source: rootWindow.downloadBase + "/content/images/concrete1_Normal-ogl.png"
mipFilter: Texture.Linear
scaleV: 10
generateMipmaps: true
scaleU: 5
}
Texture {
id: ground1
source: rootWindow.downloadBase + "/content/images/Ground.png"
autoOrientation: true
}
Texture {
id: tg1kfdzq_2K_Albedo
source: rootWindow.downloadBase + "/content/images/tg1kfdzq_2K_Albedo.jpg"
mipFilter: Texture.Linear
scaleV: 40
generateMipmaps: true
scaleU: 40
}
Texture {
id: tg1kfdzq_2K_AO
source: rootWindow.downloadBase + "/content/images/tg1kfdzq_2K_AO.jpg"
mipFilter: Texture.Linear
scaleV: 40
generateMipmaps: true
scaleU: 40
}
Texture {
id: tg1kfdzq_2K_Normal
source: rootWindow.downloadBase + "/content/images/tg1kfdzq_2K_Normal.jpg"
mipFilter: Texture.Linear
scaleV: 40
generateMipmaps: true
scaleU: 40
}
Texture {
id: tg1kfdzq_2K_Roughness
source: rootWindow.downloadBase + "/content/images/tg1kfdzq_2K_Roughness.jpg"
mipFilter: Texture.Linear
scaleV: 40
generateMipmaps: true
scaleU: 40
}
PrincipledMaterial {
id: rectMaterial3
emissiveFactor.z: 3
emissiveFactor.x: 3
emissiveFactor.y: 3
objectName: "rectMaterial3"
}
PrincipledMaterial {
id: rectMaterial2
fresnelScaleBiasEnabled: false
specularAmount: 0.3
clearcoatAmount: 0
specularTint: 0.95
baseColor: "#222222"
objectName: "rectMaterial2"
baseColorMap: vlkhcah_2K_Albedo
depthDrawMode: Material.OpaqueOnlyDepthDraw
normalMap: vlkhcah_2K_Normal
roughnessMap: vlkhcah_2K_Roughness
roughness: 0.5
occlusionMap: vlkhcah_2K_AO
}
Texture {
id: vlkhcah_2K_Albedo
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_Albedo.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
Texture {
id: vlkhcah_2K_AO
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_AO.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
Texture {
id: vlkhcah_2K_Normal
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_Normal.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
Texture {
id: vlkhcah_2K_Roughness
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_Roughness.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
PrincipledMaterial {
id: rectMaterial4
specularAmount: 0.5
clearcoatAmount: 0
specularTint: 0
baseColor: "#222222"
objectName: "rectMaterial4"
baseColorMap: vlkhcah_2K_Albedo1
depthDrawMode: Material.OpaqueOnlyDepthDraw
normalMap: vlkhcah_2K_Normal1
roughnessMap: vlkhcah_2K_Roughness1
roughness: 0.35
occlusionMap: vlkhcah_2K_AO1
}
DefaultMaterial {
id: backlight
opacity: 0.3
lighting: DefaultMaterial.NoLighting
opacityChannel: Material.A
diffuseColor: "#ff0000"
objectName: "backlight"
}
PrincipledMaterial {
id: backlightNew
opacity: 0.551
lighting: PrincipledMaterial.NoLighting
blendMode: PrincipledMaterial.Screen
emissiveFactor.x: 1
opacityMap: backlight1
baseColor: "#fe0303"
objectName: "New Material"
}
Texture {
id: vlkhcah_2K_Albedo1
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_Albedo.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
Texture {
id: vlkhcah_2K_AO1
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_AO.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
Texture {
id: vlkhcah_2K_Normal1
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_Normal.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
Texture {
id: vlkhcah_2K_Roughness1
source: rootWindow.downloadBase + "/content/images/vlkhcah_2K_Roughness.jpg"
mipFilter: Texture.Linear
scaleV: 20
generateMipmaps: true
scaleU: 20
}
Texture {
id: backlight1
source: rootWindow.downloadBase + "/content/images/backlight.png"
}
Texture {
id: dot
source: rootWindow.downloadBase + "/content/images/dot.png"
}
}
}
MouseRotatorAndWASD {
xInvert: false
yInvert: true
}
PinchWidget {
anchors.fill: parent
}
DoorButton {
id: doorButtonLeft
x: 0
y: 0
// > than 326
isRendered: cameraRoot.eulerRotation.y < 123 && !demo.running || cameraRoot.eulerRotation.y > 326 && !demo.running || ev_SportsCar_low.doorLeftIsOpen? 1.0 : 0.0 && !demo.running
visible: true
trackedWorldPosition: ev_SportsCar_low.leftDoorPositionerPos
}
DoorButton {
id: doorButtonRight
x: 0
y: 0
isRendered: cameraRoot.eulerRotation.y < 305 && cameraRoot.eulerRotation.y > 150 && !demo.running || ev_SportsCar_low.doorRightIsOpen? 1.0 : 0.0 && !demo.running
visible: true
trackedWorldPosition: ev_SportsCar_low.rightDoorPositionerPos
}
DoorButton {
id: hoodButton
x: 0
y: 0
isRendered: cameraRoot.eulerRotation.y < 50 && !demo.running || cameraRoot.eulerRotation.y > 226 && !demo.running || ev_SportsCar_low.hoodIsOpen? 1.0 : 0.0&& !demo.running
visible: true
trackedWorldPosition: ev_SportsCar_low.hoodPositionerPos
}
DoorButton {
id: trunkbutton
x: 0
y: 0
isRendered: cameraRoot.eulerRotation.y > 50 && cameraRoot.eulerRotation.y < 226 && !demo.running || ev_SportsCar_low.trunkIsOpen? 1.0 : 0.0&& !demo.running
visible: true
trackedWorldPosition: ev_SportsCar_low.trunkPositionerPos
}
Item {
id: gui
anchors.fill: parent
Logo {
id: logo
anchors.right: parent.right
anchors.top: parent.top
anchors.rightMargin: 28
anchors.topMargin: 28
MouseArea {
anchors.fill: parent
onClicked: {
debugBox.visible = !debugBox.visible
}
}
}
DebugBox {
id: debugBox
visible: false
anchors.right: parent.right
anchors.top: logo.bottom
anchors.rightMargin: 15
anchors.topMargin: 15
sView: view3D
}
Rectangle {
id: videoControls
visible: false
width: videoRow.width
height: videoRow.height
radius: 8
color: "#5c000000"
anchors.horizontalCenter: mainControls.horizontalCenter
anchors.bottom: mainControls.top
anchors.bottomMargin: 16 - (1 - videoControls.scale) * 110
scale: mainControls.scale
Row {
id: videoRow
padding: 10
spacing: 30
QtObject {
id: groupVideo
property var buttons: [btnVideo1, btnVideo2, btnVideo3]
property Item checkedButton: btnVideo1
}
KissButton {
id: btnVideo1
width: 53
height: 43
radius: 8
iconId: 5
group: groupVideo
checked: true
Image {
source: btnVideo1.checked ? rootWindow.downloadBase + "/content/images/1_active.png"
: rootWindow.downloadBase + "/content/images/1_idle.png"
anchors.centerIn: parent
}
onClicked: videoBG.sourceItem = wallEffect1
}
KissButton {
id: btnVideo2
width: 53
height: 43
radius: 8
iconId: 5
group: groupVideo
onClicked: videoBG.sourceItem = wallEffect2
Image {
source: btnVideo2.checked ? rootWindow.downloadBase + "/content/images/2_active.png"
: rootWindow.downloadBase + "/content/images/2_idle.png"
anchors.centerIn: parent
}
}
KissButton {
id: btnVideo3
width: 53
height: 43
radius: 8
iconId: 5
group: groupVideo
onClicked: videoBG.sourceItem = wallEffect3
Image {
source: btnVideo3.checked ? rootWindow.downloadBase + "/content/images/3_active.png"
: rootWindow.downloadBase + "/content/images/3_idle.png"
anchors.centerIn: parent
}
}
}
}
Row {
id: mainControls
property bool isOn: false
spacing: 8
width: parent.width
anchors.bottom: parent.bottom
anchors.bottomMargin: 28 - (1 - mainControls.scale) * 60
layer.enabled: true
rightPadding: 0
scale: parent.width / Constants.width
transformOrigin: Item.Left
NumberAnimation {
id: menuOffAnimation
target: mainControls
property: "x"
duration: 1000
easing.type: Easing.InOutQuad
running: !mainControls.isOn
from: 0
to: root.width
}
NumberAnimation {
id: menuOnAnimation
target: mainControls
property: "x"
duration: 1000
easing.type: Easing.InOutQuad
running: mainControls.isOn
from: root.width
to: 0
}
NumberAnimation {
id: menuOnAnimationOpacity
target: mainControls
property: "opacity"
duration: 500
easing.type: Easing.InOutQuad
running: mainControls.isOn
from: 0
to: 1
}
NumberAnimation {
id: menuOffAnimationOpacity
target: mainControls
property: "opacity"
duration: 500
easing.type: Easing.InOutQuad
running: !mainControls.isOn
from: 1
to: 0
}
Item {
width: 20
height: 1
}
KissButton {
id: btnDemo
iconId: btnDemo.checked ? 8 : 7
buttonText: "Demo Mode"
group: "toggle"
onClicked: {
cameraRoot.eulerRotation.y > 180? cameraResetAnimation.yVal = 365 : cameraResetAnimation.yVal = 5
btnDemo.checked? cameraResetAnimation.running = true : demo.running = false
}
}
KissButton {
id: btnReset
iconId: btnReset.checked ? 2 : 3
buttonText: "Reset camera"
onClicked: {
cameraRoot.eulerRotation.y > 180? cameraResetAnimation.yVal = 360 : cameraResetAnimation.yVal = 0
cameraResetAnimation.running = true
if (btnDemo.checked)
btnDemo.toggleCheck()
}
}
KissButtonSeparator {
}
QtObject {
id: groupScene
property var buttons: [btnDesert, btnGarage, btnStudio, btnAnimated]
property Item checkedButton: btnDesert
}
KissButton {
id: btnDesert
buttonText: "Desert"
iconId: btnDesert.checked ? 22 : 23
group: groupScene
}
KissButton {
id: btnGarage
buttonText: "Garage"
iconId: btnGarage.checked ? 20 : 19
group: groupScene
}
KissButton {
id: btnStudio
buttonText: "Studio"
iconId: btnStudio.checked ? 4 : 21
group: groupScene
}
KissButton {
id: btnAnimated
buttonText: "Animated"
iconId: btnAnimated.checked ? 13 : 1
group: groupScene
}
KissButtonSeparator {
}
QtObject {
id: groupPaint
property var buttons: [whitePaint, blackPaint, yellowPaint, redPaint]
property Item checkedButton: blackPaint
}
KissButton {
id: whitePaint
iconId: 17
buttonText: "White"
group: groupPaint
onClicked: ev_SportsCar_low.stateController = 1
}
KissButton {
id: blackPaint
checked: true
iconId: 11
buttonText: "Black"
group: groupPaint
onClicked: ev_SportsCar_low.stateController = 0
}
KissButton {
id: yellowPaint
iconId: 16
buttonText: "Yellow"
group: groupPaint
onClicked: ev_SportsCar_low.stateController = 2
}
KissButton {
id: redPaint
iconId: 18
buttonText: "Red"
group: groupPaint
onClicked: ev_SportsCar_low.stateController = 3
}
KissButtonSeparator {
}
KissButton {
id: btnLight
iconId: btnLight.checked ? 15 : 14
buttonText: "Lights"
group: "toggle"
checked: true
}
KissButtonSeparator {
}
KissButton {
id: rightseparator
iconId: btnLight.checked ? 15 : 14
group: "toggle"
checked: true
buttonText: ""
width: 70
visible: false
}
}
KissButton {
id: menutoggle
menubutton: true
anchors.right: parent.right
anchors.rightMargin: 30 - (1 - mainControls.scale) * 60
iconId: mainControls.isOn ? 25 : 24
group: "toggle"
checked: false
buttonText: ""
width: 70
scale: parent.width / Constants.width
anchors.bottom: parent.bottom
anchors.bottomMargin: 38 - (1 - mainControls.scale) * 60
onCheckedChanged: !checked? mainControls.isOn = false : mainControls.isOn = true
onClicked: {
buttonLoopAnimation.running = false
menutoggle.scale = 1
}
SequentialAnimation{
id: buttonLoopAnimation
running: true
loops: -1
NumberAnimation {
target: menutoggle
property: "scale"
duration: 1000
easing.type: Easing.InOutQuad
from: 1
to: 1.1
}
NumberAnimation {
target: menutoggle
property: "scale"
duration: 1000
easing.type: Easing.InOutQuad
from: 1.1
to: 1
}
}
}
}
Timeline {
id: demoAnimation
animations: [
TimelineAnimation {
id: demo
running: false
pingPong: false
loops: -1
duration: 61114
to: 61114
from: 0
}
]
enabled: true
startFrame: 0
endFrame: 61114
KeyframeGroup {
target: sceneCamera2
property: "fieldOfView"
Keyframe {
value: 64
frame: 5
}
Keyframe {
value: 84
frame: 12005
}
Keyframe {
value: 64
frame: 12004
}
Keyframe {
value: 64
frame: 16491
}
Keyframe {
value: 56
frame: 16492
}
Keyframe {
value: 79.85046
frame: 21003
}
Keyframe {
value: 22.85
frame: 21004
}
Keyframe {
value: 15.85
frame: 34501
}
Keyframe {
value: 51.85
frame: 46746
}
Keyframe {
value: 15.87412
frame: 40300
}
Keyframe {
frame: 34500
value: 15.85881
}
}
KeyframeGroup {
target: sceneCamera2
property: "x"
Keyframe {
value: -31.82979
frame: 5
}
Keyframe {
value: 37.88391
frame: 5979
}
Keyframe {
value: -229.261
frame: 5979
}
Keyframe {
value: -174.30124
frame: 12004
}
Keyframe {
value: -31.82972
frame: 5
}
Keyframe {
value: -337.83273
frame: 12005
}
Keyframe {
value: -307.71436
frame: 16491
}
Keyframe {
value: 938.85046
frame: 16492
}
Keyframe {
value: 550.57489
frame: 21003
}
Keyframe {
value: -255.06708
frame: 21004
}
Keyframe {
value: -102.92751
frame: 28504
}
Keyframe {
value: -634.68378
frame: 28505
}
Keyframe {
value: -779.27954
frame: 34500
}
Keyframe {
value: -574.65594
frame: 34501
}
Keyframe {
value: -566.81525
frame: 40301
}
Keyframe {
value: 378.97412
frame: 40302
}
Keyframe {
value: 595.88428
frame: 46745
}
Keyframe {
value: 649.59082
frame: 46746
}
Keyframe {
easing.bezierCurve: [0.19, 1, 0.22, 1, 1, 1]
value: -371.06754
frame: 61114
}
}
KeyframeGroup {
target: sceneCamera2
property: "y"
Keyframe {
value: 128.48135
frame: 5
}
Keyframe {
value: 140.70691
frame: 5979
}
Keyframe {
value: 161.34668
frame: 5979
}
Keyframe {
value: 197.42435
frame: 12004
}
Keyframe {
value: 223.60617
frame: 5
}
Keyframe {
value: 95.44727
frame: 12005
}
Keyframe {
value: 152.79813
frame: 16491
}
Keyframe {
value: 152.798
frame: 16492
}
Keyframe {
value: 185.36548
frame: 21003
}
Keyframe {
value: 251.7169
frame: 21004
}
Keyframe {
value: 359.80371
frame: 28504
}
Keyframe {
value: 359.80347
frame: 28505
}
Keyframe {
value: 359.80347
frame: 34500
}
Keyframe {
value: 222.64905
frame: 34501
}
Keyframe {
value: 222.64905
frame: 40301
}
Keyframe {
value: 222.6488
frame: 40302
}
Keyframe {
value: 222.64883
frame: 46745
}
Keyframe {
value: 222.64902
frame: 46746
}
Keyframe {
easing.bezierCurve: [0.19, 1, 0.22, 1, 1, 1]
value: 147.90091
frame: 61114
}
}
KeyframeGroup {
target: sceneCamera2
property: "z"
Keyframe {
value: 224.36035
frame: 5
}
Keyframe {
value: 218.07159
frame: 5979
}
Keyframe {
value: -157.46875
frame: 5979
}
Keyframe {
value: 6.80872
frame: 12004
}
Keyframe {
value: 665.36609
frame: 5
}
Keyframe {
value: 149.68378
frame: 12005
}
Keyframe {
value: 180.37372
frame: 16491
}
Keyframe {
value: -407.83264
frame: 16492
}
Keyframe {
value: -282.50183
frame: 21003
}
Keyframe {
value: 770.57483
frame: 21004
}
Keyframe {
value: 770.57465
frame: 28504
}
Keyframe {
value: -622.59058
frame: 28505
}
Keyframe {
value: -510.37622
frame: 34500
}
Keyframe {
value: 358.71863
frame: 34501
}
Keyframe {
value: 438.66461
frame: 40301
}
Keyframe {
value: -915.28137
frame: 40302
}
Keyframe {
value: -673.06482
frame: 46745
}
Keyframe {
value: 223.57843
frame: 46746
}
Keyframe {
easing.bezierCurve: [0.19, 1, 0.22, 1, 1, 1]
value: 506.23959
frame: 61114
}
}
KeyframeGroup {
target: sceneCamera2
property: "eulerRotation.x"
Keyframe {
value: -12.17219
frame: 5
}
Keyframe {
value: -11.9523
frame: 5979
}
Keyframe {
value: -13.40152
frame: 5979
}
Keyframe {
value: -32.41507
frame: 12004
}
Keyframe {
value: -13.89176
frame: 12005
}
Keyframe {
value: -13.89176
frame: 16491
}
Keyframe {
value: -6.35897
frame: 16492
}
Keyframe {
value: -10.07228
frame: 21003
}
Keyframe {
value: -16.93475
frame: 21004
}
Keyframe {
value: -17.91578
frame: 28504
}
Keyframe {
value: -17.91577
frame: 28505
}
Keyframe {
value: -17.95313
frame: 34500
}
Keyframe {
value: -17.95315
frame: 34501
}
Keyframe {
value: -17.95315
frame: 40301
}
Keyframe {
value: -6.10891
frame: 40302
}
Keyframe {
value: -6.10891
frame: 46745
}
Keyframe {
value: -6.10892
frame: 46746
}
Keyframe {
easing.bezierCurve: [0.19, 1, 0.22, 1, 1, 1]
value: -6.10892
frame: 61114
}
}
KeyframeGroup {
target: sceneCamera2
property: "eulerRotation.y"
Keyframe {
value: 0
frame: 5
}
Keyframe {
value: 11.06957
frame: 5979
}
Keyframe {
value: -117.02943
frame: 5979
}
Keyframe {
value: -74.9571
frame: 12004
}
Keyframe {
value: -77.58958
frame: 12005
}
Keyframe {
value: -68.8636
frame: 16491
}
Keyframe {
value: 110.72486
frame: 16492
}
Keyframe {
value: 114.77937
frame: 21003
}
Keyframe {
value: -10.47536
frame: 21004
}
Keyframe {
value: -10.28948
frame: 28504
}
Keyframe {
value: -129.832
frame: 28505
}
Keyframe {
value: -128.30945
frame: 34500
}
Keyframe {
value: -60.4214
frame: 34501
}
Keyframe {
value: -59.90898
frame: 40301
}
Keyframe {
value: 161.23984
frame: 40302
}
Keyframe {
value: 141.07248
frame: 46745
}
Keyframe {
value: 82.73631
frame: 46746
}
Keyframe {
easing.bezierCurve: [0.19, 1, 0.22, 1, 1, 1]
value: -36.03967
frame: 61114
}
}
KeyframeGroup {
target: sceneCamera2
property: "eulerRotation.z"
Keyframe {
value: -0
frame: 5
}
Keyframe {
value: -2.32017
frame: 5979
}
Keyframe {
value: 0
frame: 5979
}
Keyframe {
value: 1.92757
frame: 12004
}
Keyframe {
value: 0
frame: 12005
}
Keyframe {
value: 0
frame: 16491
}
Keyframe {
value: -0.00002
frame: 16492
}
Keyframe {
value: -0.15695
frame: 21003
}
Keyframe {
value: -0.55012
frame: 21004
}
Keyframe {
value: -1.1708
frame: 28504
}
Keyframe {
value: -1.1708
frame: 28505
}
Keyframe {
value: -3.75297
frame: 34500
}
Keyframe {
value: -3.75297
frame: 34501
}
Keyframe {
value: -3.75297
frame: 40301
}
Keyframe {
value: 0
frame: 40302
}
Keyframe {
value: -0
frame: 46745
}
Keyframe {
value: -0.00001
frame: 46746
}
Keyframe {
easing.bezierCurve: [0.19, 1, 0.22, 1, 1, 1]
value: -0
frame: 61114
}
}
KeyframeGroup {
target: cameraRoot
property: "eulerRotation.y"
Keyframe {
value: 5
frame: 0
}
Keyframe {
value: 0
frame: 5979
}
}
KeyframeGroup {
target: cameraRoot
property: "eulerRotation.x"
Keyframe {
value: 9
frame: 0
}
Keyframe {
value: 0
frame: 5979
}
}
KeyframeGroup {
target: cameraRoot
property: "eulerRotation.z"
Keyframe {
value: 0
frame: 5
}
}
KeyframeGroup {
target: cameraRoot
property: "y"
Keyframe {
value: -5
frame: 5
}
Keyframe {
value: 0
frame: 5979
}
}
KeyframeGroup {
target: cameraRoot
property: "x"
Keyframe {
value: 0
frame: 5
}
}
KeyframeGroup {
target: cameraRoot
property: "z"
Keyframe {
value: 0
frame: 5
}
}
}
ParallelAnimation {
id:cameraResetAnimation
running: false
property real yVal: 0
onFinished: btnDemo.checked? demo.running = true : demo.running = false
NumberAnimation {
target: cameraRoot
property: "eulerRotation.y"
duration: 1000
easing.type: Easing.InOutQuad
from: cameraRoot.eulerRotation.y
to: cameraResetAnimation.yVal
}
NumberAnimation {
target: cameraRoot
property: "eulerRotation.x"
duration: 1000
easing.type: Easing.InOutQuad
from: cameraRoot.eulerRotation.x
to: 9
}
NumberAnimation {
target: cameraRoot
property: "eulerRotation.z"
duration: 1000
easing.type: Easing.InOutQuad
from: cameraRoot.eulerRotation.z
to: 0
}
NumberAnimation {
target: cameraRoot
property: "x"
duration: 1000
easing.type: Easing.InOutQuad
from: cameraRoot.x
to: 0
}
NumberAnimation {
target: cameraRoot
property: "y"
duration: 1000
easing.type: Easing.InOutQuad
from: cameraRoot.y
to: -5
}
NumberAnimation {
target: cameraRoot
property: "z"
duration: 1000
easing.type: Easing.InOutQuad
from: cameraRoot.z
to: 0
}
NumberAnimation {
target: sceneCamera2
property: "fieldOfView"
duration: 1000
easing.type: Easing.InOutQuad
from: sceneCamera2.fieldOfView
to:64
}
NumberAnimation {
target: sceneCamera2
property: "x"
duration: 1000
easing.type: Easing.InOutQuad
from: sceneCamera2.x
to:-31.83
}
NumberAnimation {
target: sceneCamera2
property: "y"
duration: 1000
easing.type: Easing.InOutQuad
from: sceneCamera2.y
to: 223.61
}
NumberAnimation {
target: sceneCamera2
property: "z"
duration: 1000
easing.type: Easing.InOutQuad
from: sceneCamera2.z
to:665.36
}
NumberAnimation {
target: sceneCamera2
property: "eulerRotation.x"
duration: 1000
easing.type: Easing.InOutQuad
from: sceneCamera2.eulerRotation.x
to:-12.17
}
NumberAnimation {
target: sceneCamera2
property: "eulerRotation.y"
duration: 1000
easing.type: Easing.InOutQuad
from: sceneCamera2.eulerRotation.y
to:0
}
NumberAnimation {
target: sceneCamera2
property: "eulerRotation.z"
duration: 1000
easing.type: Easing.InOutQuad
from: sceneCamera2.eulerRotation.z
to:0
}
}
states: [
State {
name: "State1"
when: btnDesert.checked
PropertyChanges {
target: view3D
environment: desert
}
PropertyChanges {
target: lightDirectional
color: "#e1e1e1"
shadowMapQuality: Light.ShadowMapQualityVeryHigh
shadowMapFar: 0
castsShadow: false
brightness: 0
ambientColor: "#385667"
eulerRotation.z: -179.99934
eulerRotation.y: 179.99934
eulerRotation.x: -88.85005
}
PropertyChanges {
target: lightDirectional1
color: "#e6f4fe"
brightness: 2.58
ambientColor: "#223843"
eulerRotation.z: -0.00001
eulerRotation.y: 0.00001
eulerRotation.x: -42.00026
}
PropertyChanges {
target: desertGround
x: 0
y: 1
visible: true
scale.z: 60
scale.x: 60
}
PropertyChanges {
target: garageFloor
visible: false
}
PropertyChanges {
target: desert
probeOrientation.y: -70
lightProbe: _Desert
antialiasingQuality: SceneEnvironment.VeryHigh
fxaaEnabled: false
specularAAEnabled: false
aoStrength: 72
aoSoftness: 39.8591
aoBias: 1
lutEnabled: false
aoDither: true
aoSampleRate: 4
temporalAAStrength: 2
temporalAAEnabled: true
aoDistance: 25
depthOfFieldBlurAmount: 3
depthOfFieldFocusRange: 200
depthOfFieldEnabled: true
lensFlareDistortion: 0.20282
lensFlareBlurAmount: 2.45517
lensFlareApplyDirtTexture: false
lensFlareLensColorTexture: _Desert
sharpnessAmount: 0
whitePoint: 0.83817
skyboxBlurAmount: 0.18745
glowBlendMode: ExtendedSceneEnvironment.GlowBlendMode.Additive
glowUseBicubicUpscale: false
exposure: 0.8
lensFlareApplyStarburstTexture: false
lensFlareGhostCount: 0
lensFlareBloomBias: 0.38856
lensFlareEnabled: false
vignetteEnabled: false
glowHDRScale: 0
glowQualityHigh: true
glowHDRMaximumValue: 27.76875
glowStrength: 0.02647
glowIntensity: 2
glowHDRMinimumValue: 3.77218
glowLevel: ExtendedSceneEnvironment.GlowLevel.One | ExtendedSceneEnvironment.GlowLevel.Two | ExtendedSceneEnvironment.GlowLevel.Three | ExtendedSceneEnvironment.GlowLevel.Four | ExtendedSceneEnvironment.GlowLevel.Five | ExtendedSceneEnvironment.GlowLevel.Six | ExtendedSceneEnvironment.GlowLevel.Seven
glowBloom: 0.15158
glowEnabled: false
aoEnabled: false
probeExposure: 2
}
PropertyChanges {
target: plane3
x: -11.348
y: 4.23
opacity: 1
visible: true
z: -5.52203
receivesShadows: true
castsReflections: false
levelOfDetailBias: 0
depthBias: 500
}
PropertyChanges {
target: groundMat1
opacity: 0.93
lightProbe: _Desert
cullMode: Material.NoCulling
vertexColorsEnabled: false
depthDrawMode: Material.AlwaysDepthDraw
}
PropertyChanges {
target: headlights
x: -18.519
y: -22.316
z: 6.0437
}
PropertyChanges {
target: lightPoint1
visible: btnLight.checked
}
PropertyChanges {
target: rectMaterial4
lightProbe: _Desert
}
PropertyChanges {
target: backlight_red
x: -0.001
y: 252.129
}
PropertyChanges {
target: pebbles
x: 0.241
y: -0.013
z: -2.06169
eulerRotation.z: -0.00002
eulerRotation.y: -47.88068
eulerRotation.x: -0.00001
scale.z: 7
scale.y: 27
scale.x: 7
}
PropertyChanges {
target: _Desert
source: rootWindow.downloadBase + "/content/images/HDR/low/_Desert.ktx"
}
PropertyChanges {
target: desert.fog
color: "#aea89f"
depthCurve: 1
transmitCurve: 15
heightCurve: 0
depthFar: 5000
transmitEnabled: true
density: 0.70495
leastIntenseY: 2
depthNear: 200
heightEnabled: false
depthEnabled: true
enabled: true
}
PropertyChanges {
target: ev_SportsCar_low
x: -19
y: 2.343
desert: true
z: 0
}
PropertyChanges {
target: shadowPlane
x: 0
y: 0.008
opacity: 0.705
visible: true
z: -0
}
PropertyChanges {
target: plane2
visible: false
}
},
State {
name: "State2"
when: btnStudio.checked
PropertyChanges {
target: reflectionProbe1
quality: ReflectionProbe.Low
timeSlicing: ReflectionProbe.AllFacesAtOnce
boxSize.z: 7500
boxSize.y: 400
boxSize.x: 7500
parallaxCorrection: true
}
PropertyChanges {
target: lightDirectional
visible: false
ambientColor: "#3c3c3c"
brightness: 0.5
eulerRotation.z: 180
eulerRotation.y: -180
eulerRotation.x: -6.93953
}
PropertyChanges {
target: lightDirectional1
visible: false
castsShadow: false
ambientColor: "#282828"
brightness: 2
eulerRotation.z: -0.00001
eulerRotation.y: 0
eulerRotation.x: -6.62763
}
PropertyChanges {
target: garageFloor
visible: false
}
PropertyChanges {
target: studioFloor
visible: true
eulerRotation.z: 0
castsShadows: false
}
PropertyChanges {
target: view3D
environment: studio
}
PropertyChanges {
target: studio
lightProbe: _Hall
backgroundMode: SceneEnvironment.Color
depthOfFieldEnabled: false
glowBloom: 0.40265
glowLevel: ExtendedSceneEnvironment.GlowLevel.One | ExtendedSceneEnvironment.GlowLevel.Two | ExtendedSceneEnvironment.GlowLevel.Three | ExtendedSceneEnvironment.GlowLevel.Four | ExtendedSceneEnvironment.GlowLevel.Five | ExtendedSceneEnvironment.GlowLevel.Six | ExtendedSceneEnvironment.GlowLevel.Seven
glowEnabled: false
lensFlareEnabled: false
aoDither: true
aoDistance: 1
aoStrength: 100
aoEnabled: false
clearColor: "#121212"
probeExposure: 1
}
PropertyChanges {
target: sceneObjects1
y: -199
z: 0
}
PropertyChanges {
target: rectMaterial2
specularAmount: 0.51741
fresnelPower: 3.8
metalness: 0.24579
baseColor: "#828282"
occlusionAmount: 1
opacityMap: dot
roughness: 0.26648
normalStrength: 1
}
PropertyChanges {
target: groundMat1
opacity: 1
}
PropertyChanges {
target: plane3
x: -15.512
y: 4.739
z: 10.0102
}
PropertyChanges {
target: desert
antialiasingQuality: SceneEnvironment.VeryHigh
temporalAAEnabled: true
glowLevel: ExtendedSceneEnvironment.GlowLevel.One
glowHDRMinimumValue: 0.33772
glowIntensity: 0.54665
glowQualityHigh: true
}
PropertyChanges {
target: backlight_red
x: -0.002
y: 222.524
z: -2765.60449
}
PropertyChanges {
target: backlightNew
opacity: 0.264
}
PropertyChanges {
target: rectMaterial4
normalStrength: 1
metalness: 0.18864
}
PropertyChanges {
target: videoRoom
temporalAAStrength: 2
temporalAAEnabled: true
antialiasingQuality: SceneEnvironment.VeryHigh
}
},
State {
name: "State3"
when: btnAnimated.checked
PropertyChanges {
target: plane2
x: 0
visible: true
scale.z: 50
scale.y: 50
eulerRotation.z: 0
eulerRotation.y: 139.22893
eulerRotation.x: -90
y: 222.14
z: -13.11121
}
PropertyChanges {
target: view3D
environment: videoRoom
}
PropertyChanges {
target: lightDirectional1
castsShadow: false
ambientColor: "#2b2b2b"
brightness: 1
eulerRotation.z: -0.00001
eulerRotation.y: 0.00001
eulerRotation.x: -45.75426
}
PropertyChanges {
target: lightDirectional
ambientColor: "#262626"
brightness: 0.3
eulerRotation.z: 179.99997
eulerRotation.y: -179.99997
eulerRotation.x: -84.03297
}
PropertyChanges {
target: showhall
aoBias: 22
}
PropertyChanges {
target: videoControls
visible: true
}
PropertyChanges {
target: garageFloor
visible: false
}
PropertyChanges {
target: animatedstateFloor
x: -0
y: -0
visible: true
castsReflections: true
receivesReflections: true
scale.y: 66.01047
scale.x: 49.36702
z: -23.71246
}
PropertyChanges {
target: studioFloor
visible: false
materials: rectMaterial2
}
PropertyChanges {
target: reflectionProbe1
x: 0
y: 0
z: -598.11938
parallaxCorrection: true
timeSlicing: ReflectionProbe.AllFacesAtOnce
refreshMode: ReflectionProbe.EveryFrame
quality: ReflectionProbe.Low
boxSize.z: 6000
boxSize.x: 6000
boxSize.y: 6000
}
PropertyChanges {
target: rectMaterial2
lighting: PrincipledMaterial.FragmentLighting
cullMode: Material.BackFaceCulling
depthDrawMode: Material.NeverDepthDraw
alphaMode: PrincipledMaterial.Blend
specularAmount: 0.25
clearcoatAmount: 0
roughness: 0.4
}
PropertyChanges {
target: principledMaterial2
cullMode: Material.NoCulling
baseColor: "#ffffff"
roughness: 1
}
PropertyChanges {
target: sceneObjects1
z: -750
}
PropertyChanges {
target: vlkhcah_2K_Albedo1
scaleU: 20
}
PropertyChanges {
target: vlkhcah_2K_AO1
scaleU: 20
}
PropertyChanges {
target: vlkhcah_2K_Normal1
scaleU: 20
}
PropertyChanges {
target: vlkhcah_2K_Roughness1
scaleU: 20
}
PropertyChanges {
target: rectMaterial4
opacityMap: dot
clearcoatRoughnessAmount: 0
roughnessChannel: Material.G
roughness: 0.30017
metalness: 0.16695
normalStrength: 0.5
}
PropertyChanges {
target: groundMat1
opacity: 1
}
PropertyChanges {
target: studio
lightProbe: _Desert
}
PropertyChanges {
target: backlight_red
x: -0.003
y: 116.157
z: -2740.36426
}
PropertyChanges {
target: backlightNew
opacity: 0.275
depthDrawMode: Material.AlwaysDepthDraw
cullMode: Material.BackFaceCulling
}
PropertyChanges {
target: videoRoom
lightProbe: _Desert
}
}
]
}