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.
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
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
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
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.
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 Extensionsextensions for extra camera extensions.
Okino Material Parameter
COLLADA Material Parameter
Converted to normalized <ambient> color
and weighted ambient shading coefficient.
Converted to normalized <diffuse> color
and weighted diffuse shading coefficient.
Converted to normalized <specular>
color and weighted specular shading coefficient.
Converted to normalized <emission>
color and weighted luminous shading coefficient.
Okino Phong output as <phong> template,
else Okino Blinn output as <blinn>
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
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
IOR (index of refraction)
The following are the various texture
modulation methods supported and their equivalent texture modulation method in
Okino Texture Map
COLLADA Texture Map
<ambient> color texture map
<diffuse> color texture map
<specular> color texture map
<emission> color texture map
<transparent> texture map
fCollada <bump> map
<reflective> reflection map
Cubical environment map
See also the COLLADA
Extensionsextensions 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.
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
Linear spline curve
<spline>, type = LINEAR
Bezier spline curve
<spline>, type = BEZIER
<spline>, type = BSPLINE
Converted to a series of bicubic curves,<spline> of LINEAR or BEZIER type
Exported Object Animation
Scale as explicit X,Y, Z animation channels
Euler rotations as explicit X,Y, Z animation
Translation as explicit X,Y, Z animation
Object pivot points
Constant, Linear and Bezier keyframe
interpolation methods are supported in exporting to COLLADA animation curves.