diff options
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 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 (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 Diffuse color control" /> + <Add ref="#Text4" name="Text4" font="TitilliumWeb-Regular" position="-381.051 290.118 0" textstring="Directional light color and Camera xy 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" /> |