summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJanne Kangas <janne.kangas@qt.io>2018-03-13 15:04:40 +0200
committerJanne Kangas <janne.kangas@qt.io>2018-04-03 10:09:00 +0000
commitce2b7eb3301aac652cf8d12df58e5629e491995a (patch)
treebc814d4ff72413dcb2c8a76e70d8cf704a41289d /examples
parent97590e24b8e47897d5651f42353fc60365abf9dd (diff)
Expand datainput example
Also, add controlledproperty attribute to Material so diffuse color can be controlled in the example. Change-Id: Icbb696f478a4907cfe0933f46a92ff63c6cc1820 Task-Id: QT3DS-1328 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/studio3d/qmldatainput/presentation/datainput.uia36
-rw-r--r--examples/studio3d/qmldatainput/presentation/datainput.uip40
-rw-r--r--examples/studio3d/qmldatainput/qml/qmldatainput/main.qml84
3 files changed, 140 insertions, 20 deletions
diff --git a/examples/studio3d/qmldatainput/presentation/datainput.uia b/examples/studio3d/qmldatainput/presentation/datainput.uia
index 5c2b4545..d2522cde 100644
--- a/examples/studio3d/qmldatainput/presentation/datainput.uia
+++ b/examples/studio3d/qmldatainput/presentation/datainput.uia
@@ -1,16 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<application xmlns="http://qt.io/qt3dstudio/uia">
- <assets initial="datainput">
- <presentation id="datainput" src="datainput.uip"/>
- <dataInput name="rangeInput" type="Ranged Number" min="0" max="360"/>
- </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="datainput">
+ <presentation id="datainput" src="datainput.uip"/>
+ <dataInput name="rangeInput" type="Ranged Number" min="0" max="360"/>
+ <dataInput name="vec3Input" type="Vector3"/>
+ <dataInput name="floatInput" type="Float"/>
+ <dataInput name="stringInput" type="String"/>
+ <dataInput name="variantInput" type="Variant"/>
+ <dataInput name="vec3Input2" type="Vector3"/>
+ <dataInput name="vec3Input3" 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/examples/studio3d/qmldatainput/presentation/datainput.uip b/examples/studio3d/qmldatainput/presentation/datainput.uip
index c13558d1..a5a6fea3 100644
--- a/examples/studio3d/qmldatainput/presentation/datainput.uip
+++ b/examples/studio3d/qmldatainput/presentation/datainput.uip
@@ -9,23 +9,53 @@
<Layer id="Layer" >
<Camera id="Camera" />
<Light id="Light" />
- <Text id="Text" controlledproperty="rangeInput textstring" />
+ <Text id="Text" />
<Text id="Text2" />
+ <Model id="Cone" >
+ <Material id="Default" name="Default" />
+ </Model>
+ <Model id="Cube" >
+ <Material id="Default_001" name="Default" />
+ </Model>
+ <Model id="Cylinder" >
+ <Material id="Default_002" name="Default" />
+ </Model>
+ <Text id="Text5" />
+ <Text id="Text6" />
+ <Text id="Text8" />
+ <Model id="Cube2" >
+ <Material id="Default_003" name="Default" />
+ </Model>
+ <Text id="Text3" />
+ <Text id="Text4" />
</Layer>
</Scene>
</Graph>
<Logic >
<State name="Master Slide" component="#Scene" >
<Add ref="#Layer" />
- <Add ref="#Camera" />
- <Add ref="#Light" />
+ <Add ref="#Camera" controlledproperty="vec3Input3 rotation" pivot="0 0 0" rotation="0 0 0" />
+ <Add ref="#Light" castshadow="True" controlledproperty="vec3Input lightdiffuse" lightdiffuse="1 0 0" position="-350.984 -229.258 -30" />
<State id="Scene-Slide1" name="Slide1" initialplaystate="Pause" >
- <Add ref="#Text" name="Text" font="TitilliumWeb-Regular" position="-0.000391006 46.1884 0" scale="1.0 1.0 1.0" size="48" textstring="0" >
+ <Add ref="#Text" name="Text" controlledproperty="stringInput textstring" font="TitilliumWeb-Regular" position="15.2141 -9.98814 -113.498" scale="1 1 1" size="48" textstring="0" >
<AnimationTrack property="rotation.x" type="EaseInOut" >0 0 0 0 10 0 0 0</AnimationTrack>
<AnimationTrack property="rotation.y" type="EaseInOut" >0 0 0 0 10 0 0 0</AnimationTrack>
<AnimationTrack property="rotation.z" type="EaseInOut" >0 0 0 0 10 -360 0 0</AnimationTrack>
</Add>
- <Add ref="#Text2" name="Text2" font="TitilliumWeb-Regular" position="2.88678 207.846 0" scale="1 1 1" size="48" textstring="Text and animation via DataInput:" />
+ <Add ref="#Text2" name="Text2" controlledproperty="" font="TitilliumWeb-Regular" position="28.8676 90.9325 0" scale="1 1 1" size="26" textstring="Text control&#10;Rotation animation control via datainput timeline control" />
+ <Add ref="#Cone" name="Cone" controlledproperty="vec3Input scale" position="-417.135 -225.166 0" sourcepath="#Cone" />
+ <Add ref="#Default" />
+ <Add ref="#Cube" name="Cube" controlledproperty="floatInput opacity" opacity="60" position="-135.677 -173.205 0" sourcepath="#Cube" />
+ <Add ref="#Default_001" />
+ <Add ref="#Cylinder" name="Cylinder" controlledproperty="variantInput opacity" position="131.347 -180.422 0" sourcepath="#Cylinder" />
+ <Add ref="#Default_002" />
+ <Add ref="#Text5" name="Text5" font="TitilliumWeb-Regular" position="-152.998 -290.118 0" textstring="Opacity control" />
+ <Add ref="#Text6" name="Text6" font="TitilliumWeb-Regular" position="135.678 -300.019 -8.28656" textstring="Opacity control&#10;(Variant type)" />
+ <Add ref="#Text8" name="Text8" font="TitilliumWeb-Regular" position="-428.683 -290.118 0" textstring="Scale control" />
+ <Add ref="#Cube2" name="Cube2" controlledproperty="vec3Input rotation" position="409.919 -177.535 0" sourcepath="#Cube" />
+ <Add ref="#Default_003" controlledproperty="vec3Input2 diffuse" />
+ <Add ref="#Text3" name="Text3" font="TitilliumWeb-Regular" position="434.456 -304.552 0" textstring="Rotation control&#10;Diffuse color control" />
+ <Add ref="#Text4" name="Text4" font="TitilliumWeb-Regular" position="-381.051 290.118 0" textstring="Directional light color and Camera xy &#10;rotation controlled via Datainput" />
</State>
</State>
</Logic>
diff --git a/examples/studio3d/qmldatainput/qml/qmldatainput/main.qml b/examples/studio3d/qmldatainput/qml/qmldatainput/main.qml
index 34dec759..0ffa1ed1 100644
--- a/examples/studio3d/qmldatainput/qml/qmldatainput/main.qml
+++ b/examples/studio3d/qmldatainput/qml/qmldatainput/main.qml
@@ -67,6 +67,12 @@ Item {
anchors.fill: parent
property int inputNumber: 0
+ property vector3d inputVec3: Qt.vector3d(0, 0, 0)
+ property vector3d inputVec3_2: Qt.vector3d(0, 0, 0)
+ property vector3d inputVec3_3: Qt.vector3d(0, 0, 0)
+ property string inputString: ""
+ property int inputFloat: 0.0
+ property variant inputVariant: 0
// A changing property to demonstrate DataInput
NumberAnimation {
@@ -78,6 +84,60 @@ Item {
loops: Animation.Infinite
running: true
}
+ NumberAnimation {
+ target: studio3D
+ property: "inputFloat"
+ duration: 9000
+ from: 50
+ to: 100
+ loops: Animation.Infinite
+ running: true
+ }
+ Vector3dAnimation {
+ target: studio3D
+ property: "inputVec3"
+ duration: 12000
+ from: Qt.vector3d(0.3, 0.5, 0.5)
+ to: Qt.vector3d(1.0, 1.0, 1.0)
+ loops: Animation.Infinite
+ running: true
+ }
+ Vector3dAnimation {
+ target: studio3D
+ property: "inputVec3_2"
+ duration: 2000
+ from: Qt.vector3d(0.1, 0.1, 0.3)
+ to: Qt.vector3d(1.0, 0.5, 1.0)
+ loops: Animation.Infinite
+ running: true
+ }
+ Vector3dAnimation {
+ target: studio3D
+ property: "inputVec3_3"
+ duration: 20000
+ from: Qt.vector3d(-0.1, -0.1, 0.0)
+ to: Qt.vector3d(0.1, 0.1, 0.0)
+ loops: Animation.Infinite
+ running: true
+ }
+ NumberAnimation {
+ target: studio3D
+ property: "inputString"
+ duration: 20000
+ from: 0
+ to: 1
+ loops: Animation.Infinite
+ running: true
+ }
+ NumberAnimation {
+ target: studio3D
+ property: "inputVariant"
+ duration: 8000
+ from: 20
+ to: 100
+ loops: Animation.Infinite
+ running: true
+ }
// ViewerSettings item is used to specify presentation independent viewer settings.
ViewerSettings {
@@ -94,6 +154,30 @@ Item {
name: "rangeInput"
value: studio3D.inputNumber
}
+ DataInput {
+ name: "vec3Input"
+ value: studio3D.inputVec3
+ }
+ DataInput {
+ name: "vec3Input2"
+ value: studio3D.inputVec3_2
+ }
+ DataInput {
+ name: "vec3Input3"
+ value: studio3D.inputVec3_3
+ }
+ DataInput {
+ name: "stringInput"
+ value: studio3D.inputString
+ }
+ DataInput {
+ name: "floatInput"
+ value: studio3D.inputFloat
+ }
+ DataInput {
+ name: "variantInput"
+ value: studio3D.inputVariant
+ }
}
//![1]
}