You are here:   Home »  Import CAD Formats »  NGRAIN's 3KO Solutions  
COLLADA Exporter Logo

Left navUp navRight nav

More 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_vertex_input semantic="uv0" input_semantic="TEXCOORD"






The following camera types and camera parameters are converted. See also COLLADA Extensions for extra camera extensions.

Okino 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.


The following light types and light parameters are converted:

Okino Entity




Point light

<point> light

Spot light

<spot> light

Directional light

<directional> light

Ambient light

<ambient> light



RGB color



Light source not exported if it is disabled.


Multiplied into the RGB <color>

Delta angle (spot light)


Cut off angle (spot light)


Fall-off reference distance


Light ‘decay’ attenuation

<constant_attenuation>, <linear_attenuation>, <quadratic_attenuation>


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



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


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)


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


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.

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


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.

Left navUp navRight nav