From 0f92fa83154dba6b6ec3280970f917c4e7b7b5af Mon Sep 17 00:00:00 2001 From: Tomi Korpipaa <tomi.korpipaa@qt.io> Date: Thu, 26 Apr 2018 09:56:16 +0300 Subject: [PATCH] Update HomeAutomation to 2.0 API --- HomeAutomation/HomeAutom.pro | 2 + HomeAutomation/housemodel.cpp | 8 +- HomeAutomation/qml/HomeAutom/HomeView.qml | 254 ++++++++++++---------- HomeAutomation/uip/houseStudio.uia | 40 ++-- HomeAutomation/uip/houseStudio.uip | 145 +++++------- 5 files changed, 225 insertions(+), 224 deletions(-) diff --git a/HomeAutomation/HomeAutom.pro b/HomeAutomation/HomeAutom.pro index 6de97af..e0b724c 100644 --- a/HomeAutomation/HomeAutom.pro +++ b/HomeAutomation/HomeAutom.pro @@ -14,6 +14,8 @@ KNX_BOARD { QT += qml quick +CONFIG += resources_big + target.path = $$[QT_INSTALL_EXAMPLES]/studio3d/$$TARGET INSTALLS += target diff --git a/HomeAutomation/housemodel.cpp b/HomeAutomation/housemodel.cpp index a768217..97ac202 100644 --- a/HomeAutomation/housemodel.cpp +++ b/HomeAutomation/housemodel.cpp @@ -132,10 +132,10 @@ void HouseModel::generateRooms() { removeRows(0, m_rooms.length()); // Position of labels is defined from the center point of window - addRoom(QStringLiteral("Living Room"), QStringLiteral("Livingroom"), 21, 0.8, 120, 200); - addRoom(QStringLiteral("Master Bedroom"), QStringLiteral("Masterbedroom"), 18, 0.8, -380, -290); - addRoom(QStringLiteral("Bedroom"), QStringLiteral("Bedroom"), 15, 0.0, -405, 170); - addRoom(QStringLiteral("Bath Room"), QStringLiteral("Bathroom"), 30, 1.0, -20, -320); + addRoom(QStringLiteral("Living Room"), QStringLiteral("LivingRoom"), 21, 0.8, 120, 200); + addRoom(QStringLiteral("Master Bedroom"), QStringLiteral("MasterBedRoom"), 18, 0.8, -380, -290); + addRoom(QStringLiteral("Bedroom"), QStringLiteral("BedRoom"), 15, 0.0, -405, 170); + addRoom(QStringLiteral("Bath Room"), QStringLiteral("BathRoom"), 30, 1.0, -20, -320); #if !defined(KNX_BACKEND) addRoom(QStringLiteral("Entrance"), QStringLiteral("Entrance"), 20, 0.6, -450, -70); #endif diff --git a/HomeAutomation/qml/HomeAutom/HomeView.qml b/HomeAutomation/qml/HomeAutom/HomeView.qml index 68d96b1..5ea1c40 100644 --- a/HomeAutomation/qml/HomeAutom/HomeView.qml +++ b/HomeAutomation/qml/HomeAutom/HomeView.qml @@ -60,8 +60,8 @@ Item { property real green: 0 property real light: 0 - property string currentTempAttribute: "" - property string currentLightAttribute: "" + property var currentTempTarget + property var currentLightTarget Timer { id: goToHomeTimer @@ -69,7 +69,7 @@ Item { running: false repeat: false - onTriggered: slideInput.setValue("BackToInitialView") + onTriggered: slideInput.setValue("BackToInitialView"); } Timer { @@ -78,7 +78,7 @@ Item { running: false repeat: false - onTriggered: mainMenu.show = true + onTriggered: mainMenu.show = true; } signal studio3DPresentationReady() @@ -98,11 +98,11 @@ Item { source: "qrc:/uip/houseStudio.uia" function switchToRoom(slideName) { - livingRoomHeat.goToTime(slideName === "Livingroom" ? 2 : 0) - masterBedroomHeat.goToTime(slideName === "Masterbedroom" ? 2 : 0) - bedroomHeat.goToTime(slideName === "Bedroom" ? 2 : 0) - bathRoomHeat.goToTime(slideName === "Bathroom" ? 2 : 0) - entranceHeat.goToTime(slideName === "Entrance" ? 2 : 0) + livingRoomLight.setValue(slideName === "LivingRoom" ? 100 : 0); + masterBedRoomLight.setValue(slideName === "MasterBedRoom" ? 100 : 0); + bedRoomLight.setValue(slideName === "BedRoom" ? 100 : 0); + bathRoomLight.setValue(slideName === "BathRoom" ? 100 : 0); + entranceLight.setValue(slideName === "Entrance" ? 100 : 0); } // This DataInput item is used to control current slide. The presentation has @@ -112,87 +112,116 @@ Item { name: "slideInput" } + DataInput { + id: entranceLight + name: "lightEntrance" + } + + DataInput { + id: bathRoomLight + name: "lightBathRoom" + } + + DataInput { + id: livingRoomLight + name: "lightLivingRoom" + } + + DataInput { + id: masterBedRoomLight + name: "lightMasterBedRoom" + } + + DataInput { + id: bedRoomLight + name: "lightBedRoom" + } + + DataInput { + id: entranceHeat + name: "heatEntrance" + } + + DataInput { + id: bathRoomHeat + name: "heatBathRoom" + } + + DataInput { + id: livingRoomHeat + name: "heatLivingRoom" + } + + DataInput { + id: masterBedRoomHeat + name: "heatMasterBedRoom" + } + + DataInput { + id: bedRoomHeat + name: "heatBedRoom" + } + SceneElement { id: scene elementPath: "Scene" onCurrentSlideNameChanged: { var startTimer = false; - if (currentSlideName === "Livingroom") { - currentTempAttribute = livingRoomHeat.elementPath + ".HeatAreas_Heat_LivingRoom.Heat_LivingRoomSG" - currentLightAttribute = "Scene.3D.RoomLights.LivingroomLightMap.House" - sliderToolbar.show = true - } else if (currentSlideName === "Masterbedroom") { - currentTempAttribute = masterBedroomHeat.elementPath + ".HeatAreas_Heat_MasterBedroom.Heat_MasterBedroomSG" - currentLightAttribute = "Scene.3D.RoomLights.MasterbedroomLightmap.House" - sliderToolbar.show = true - } else if (currentSlideName === "Bedroom") { - currentTempAttribute = bedroomHeat.elementPath + ".HeatAreas_Heat_BedRoom.Heat_BedRoomSG" - currentLightAttribute = "Scene.3D.RoomLights.BedroomLightmap.House" - sliderToolbar.show = true - } else if (currentSlideName === "Bathroom") { - currentTempAttribute = bathRoomHeat.elementPath + ".HeatAreas_Heat_BathRoom.Heat_BathRoomSG" - currentLightAttribute = "Scene.3D.RoomLights.BathroomLightmap.House" - sliderToolbar.show = true + if (currentSlideName === "LivingRoom") { + currentTempTarget = livingRoomHeat; + currentLightTarget = livingRoomLight; + sliderToolbar.show = true; + } else if (currentSlideName === "MasterBedRoom") { + currentTempTarget = masterBedRoomHeat; + currentLightTarget = masterBedRoomLight; + sliderToolbar.show = true; + } else if (currentSlideName === "BedRoom") { + currentTempTarget = bedRoomHeat; + currentLightTarget = bedRoomLight; + sliderToolbar.show = true; + } else if (currentSlideName === "BathRoom") { + currentTempTarget = bathRoomHeat; + currentLightTarget = bathRoomLight; + sliderToolbar.show = true; } else if (currentSlideName === "Entrance") { - currentTempAttribute = entranceHeat.elementPath + ".Heat_Entrance_HeatAreas.Heat_EntranceSG" - currentLightAttribute = "Scene.3D.RoomLights.EntranceLightmap.House" - sliderToolbar.show = true + currentTempTarget = entranceHeat; + currentLightTarget = entranceLight; + sliderToolbar.show = true; } else if (currentSlideName === "FloorPlan") { startTimer = true; - sliderToolbar.show = false + sliderToolbar.show = false; } else { - sliderToolbar.show = false + sliderToolbar.show = false; } presentation.switchToRoom(currentSlideName); if (currentSlideName === "FloorPlan") { if (previousSlideName === "InitialView") - mainMenu.show = true + mainMenu.show = true; else - showMenuTimer.start() + showMenuTimer.start(); } else { if (showMenuTimer.running) - showMenuTimer.stop() - mainMenu.show = false + showMenuTimer.stop(); + mainMenu.show = false; } if (startTimer) - goToHomeTimer.start() + goToHomeTimer.start(); else if (goToHomeTimer.running) - goToHomeTimer.stop() + goToHomeTimer.stop(); - presentation.setAttribute(currentTempAttribute, "diffuse.r", red) - presentation.setAttribute(currentTempAttribute, "diffuse.g", green) - presentation.setAttribute(currentTempAttribute, "diffuse.b", blue) - presentation.setAttribute(currentLightAttribute, "opacity", light) + if (currentTempTarget) { + currentTempTarget.setValue(Qt.vector3d(red, green, blue)); + currentLightTarget.setValue(light); + } } } - - SceneElement { - id: livingRoomHeat - elementPath: "Scene.3D.HeatAreas.Group_HeatAreas.HeatAreas_Heat_LivingRoom" - } - SceneElement { - id: masterBedroomHeat - elementPath: "Scene.3D.HeatAreas.Group_HeatAreas.HeatAreas_Heat_MasterBedroom" - } - SceneElement { - id: bedroomHeat - elementPath: "Scene.3D.HeatAreas.Group_HeatAreas.HeatAreas_Heat_BedRoom" - } - SceneElement { - id: bathRoomHeat - elementPath: "Scene.3D.HeatAreas.Group_HeatAreas.HeatAreas_Heat_BathRoom" - } - SceneElement { - id: entranceHeat - elementPath: "Scene.3D.HeatAreas.Group_HeatAreas.HeatAreas_Heat_Entrance" - } } onPresentationReady: { - home.studio3DPresentationReady() + home.studio3DPresentationReady(); } } @@ -200,9 +229,9 @@ Item { target: knxBackend onBoardUpdate: { if (lightNum > 0 && lightNum < 5) { - var oldValue = houseModel.data(houseModel.index(lightNum - 1, 0), 3) - houseModel.setData(houseModel.index(lightNum - 1, 0), !oldValue, 3) - lightControlLoader.item.value = houseModel.data(houseModel.index(index, 0), 3) + var oldValue = houseModel.data(houseModel.index(lightNum - 1, 0), 3); + houseModel.setData(houseModel.index(lightNum - 1, 0), !oldValue, 3); + lightControlLoader.item.value = houseModel.data(houseModel.index(index, 0), 3); } } } @@ -212,21 +241,21 @@ Item { anchors.fill: parent onClicked: { if (scene.currentSlideName === "BackToInitialView") { - slideInput.setValue("InitialView") - disableMouse(2200) + slideInput.setValue("InitialView"); + disableMouse(2200); } else if (scene.currentSlideName === "FloorPlan") { - slideInput.setValue("BackToInitialView") - disableMouse(2100) + slideInput.setValue("BackToInitialView"); + disableMouse(2100); } else if (scene.currentSlideName !== "InitialView") { - slideInput.setValue("FloorPlan") - disableMouse(1000) + slideInput.setValue("FloorPlan"); + disableMouse(1000); } } function disableMouse(animationDuration) { - mouseArea.enabled = false - mouseTimer.interval = animationDuration - mouseTimer.start() + mouseArea.enabled = false; + mouseTimer.interval = animationDuration; + mouseTimer.start(); } Timer { @@ -235,7 +264,7 @@ Item { running: false repeat: false - onTriggered: mouseArea.enabled = true + onTriggered: mouseArea.enabled = true; } } @@ -263,13 +292,14 @@ Item { // Store temperature and light to model before changing the slider value if (currentIndex != -1) { - houseModel.setData(houseModel.index(currentIndex, 0), tempSlider.currentValue, 2) - houseModel.setData(houseModel.index(currentIndex, 0), lightControlLoader.item.currentValue, 3) + houseModel.setData(houseModel.index(currentIndex, 0), tempSlider.currentValue, 2); + houseModel.setData(houseModel.index(currentIndex, 0), + lightControlLoader.item.currentValue, 3); } - currentIndex = index - var temp = houseModel.data(houseModel.index(index, 0), 2) - tempSlider.value = (temp - 15) / 15 - lightControlLoader.item.value = houseModel.data(houseModel.index(index, 0), 3) + currentIndex = index; + var temp = houseModel.data(houseModel.index(index, 0), 2); + tempSlider.value = (temp - 15) / 15; + lightControlLoader.item.value = houseModel.data(houseModel.index(index, 0), 3); } } @@ -306,20 +336,21 @@ Item { Connections { target: lightControlLoader.item onLightValueChanged: { - var newLightValue = lightControlLoader.item.lightValue * 100 - home.light = newLightValue - presentation.setAttribute(currentLightAttribute, "opacity", newLightValue) + var newLightValue = lightControlLoader.item.lightValue * 100; + home.light = newLightValue; + if (currentLightTarget) + currentLightTarget.setValue(newLightValue); if (knxBackend) { - var lightNum = 0 - if (scene.currentSlideName === "Livingroom") - lightNum = 1 - else if (scene.currentSlideName === "Masterbedroom") - lightNum = 2 - else if (scene.currentSlideName === "Bedroom") - lightNum = 3 - else if (scene.currentSlideName === "Bathroom") - lightNum = 4 - knxBackend.toggleLight(lightNum) + var lightNum = 0; + if (scene.currentSlideName === "LivingRoom") + lightNum = 1; + else if (scene.currentSlideName === "MasterBedRoom") + lightNum = 2; + else if (scene.currentSlideName === "BedRoom") + lightNum = 3; + else if (scene.currentSlideName === "BathRoom") + lightNum = 4; + knxBackend.toggleLight(lightNum); } } } @@ -332,32 +363,33 @@ Item { width: mainMenu.width / 3 onRedColorChanged: { - home.red = redColor - presentation.setAttribute(currentTempAttribute, "diffuse.r", redColor) + home.red = redColor; + currentTempTarget.setValue(Qt.vector3d(redColor, home.green, home.blue)); } onBlueColorChanged: { - home.blue = blueColor - presentation.setAttribute(currentTempAttribute, "diffuse.b", blueColor) + home.blue = blueColor; + currentTempTarget.setValue(Qt.vector3d(home.red, home.green, blueColor)); } onGreenColorChanged: { - home.green = greenColor - presentation.setAttribute(currentTempAttribute, "diffuse.g", greenColor) + home.green = greenColor; + currentTempTarget.setValue(Qt.vector3d(home.red, greenColor, home.blue)); } onEconomyChanged: { if (knxBackend) { // Toggle red light based on temperature changes - // The initial state of red lights on the board needs to be based on the default temperatures - var lightNum = 0 - if (scene.currentSlideName === "Livingroom") - lightNum = 9 - else if (scene.currentSlideName === "Masterbedroom") - lightNum = 10 - else if (scene.currentSlideName === "Bedroom") - lightNum = 11 - else if (scene.currentSlideName === "Bathroom") - lightNum = 12 - knxBackend.toggleLight(lightNum) + // The initial state of red lights on the board needs to be based on the default + // temperatures + var lightNum = 0; + if (scene.currentSlideName === "LivingRoom") + lightNum = 9; + else if (scene.currentSlideName === "MasterBedRoom") + lightNum = 10; + else if (scene.currentSlideName === "BedRoom") + lightNum = 11; + else if (scene.currentSlideName === "BathRoom") + lightNum = 12; + knxBackend.toggleLight(lightNum); } } } diff --git a/HomeAutomation/uip/houseStudio.uia b/HomeAutomation/uip/houseStudio.uia index 3f20e6e..718cecf 100644 --- a/HomeAutomation/uip/houseStudio.uia +++ b/HomeAutomation/uip/houseStudio.uia @@ -1,16 +1,26 @@ -<?xml version="1.0" encoding="UTF-8"?> -<application xmlns="http://qt.io/qt3dstudio/uia"> - <assets initial="houseStudio"> - <presentation id="houseStudio" src="houseStudio.uip"/> - <dataInput name="slideInput" type="String"/> - </assets> - <statemachine ref="#logic"> - <visual-states> - <state ref="Initial"> - <enter> - <goto-slide element="main:Scene" rel="next"/> - </enter> - </state> - </visual-states> - </statemachine> +<?xml version="1.0" encoding="UTF-8" ?> +<application> + <assets initial="houseStudio"> + <presentation id="houseStudio" src="houseStudio.uip"/> + <dataInput name="slideInput" type="String"/> + <dataInput name="lightEntrance" type="Ranged Number" min="0" max="100"/> + <dataInput name="lightBathRoom" type="Ranged Number" min="0" max="100"/> + <dataInput name="lightLivingRoom" type="Ranged Number" min="0" max="100"/> + <dataInput name="lightMasterBedRoom" type="Ranged Number" min="0" max="100"/> + <dataInput name="lightBedRoom" type="Ranged Number" min="0" max="100"/> + <dataInput name="heatEntrance" type="Vector3"/> + <dataInput name="heatBathRoom" type="Vector3"/> + <dataInput name="heatLivingRoom" type="Vector3"/> + <dataInput name="heatMasterBedRoom" type="Vector3"/> + <dataInput name="heatBedRoom" type="Vector3"/> + </assets> + <statemachine ref="#logic"> + <visual-states> + <state ref="Initial"> + <enter> + <goto-slide element="main:Scene" rel="next"/> + </enter> + </state> + </visual-states> + </statemachine> </application> diff --git a/HomeAutomation/uip/houseStudio.uip b/HomeAutomation/uip/houseStudio.uip index c2028e6..92f0ede 100644 --- a/HomeAutomation/uip/houseStudio.uip +++ b/HomeAutomation/uip/houseStudio.uip @@ -15,13 +15,7 @@ <ImageBuffer sourcepath="maps/Roof.png" hasTransparency="True" /> </BufferData> <Graph > - <Scene id="Scene" backgroundcolor="0.819608 0.870588 0.913725" controlledproperty="slideInput @slide"> - <Layer id="2D" > - <Camera id="Camera_001" /> - <Model id="Rectangle" > - <Material id="Material" /> - </Model> - </Layer> + <Scene id="Scene" backgroundcolor="0.819608 0.870588 0.913725" controlledproperty="$slideInput @slide" > <Layer id="Layer" > <Camera id="Camera" /> <Group id="House" importid="__import__root__" > @@ -132,10 +126,6 @@ </Graph> <Logic > <State name="Master Slide" component="#Scene" > - <Add ref="#2D" name="2D" /> - <Add ref="#Camera_001" /> - <Add ref="#Rectangle" name="Rectangle" opacity="100" scale="10.4242 7.38333 1" sourcepath="#Rectangle" /> - <Add ref="#Material" /> <Add ref="#Layer" name="3D" aosoftness="50" aostrength="0" lightprobe="#Layer_lightprobe" multisampleaa="4x" probebright="300" progressiveaa="None" temporalaa="True" /> <Add ref="#Camera" clipnear="1" fov="45" position="-25 5 -50" rotation="0 30 0" /> <Add ref="#House" name="House" importfile="models\House\House.import" rotation="0 180 0" scale="0.01 0.01 0.01" sourcepath="models\House\House.import" /> @@ -154,14 +144,14 @@ <Add ref="#Roof_001_diffusemap" sourcepath="./maps/Roof.png" /> <Add ref="#HeatAreas" name="HeatAreas" importfile="models\HeatAreas\HeatAreas.import" sourcepath="models\HeatAreas\HeatAreas.import" /> <Add ref="#Group_HeatAreas" importfile="models\HeatAreas\HeatAreas.import" opacity="100" rotation="-90 180 0" scale="1 1 1" /> - <Add ref="#HeatAreas Heat_Entrance" name="HeatAreas_Heat_Entrance" /> + <Add ref="#HeatAreas Heat_Entrance" name="HeatAreas_Heat_Entrance" controlledproperty="$lightEntrance @timeline" /> <Add ref="#HeatAreas Heat_Sauna" name="HeatAreas Heat_Sauna" /> - <Add ref="#HeatAreas Heat_BathRoom" name="HeatAreas_Heat_BathRoom" /> + <Add ref="#HeatAreas Heat_BathRoom" name="HeatAreas_Heat_BathRoom" controlledproperty="$lightBathRoom @timeline" /> <Add ref="#HeatAreas Heat_StoreRoom" name="HeatAreas Heat_StoreRoom" /> <Add ref="#HeatAreas Heat_DressRoom" name="HeatAreas Heat_DressRoom" /> - <Add ref="#HeatAreas Heat_LivingRoom" name="HeatAreas_Heat_LivingRoom" /> - <Add ref="#HeatAreas Heat_MasterBedroom" name="HeatAreas_Heat_MasterBedroom" opacity="100" /> - <Add ref="#HeatAreas Heat_BedRoom" name="HeatAreas_Heat_BedRoom" /> + <Add ref="#HeatAreas Heat_LivingRoom" name="HeatAreas_Heat_LivingRoom" controlledproperty="$lightLivingRoom @timeline" /> + <Add ref="#HeatAreas Heat_MasterBedroom" name="HeatAreas_Heat_MasterBedroom" controlledproperty="$lightMasterBedRoom @timeline" opacity="100" /> + <Add ref="#HeatAreas Heat_BedRoom" name="HeatAreas_Heat_BedRoom" controlledproperty="$lightBedRoom @timeline" /> <Add ref="#HeatAreas Heat_Toilet" name="HeatAreas Heat_Toilet" /> <Add ref="#Light" name="Light" importfile="models\Light\Light.import" scale="0.001 0.001 0.001" sourcepath="models\Light\Light.import" /> <Add ref="#Light_001" name="Light" rotation="45 45 0" /> @@ -183,11 +173,6 @@ <Add ref="#House_007_diffusemap" sourcepath=".\maps\BedRoomLightmap.png" /> <Add ref="#Layer_lightprobe" mappingmode="Light Probe" sourcepath="./maps/OpenfootageNET_Pinzgau-512.hdr" /> <State id="Scene-Init" name="Init" playmode="Play Through To..." playthroughto="#Scene-FloorPlan" > - <Set ref="#2D" endtime="3000" eyeball="False" /> - <Set ref="#Camera_001" endtime="3000" /> - <Set ref="#Rectangle" endtime="3000" opacity="100" > - <AnimationTrack property="opacity" type="EaseInOut" >0.624 100 0 0 1.42 0 0 0</AnimationTrack> - </Set> <Set ref="#Layer" endtime="3000" /> <Set ref="#Camera" endtime="3000" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >1 -25 100 100 3 -10 0 0</AnimationTrack> @@ -209,14 +194,14 @@ <Set ref="#HeatAreas" endtime="3000" /> <Set ref="#Group_HeatAreas" endtime="3000" /> <Set ref="#HeatAreas Heat_Entrance" endtime="3000" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="3000" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="3000" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="3000" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="3000" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="3000" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="3000" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="3000" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="3000" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="3000" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="3000" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="3000" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="3000" eyeball="False" /> <Set ref="#Light" endtime="3000" /> <Set ref="#Light_001" endtime="3000" /> <Set ref="#RoomLights" endtime="3000" /> @@ -227,11 +212,6 @@ <Set ref="#BedroomLightmap" endtime="3000" /> </State> <State id="Scene-InitialView" name="InitialView" playmode="Play Through To..." playthroughto="#Scene-FloorPlan" > - <Set ref="#2D" endtime="1200" eyeball="False" /> - <Set ref="#Camera_001" endtime="1200" /> - <Set ref="#Rectangle" endtime="1200" opacity="100" > - <AnimationTrack property="opacity" type="EaseInOut" >0.624 100 0 0 1.2 0 0 0</AnimationTrack> - </Set> <Set ref="#Layer" endtime="1200" /> <Set ref="#Camera" endtime="1200" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -25 100 100 1 -10 0 0</AnimationTrack> @@ -253,14 +233,14 @@ <Set ref="#HeatAreas" endtime="1200" /> <Set ref="#Group_HeatAreas" endtime="1200" /> <Set ref="#HeatAreas Heat_Entrance" endtime="1200" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="1200" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="1200" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="1200" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="1200" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="1200" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="1200" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="1200" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="1200" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="1200" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="1200" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="1200" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="1200" eyeball="False" /> <Set ref="#Light" endtime="1200" /> <Set ref="#Light_001" endtime="1200" /> <Set ref="#RoomLights" endtime="1200" /> @@ -271,11 +251,6 @@ <Set ref="#BedroomLightmap" endtime="1200" /> </State> <State id="Scene-BackToInitialView" name="BackToInitialView" > - <Set ref="#2D" endtime="2100" eyeball="False" /> - <Set ref="#Camera_001" endtime="2100" /> - <Set ref="#Rectangle" endtime="2100" opacity="100" > - <AnimationTrack property="opacity" type="EaseInOut" >0.624 100 0 0 1.42 0 0 0</AnimationTrack> - </Set> <Set ref="#Layer" endtime="2100" /> <Set ref="#Camera" endtime="2100" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -10 0 0 2 -25 100 100</AnimationTrack> @@ -297,14 +272,14 @@ <Set ref="#HeatAreas" endtime="2100" /> <Set ref="#Group_HeatAreas" endtime="2100" /> <Set ref="#HeatAreas Heat_Entrance" endtime="2100" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="2100" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="2100" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="2100" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="2100" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="2100" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="2100" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="2100" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="2100" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="2100" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="2100" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="2100" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="2100" eyeball="False" /> <Set ref="#Light" endtime="2100" /> <Set ref="#Light_001" endtime="2100" /> <Set ref="#RoomLights" endtime="2100" /> @@ -315,9 +290,6 @@ <Set ref="#BedroomLightmap" endtime="2100" /> </State> <State id="Scene-FloorPlan" name="FloorPlan" playthroughto="Previous" > - <Set ref="#2D" endtime="1000" eyeball="False" /> - <Set ref="#Camera_001" endtime="1000" /> - <Set ref="#Rectangle" endtime="1000" opacity="100" /> <Set ref="#Layer" endtime="1000" /> <Set ref="#Camera" endtime="1000" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -10 0 0 1 -10 0 0</AnimationTrack> @@ -339,14 +311,14 @@ <Set ref="#HeatAreas" endtime="1000" /> <Set ref="#Group_HeatAreas" endtime="1000" /> <Set ref="#HeatAreas Heat_Entrance" endtime="1000" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="1000" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="1000" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="1000" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="1000" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="1000" eyeball="False" /> <Set ref="#Light" endtime="1000" /> <Set ref="#Light_001" endtime="1000" /> <Set ref="#RoomLights" endtime="1000" /> @@ -356,10 +328,7 @@ <Set ref="#LivingroomLightMap" endtime="1000" /> <Set ref="#BedroomLightmap" endtime="1000" /> </State> - <State id="Scene-Livingroom" name="Livingroom" playthroughto="Previous" > - <Set ref="#2D" endtime="1000" eyeball="False" /> - <Set ref="#Camera_001" endtime="1000" /> - <Set ref="#Rectangle" endtime="1000" opacity="100" /> + <State id="Scene-LivingRoom" name="LivingRoom" playthroughto="Previous" > <Set ref="#Layer" endtime="1000" /> <Set ref="#Camera" endtime="1000" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -10 0 0 1 -12 100 100</AnimationTrack> @@ -381,14 +350,14 @@ <Set ref="#HeatAreas" endtime="1000" /> <Set ref="#Group_HeatAreas" endtime="1000" /> <Set ref="#HeatAreas Heat_Entrance" endtime="1000" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="1000" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="1000" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="1000" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="1000" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="1000" eyeball="False" /> <Set ref="#Light" endtime="1000" /> <Set ref="#Light_001" endtime="1000" /> <Set ref="#RoomLights" endtime="1000" /> @@ -398,10 +367,7 @@ <Set ref="#LivingroomLightMap" endtime="1000" /> <Set ref="#BedroomLightmap" endtime="1000" /> </State> - <State id="Scene-Masterbedroom" name="Masterbedroom" playthroughto="Previous" > - <Set ref="#2D" endtime="1000" eyeball="False" /> - <Set ref="#Camera_001" endtime="1000" /> - <Set ref="#Rectangle" endtime="1000" opacity="100" /> + <State id="Scene-MasterBedRoom" name="MasterBedRoom" playthroughto="Previous" > <Set ref="#Layer" endtime="1000" /> <Set ref="#Camera" endtime="1000" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -10 0 0 1 4 100 100</AnimationTrack> @@ -423,14 +389,14 @@ <Set ref="#HeatAreas" endtime="1000" /> <Set ref="#Group_HeatAreas" endtime="1000" /> <Set ref="#HeatAreas Heat_Entrance" endtime="1000" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="1000" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="1000" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="1000" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="1000" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="1000" eyeball="False" /> <Set ref="#Light" endtime="1000" /> <Set ref="#Light_001" endtime="1000" /> <Set ref="#RoomLights" endtime="1000" /> @@ -440,10 +406,7 @@ <Set ref="#LivingroomLightMap" endtime="1000" /> <Set ref="#BedroomLightmap" endtime="1000" /> </State> - <State id="Scene-Bedroom" name="Bedroom" playthroughto="Previous" > - <Set ref="#2D" endtime="1000" eyeball="False" /> - <Set ref="#Camera_001" endtime="1000" /> - <Set ref="#Rectangle" endtime="1000" opacity="100" /> + <State id="Scene-BedRoom" name="BedRoom" playthroughto="Previous" > <Set ref="#Layer" endtime="1000" /> <Set ref="#Camera" endtime="1000" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -10 0 0 1 -9 100 100</AnimationTrack> @@ -465,14 +428,14 @@ <Set ref="#HeatAreas" endtime="1000" /> <Set ref="#Group_HeatAreas" endtime="1000" /> <Set ref="#HeatAreas Heat_Entrance" endtime="1000" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="1000" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="1000" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="1000" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="1000" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="1000" eyeball="False" /> <Set ref="#Light" endtime="1000" /> <Set ref="#Light_001" endtime="1000" /> <Set ref="#RoomLights" endtime="1000" /> @@ -482,10 +445,7 @@ <Set ref="#LivingroomLightMap" endtime="1000" /> <Set ref="#BedroomLightmap" endtime="1000" /> </State> - <State id="Scene-Bathroom" name="Bathroom" playthroughto="Previous" > - <Set ref="#2D" endtime="1000" eyeball="False" /> - <Set ref="#Camera_001" endtime="1000" /> - <Set ref="#Rectangle" endtime="1000" opacity="100" /> + <State id="Scene-BathRoom" name="BathRoom" playthroughto="Previous" > <Set ref="#Layer" endtime="1000" /> <Set ref="#Camera" endtime="1000" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -10 0 0 1 4 100 100</AnimationTrack> @@ -507,14 +467,14 @@ <Set ref="#HeatAreas" endtime="1000" /> <Set ref="#Group_HeatAreas" endtime="1000" /> <Set ref="#HeatAreas Heat_Entrance" endtime="1000" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="1000" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="1000" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="1000" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="1000" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="1000" eyeball="False" /> <Set ref="#Light" endtime="1000" /> <Set ref="#Light_001" endtime="1000" /> <Set ref="#RoomLights" endtime="1000" /> @@ -525,9 +485,6 @@ <Set ref="#BedroomLightmap" endtime="1000" /> </State> <State id="Scene-Entrance" name="Entrance" playthroughto="Previous" > - <Set ref="#2D" endtime="1000" eyeball="False" /> - <Set ref="#Camera_001" endtime="1000" /> - <Set ref="#Rectangle" endtime="1000" opacity="100" /> <Set ref="#Layer" endtime="1000" /> <Set ref="#Camera" endtime="1000" position="-25 5 -50" rotation="0 30 0" > <AnimationTrack property="position.x" type="EaseInOut" dynamic="True" >0 -10 0 0 1 -1 100 100</AnimationTrack> @@ -549,14 +506,14 @@ <Set ref="#HeatAreas" endtime="1000" /> <Set ref="#Group_HeatAreas" endtime="1000" /> <Set ref="#HeatAreas Heat_Entrance" endtime="1000" /> - <Set ref="#HeatAreas Heat_Sauna" endtime="1000" /> + <Set ref="#HeatAreas Heat_Sauna" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_BathRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" /> + <Set ref="#HeatAreas Heat_StoreRoom" endtime="1000" eyeball="False" /> + <Set ref="#HeatAreas Heat_DressRoom" endtime="1000" eyeball="False" /> <Set ref="#HeatAreas Heat_LivingRoom" endtime="1000" /> <Set ref="#HeatAreas Heat_MasterBedroom" endtime="1000" /> <Set ref="#HeatAreas Heat_BedRoom" endtime="1000" /> - <Set ref="#HeatAreas Heat_Toilet" endtime="1000" /> + <Set ref="#HeatAreas Heat_Toilet" endtime="1000" eyeball="False" /> <Set ref="#Light" endtime="1000" /> <Set ref="#Light_001" endtime="1000" /> <Set ref="#RoomLights" endtime="1000" /> @@ -571,7 +528,7 @@ <Add ref="#Heat_Entrance HeatAreas" name="Heat_Entrance_HeatAreas" importfile="models\HeatAreas\HeatAreas.import" opacity="100" > <AnimationTrack property="opacity" type="EaseInOut" >0 100 100 100</AnimationTrack> </Add> - <Add ref="#Heat_EntranceSG" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> + <Add ref="#Heat_EntranceSG" controlledproperty="$heatEntrance diffuse" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> <State id="HeatAreas_Heat_Entrance-Slide1" name="Slide1" initialplaystate="Pause" > <Set ref="#Heat_Entrance HeatAreas" endtime="2000" opacity="100" > <AnimationTrack property="opacity" type="EaseInOut" >0 0 100 100 2 50 100 100 2 100 100 100</AnimationTrack> @@ -589,7 +546,7 @@ </State> <State name="Master Slide" component="#HeatAreas Heat_BathRoom" > <Add ref="#HeatAreas Heat_BathRoom_001" name="HeatAreas_Heat_BathRoom" importfile="models\HeatAreas\HeatAreas.import" opacity="100" /> - <Add ref="#Heat_BathRoomSG" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> + <Add ref="#Heat_BathRoomSG" controlledproperty="$heatBathRoom diffuse" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> <State id="HeatAreas_Heat_BathRoom-Slide1" name="Slide1" initialplaystate="Pause" > <Set ref="#HeatAreas Heat_BathRoom_001" endtime="2000" opacity="100" > <AnimationTrack property="opacity" type="EaseInOut" >0 0 100 100 2 50 100 100</AnimationTrack> @@ -616,7 +573,7 @@ </State> <State name="Master Slide" component="#HeatAreas Heat_LivingRoom" > <Add ref="#HeatAreas Heat_LivingRoom_001" name="HeatAreas_Heat_LivingRoom" importfile="models\HeatAreas\HeatAreas.import" opacity="100" /> - <Add ref="#Heat_LivingRoomSG" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> + <Add ref="#Heat_LivingRoomSG" controlledproperty="$heatLivingRoom diffuse" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> <State id="HeatAreas_Heat_LivingRoom-Slide1" name="Slide1" initialplaystate="Pause" > <Set ref="#HeatAreas Heat_LivingRoom_001" endtime="2000" opacity="100" > <AnimationTrack property="opacity" type="EaseInOut" >0 0 100 100 2 50 100 100</AnimationTrack> @@ -625,7 +582,7 @@ </State> <State name="Master Slide" component="#HeatAreas Heat_MasterBedroom" > <Add ref="#HeatAreas Heat_MasterBedroom_001" name="HeatAreas_Heat_MasterBedroom" importfile="models\HeatAreas\HeatAreas.import" opacity="100" sourcepath="./models/HeatAreas/meshes/HeatAreas Heat_MasterBedroom.mesh" /> - <Add ref="#Heat_MasterBedroomSG" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> + <Add ref="#Heat_MasterBedroomSG" controlledproperty="$heatMasterBedRoom diffuse" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> <State id="HeatAreas_Heat_MasterBedroom-Slide1" name="Slide1" initialplaystate="Pause" > <Set ref="#HeatAreas Heat_MasterBedroom_001" endtime="2000" opacity="100" > <AnimationTrack property="opacity" type="EaseInOut" >0 0 100 100 2 50 100 100</AnimationTrack> @@ -634,7 +591,7 @@ </State> <State name="Master Slide" component="#HeatAreas Heat_BedRoom" > <Add ref="#HeatAreas Heat_BedRoom_001" name="HeatAreas_Heat_BedRoom" importfile="models\HeatAreas\HeatAreas.import" opacity="100" /> - <Add ref="#Heat_BedRoomSG" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> + <Add ref="#Heat_BedRoomSG" controlledproperty="$heatBedRoom diffuse" importfile="models\HeatAreas\HeatAreas.import" opacity="50" /> <State id="HeatAreas_Heat_BedRoom-Slide1" name="Slide1" initialplaystate="Pause" > <Set ref="#HeatAreas Heat_BedRoom_001" endtime="2000" opacity="100" > <AnimationTrack property="opacity" type="EaseInOut" >0 0 100 100 2 50 100 100</AnimationTrack> -- GitLab