You are here: Home » Import CAD Formats » NGRAIN's 3KO Solutions |
Supported Parameter Conversions and Mappings for the COLLADA DAE File Exporter |
This section describes which Okino scene graph entities are exported to the COLLADA file This section describes which Okino scene graph entities are exported to the COLLADA file.
Polygon Geometry
All main Okino 3D primitives will be converted and output as COLLADA meshes with optional vertex normals, vertex (u,v) texture coordinates, vertex colors, vertex bone deformation skinning weights and/or vertex tangent vectors (if available). 2 or more sets of vertex normals, texture coordinates and vertex colors are also fully supported (such as when exporting from 3ds Max and Maya).
Flexible control is provided on which type of COLLADA mesh primitive is used: (1) <triangles> (most commonly implemented in destination COLLADA programs), (2) Explicit n-sided <polygons> with no holes, (3) Explicit n-sided <polygons> with optional holes, or (4) <polylist> which outputs the smallest and most compact COLLADA files in most cases.
If an Okino object definition is instanced multiple times (which is common from CAD files, such as IGES), then multiple instances will be output in the <instance_geometry> section of the COLLADA file.
Material Assignments on Mesh Geometry
Okino’s 3d scene graph allows for flexible assignment of materials to entire objects, to specific polygons of each mesh, or for inheriting materials from instances of an object down to specific polygons of a mesh. All of these methods are carefully and properly mapped over to corresponding COLLADA files (this is one of the more complex parts of the COLLADA exporter):
1. Materials can be assigned globally to each instance of a mesh definition (ie. each mesh is assigned only one material, but those materials can be overridden on an instance-by-instance basis).
2.One or materials can be assigned at the polygon level of a mesh definition. These polygon-level material assignments override the materials assigned global at the instance level.
3. Inside the Okino scene graph each polygon of a mesh can be assigned the special “NUGRAF___SPECIAL_INHERITED_SURFACE_MARKER” material name. This means “please inherit the final material for this polygon from the instance of this geometry object”. In the COLLADA file the mapping is done in the <instance_material> definition, as shown below where (for this example) the Okino inherited material marker is replaced with the “deep red” material during the instancing of the base mesh. This is also where the uv sets are associated between the mesh and material definition.
<instance_geometry url="#sphere_object-mesh">
<bind_material>
<technique_common>
<instance_material
symbol="NUGRAF___SPECIAL_INHERITED_SURFACE_MARKER"
target="#paint__deep_red">
<bind_vertex_input semantic="uv0" input_semantic="TEXCOORD"
input_set="1"/>
</technique_common>
</bind_material>
</instance_geometry>
Cameras
The following camera types and camera parameters are converted. See also COLLADA Extensions for extra camera extensions.
Okino Entity
COLLADA Entity
Perspective camera
Perspective camera, using <xfov>, <yfov>, <znear>, <zfar>. Inserted into scene and oriented using a <node> + transform matrix.
Orthographic camera
Orthographic camera, using <xmag>, <ymag>, <znear>, <zfar>. Inserted into scene and oriented using a <node> + transform matrix.
Lights
The following light types and light parameters are converted:
Okino Entity
COLLADA Entity
Point light
<point> light
Spot light
<spot> light
Directional light
<directional> light
Ambient light
<ambient> light
RGB color
<color>
Enabled
Light source not exported if it is disabled.
Intensity
Multiplied into the RGB <color>
Delta angle (spot light)
N/A
Cut off angle (spot light)
<falloff_angle>
Fall-off reference distance
<target_default_dist>
Light ‘decay’ attenuation
<constant_attenuation>, <linear_attenuation>, <quadratic_attenuation>
Materials
COLLADA has a rich set of material attributes of which most of the standard shading parameters can be exported from the PolyTrans material database. See also COLLADA Extensions for extra camera extensions.
Okino Material Parameter
COLLADA Material Parameter
Ambient color
Converted to normalized <ambient> color and weighted ambient shading coefficient.
Diffuse color
Converted to normalized <diffuse> color and weighted diffuse shading coefficient.
Specular color
Converted to normalized <specular> color and weighted specular shading coefficient.
Luminous color
Converted to normalized <emission> color and weighted luminous shading coefficient.
Shading model
Okino Phong output as <phong> template, else Okino Blinn output as <blinn>
Shininess strength
Output as <shininess>. The Okino Phong shininess value is clamped to ‘15’ if less than 15, then divided by 2.0 to map into the 100.0 unified range. The Okino Blinn shininess value is computed and output as (100.0 * (1.0 – C3)), then clamped to 100.0
Opacity
Output as <transparency>. The opacity is inverted depending on the <transparent> mode chosen for output: RGB_ZERO vs. A_ONE.
Opacity vs. transparency mode
The RGB_ZERO or A_ONE <transparent> mode will be chosen depending on whether the <transparency> value should be considered as transparency or opacity. Also controlled via an explicit user interface option.
Ray traced reflectivity shading coefficient
<reflectivity>
IOR (index of refraction)
<index_of_refraction>
Texture Maps
The following are the various texture modulation methods supported and their equivalent texture modulation method in COLLADA.
Okino Texture Map
COLLADA Texture Map
Ambient map
<ambient> color texture map
Diffuse map
<diffuse> color texture map
Specular map
<specular> color texture map
Luminous map
<emission> color texture map
Opacity map
<transparent> texture map
Bump map
fCollada <bump> map
Reflection map
<reflective> reflection map
Cubical environment map
<cubical_environment_map>
See also the COLLADA Extensions section for a complete discussion of all the <extra> tags which define the extended material parameters, texture repeat + offset values, and other texture related parameters.
Mesh Skinning
Mesh skinning is the deformation of a single skin mesh by a deformer. Please refer to this page. Full skinning support is provided during COLLADA export.
Okino is particularly proud of its skinning conversion pipeline, based on the Okino “Artic” toolkit that allows us to guarantee numerically accurate skinning conversions between all of the major animation systems and file formats, in particular for fixing up all the internal skinning issues associated with 3ds Max and Maya.
NURBS/Spline/Linear Shapes and Curves
The COLLADA exporter allows 2D and 3D cubic spline curves, NURBS curves and spline shapes to be converted into closed cubic curves, polylines, meshes or other higher order primitives. How these are output to COLLADA is controlled via the various drop-down combo boxes on the “Curve Output Options” panel.
Note: support for spline curves in other 3D packages doesn’t appear to be too popular, if supported at all.
Okino Curve Type
COLLADA Geometry Type
3D polyline
<linestrips>
Linear spline curve
<spline>, type = LINEAR
Bezier spline curve
<spline>, type = BEZIER
B-spline curve
<spline>, type = BSPLINE
NURBS curve
Converted to a series of bicubic curves, <spline> of LINEAR or BEZIER type
Animation Conversion
Exported Object Animation Channels
Scale as explicit X,Y, Z animation channels
Euler rotations as explicit X,Y, Z animation channels.
Translation as explicit X,Y, Z animation channels
Object pivot points
Constant, Linear and Bezier keyframe interpolation methods are supported in exporting to COLLADA animation curves.