Process 3d
This process is use to render 3d scenes. The calculations are delegated to a 3d design software: 3D Studio Max, Maya, or Blender.
Attribute delegate
|
String
|
optional
Attribute creationGroup
|
creationGroupId
|
optional
Attribute creationId
|
creationId
|
mandatory
Attribute creationId
|
creationId
|
mandatory
Attribute name
|
String
|
mandatory
Attribute create
|
String
|
optional
Attribute name
|
String
|
optional
Param creationId
|
creationId
|
optional
Secndary scene creation to merge.
Param processId
|
creationId
|
optional
Secondary scene scan process to merge. See details $link(process_3d_scene_scan)
Param creationId
|
creationId
|
mandatory
This param is used to set the rendering output creation. The creation must be an image, a video or a frameset.
Param camera
|
String
|
mandatory
The camera name
Param width
|
Integer
|
optional
Output width. By default, the output width will be the width project's resolution: see details "Configuration"
Param height
|
Integer
|
optional
Output height. By default, the output width will be the height project's resolution: see details "Configuration"
Param gamma
|
Float
|
optional
Output gamma.
Param layer
|
Boolean
|
optional
If true, the ouput creation layers are taken in account for the rendering.
Param frames
|
Render Frames
|
optional
Begin and end frames for a sequence rendering. Optionnaly, a frame count can be set.
Attribute name
|
String
|
mandatory
Attribute action
|
String
|
mandatory
The features are:
- Create primitive: box, floor, wall, etc.
- Transform object: position, roation, scale, etc.
- Manage material: asign to an object, change material, etc.
- Merge scenes: merge a secondary scene into a main scene
- Animate: animate object position, object properties, etc.
- Render: render a scene, change rendering paramters, etc.
example
<Process id="scene1Render" type="3d" delegate="blender">
<Input creationId="scene1" />
<Output creationId="scene1b" />
<Object name="teapot" create="object">
<Param name="class">Teapot</Param>
<Param name="pos">100;20;0</Param>
</Object>
<Merge>
<Param name="creationId">roof</Param>
<Param name="pos">100;50;150</Param>
</Merge>
<Object name="cameraA" create="camera">
<Param name="pos">10;100;50</Param>
<Param name="target.pos">10;0;0</Param>
<Param name="fov">30</Param>
</Object>
<Render>
<Param name="width">1920</Param>
<Param name="height">1080</Param>
<Param name="camera">cameraA</Param>
<Param name="creationId">render1</Param>
</Render>
</Process>
Attributes
Attribute delegate
|
String
|
optional
The delegation software name.
Values:
- 3ds: 3d Studio Max
- blender: Blender
- maya: Maya
Attribute creationGroup
|
creationGroupId
|
optional
Creation group identifier used by the process. See details "Creation Group". If this attribute is defined, creations identifiers declared in the process must be included in the creation group.
Nodes
Node Input | optional
This node is used to open a file in 3ds max at the begining of the process execution, especially a 3ds max scene.
Node Attributes
Attribute creationId
|
creationId
|
mandatory
Node Output | optional
This node is used to save the scene at the end of the process execution
Node Attributes
Attribute creationId
|
creationId
|
mandatory
Node Object | optional
This node is used to create or udapte objects in the scene
example: transform a teapot object
<Object name="teapot">
<Param name="pos">100;20;0</Param>
<Param name="rotation.x">30</Param>
<Param name="size.x">50</Param>
</Object>
Node Attributes
Attribute name
|
String
|
mandatory
object name
Attribute create
|
String
|
optional
This attribute is used to create a primitive. See details "Primitive Nodes"
Values:
- object: any object creation
- box: box object creation
- floor: rectangular floor creation
- wall: rectangular wall creation
- wall.floor: rectangular wall creation, base d on a edge of the floor
- camera: camera creation
Node Params "Tranformation"
These params are used to transform the object: position, rotation, scale.
Name | Format | Description |
---|---|---|
pos | Vector | XYZ position |
pos.x | Float | X position |
pos.y | Float | Y position |
pos.z | Float | Z position |
rpos | RVector | relative XYZ position in the local base of the parent object |
pivot | Vector | XYZ pivot position |
pivot.x | Float | X pivot position |
pivot.y | Float | Y pivot position |
pivot.z | Float | Z pivot position |
rotation.x | Float | X rotation |
rotation.y | Float | Y rotation |
rotation.z | Float | Z rotation |
scale | Float | uniform scale |
scale.x | Float | scale only on X axe |
scale.y | Float | scale only on Y axe |
scale.z | Float | scale only on Z axe |
size.x | Float | bounding-box X dimension (an uniforme scale is applied) |
size.y | Float | bounding-box Y dimension (an uniforme scale is applied) |
size.z | Float | bounding-box Z dimension (an uniforme scale is applied) |
Node Params "Material"
These params are used to set object's material properties. All param names are defined like: material.<property>
example I: asign a new material
<Object name="ground">
<Param name="material.class">StandardMaterial</Param>
<Param name="material.diffuse" format="color">255;100;255</Param>
</Object>
example II: update material
<Object name="ground">
<Param name="material.diffuse" format="color">255;100;255</Param>
<Param name="material.specular" format="color">255;100;255</Param>
</Object>
example III: asign a material template
<Object name="ground">
<Param name="material.template">stone</Param>
<Param name="material.diffuse" format="color">255;100;255</Param>
</Object>
Name | Format | Description |
---|---|---|
material.class | String | material class. The material will be created |
material.template | String | |
material.property | any |
Node Params "Object Class"
These params are used to set the property value of the object's class.
example: set a sphere radius
<Object name="earth" create="object">
<Param name="class">Sphere</Param>
<Param name="radius">50</Param>
</Object>
Node Merge | optional
This node is used to merge a secondary scene into the main scene.
example
<Merge>
<Param name="creationId">roof</Param>
<Param name="pos">100;50;150</Param>
</Merge>
Attributes:
name
Node Attributes
Attribute name
|
String
|
optional
object name. List names can be defined like this: name1;name2;name3
Node Params
Param creationId
|
creationId
|
optional
Secndary scene creation to merge.
Param processId
|
creationId
|
optional
Secondary scene scan process to merge. See details $link(process_3d_scene_scan) Node Params "Tranformation"
These params are params defined for the Object Node. Here, the transformation is applied on the merged objects group.
Node Render | optional
This node is used to render a scene.
example
<Render>
<Param name="width">1920</Param>
<Param name="height">1080</Param>
<Param name="camera">cameraA</Param>
<Param name="creationId">render1</Param>
<Param name="frames">50-250</Param>
</Render>
Node Params
Param creationId
|
creationId
|
mandatory
This param is used to set the rendering output creation. The creation must be an image, a video or a frameset.
Param camera
|
String
|
mandatory
The camera name
Param width
|
Integer
|
optional
Output width. By default, the output width will be the width project's resolution: see details "Configuration"
Param height
|
Integer
|
optional
Output height. By default, the output width will be the height project's resolution: see details "Configuration"
Param gamma
|
Float
|
optional
Output gamma.
Param layer
|
Boolean
|
optional
If true, the ouput creation layers are taken in account for the rendering.
Param frames
|
Render Frames
|
optional
Begin and end frames for a sequence rendering. Optionnaly, a frame count can be set.
Example: 1-250 251 frames will be rendered
Example: 1-250/6 only 6 frames will be rendered: 1, 50, 100, 150, 200, 250
Node Layer | optional
This node is used to manager scene layers.
Node Attributes
Attribute name
|
String
|
mandatory
layer name.
Attribute action
|
String
|
mandatory
This attribute is used to apply an action on the layer
Values:
- create: create the layer
- current: set the layer as the current layer
- visible: set the layer visible
- hide: set the layer hidden
- froze: set the layer frozen
- unfroze: set the layer unfrozen