summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
-rw-r--r--src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h3
-rw-r--r--src/Runtime/res/DataModelMetadata/en-us/MetaData.xml2
5 files changed, 143 insertions, 22 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]
}
diff --git a/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h b/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h
index 05448579..defb6c1e 100644
--- a/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h
+++ b/src/Authoring/QT3DSDM/Systems/Qt3DSDMComposerTypeDefinitions.h
@@ -180,7 +180,8 @@ class IPropertySystem;
HANDLE_COMPOSER_PROPERTY(specularmodel, m_SpecularModel, TDataStrPtr, L"Default") \
HANDLE_COMPOSER_PROPERTY(speculartint, m_SpecularTint, SFloat3, SFloat3(1, 1, 1)) \
HANDLE_COMPOSER_PROPERTY(ior, m_IOR, float, 0) \
- HANDLE_COMPOSER_PROPERTY(fresnelPower, m_FresnelPower, float, 0)
+ HANDLE_COMPOSER_PROPERTY(fresnelPower, m_FresnelPower, float, 0) \
+ HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"")
#define ITERATE_COMPOSER_REFERENCED_MATERIAL_PROPERTIES \
HANDLE_COMPOSER_PROPERTY(referencedmaterial, m_ReferencedMaterial, SObjectRefType, L"")
diff --git a/src/Runtime/res/DataModelMetadata/en-us/MetaData.xml b/src/Runtime/res/DataModelMetadata/en-us/MetaData.xml
index 5b221b58..725604af 100644
--- a/src/Runtime/res/DataModelMetadata/en-us/MetaData.xml
+++ b/src/Runtime/res/DataModelMetadata/en-us/MetaData.xml
@@ -235,7 +235,7 @@
<Property name="name" formalName="Name" type="String" default="Material" hidden="True" category="Material" />
<Property name="shaderlighting" formalName="Lighting" description="Light model" list="Pixel:None" default="Pixel" category="Material" />
<Property name="blendmode" formalName="Blending Mode" description="How this material blends with content\nbehind it. Modes marked with * are\navailable only with HW supporting\nadvanced blending modes." list="Normal:Screen:Multiply:*Overlay:*ColorBurn:*ColorDodge" default="Normal" category="Material" />
- <Property name="diffuse" formalName="Diffuse Color" description="Color when lit from any direction" type="Color" default="1 1 1" category="Material" />
+ <Property name="diffuse" formalName="Diffuse Color" description="Color when lit from any direction" type="Color" default="1 1 1" category="Material" controllable="True" />
<Property name="diffusemap" formalName="Diffuse Map" description="Image to multiply with diffuse color" type="Image" category="Material" />
<Property name="diffusemap2" formalName="Diffuse Map 2" description="Image to multiply with diffuse color" type="Image" category="Material" />
<Property name="diffusemap3" formalName="Diffuse Map 3" description="Image to multiply with diffuse color" type="Image" category="Material" />