You are here: Home » Import CAD Formats » CATIA v5 |
Importing COLLADA DAE Files and History of the COLLADA File Format |
The is one of Okino's key DCC/Animation import converters which allows COLLADA .dae files to be loaded from any program which saves out COLLADA compliant files of the correct version and formatting. It will run inside any Okino compliant program such as the stand-alone PolyTrans or NuGraf programs, PolyTrans-for-3dsMax and PolyTrans-for-Maya native plug-in systems.
As a passing note, COLLADA has long been the best 3D file format to import/export with Blender and not FBX (which may surprise many Blender users). Okino has been involed with Blender since its very beginnings and hence tests its import/export converters under particularly stressful conversion conditions. Blender's COLLADA implementation properly supports geometry, hierarchy, part naming, instancing and material conversion. The two runner ups would be FBX and VRML2 but they are not recommended for use with Blender.
Please also refer to the corresponding COLLADA export converter.
NOTE: Please only use the COLLADA file format when you have no other alternatives to convert data to/from your desired 3D program. In most cases Okino offers direct and native conversion solutions for most other key 3D programs and file formats. This is particularly true with Okino's support for 3ds Max, Maya, Cinema-4D and LightWave and Blender, among others.
COLLADA Related WEB Sites |
- The Khronos Group'pages COLLADA WEB Site
Significant features of this import converter includes |
- Polygonal meshes with vertex normals, (u,v) texture coordinates, UV tangent vectors and vertex colors. Supported geometric primitive types are: polygons, polygons with holes, triangles, tri-strips and tri-fans.
- 3D <lines>, <linestrips> and <spline> geometry (liner and Bezier curves).
- Lights, cameras and their related parameters including animation support.
- Excellent and robust support for "skinned mesh" and skeleton import, which ties into the Okino Arctic skinning toolkit. This allows PolyTrans to cross convert skinned mesh, animation and skeleton data between
3ds Max, CINEMA 4D, Maya, LightWave, DirectX, U3D, COLLADA and FBX file formats, with proper bone re-orientation, off-axis scaling removal, and so forth.
- Object, camera, light and material animation import, as well as hierarchy processing and import. Okino's Arctic toolkit provides the front-end to the COLLADA animation import system to ensure accurate and proper handling of all varieties of animation data formats.
- Material import including ambient/diffuse/specular/luminous colors, shading coefficients, associated texture maps, opacity, and Constant/Lambert/Blinn/Phong shading models. The supported texture channels are: ambient color, bump mapping intensity, diffuse color, luminous color, face opacity, reflection shading coefficient, specular color, specular shading coefficient and filter color.
- Parsing and import of special <extra> tags from these profiles: XSI, Maya, 3ds Max and Google-Earth.
- Automated modification of imported shading coefficients.
Suggestions for Tweaking Imported Material Shading Coefficients |
If you import a file and wish to modify the relative material shading coefficients (such as making the highlights stronger), then this is easily done via the "Shading Coefficient Modifications" combo box. For example, you can scale the "Phong Shininess" brighter, or set it to a specific value.
Supported Collada Entities |
The following table documents which Collada entities are supported by this importer. The 'Can Be Animated' column defines what entities this importer support for animation import.
Feature Support Anim Notes
<geometry>
<mesh>
<polygons> Y
Polygon Holes Y
<polylist> Y
<triangles> Y
<tristrips> Y
Converted to polygons <trifans> Y
Converted to polygons <lines> Y
Only POSITION and COLOR semantics are imported <linestrips> Y
Only POSITION and COLOR semantics are imported <spline> Y
Linear and Bezier fCollada curves.
Multiple texture / colour / normal sets Y
Input Semantics
POSITION / VERTEX Y
NORMAL Y
TEXCOORD Y
COLOR Y
BINORMAL Y
CONTINUITY N
For Spline Geometry IN_TANGENT N
For Spline Geometry OUT_TANGENT N
For Spline Geometry INTERPOLATION N
For Spline Geometry LINEAR_STEPS N
For Spline Geometry TANGENT Y
TEXBINORMAL N
Computed from geometry TEXTANGENT N
Computed from geometry UV Y
<light>
<ambient> Y
<color> Y
Y
<directional> Y
<color> Y
Y
<point> Y
<color> Y
Y
<constant attenuation> Y
<linear attenuation> Y
<quadratic attenuation> Y
<spot> Y
<color> Y
<constant attenuation> Y
<linear attenuation> Y
<quadratic attenuation> Y
<falloff angle> Y
Special 180 degree value handled properly, brought in as point light <falloff exponent> Y
<camera>
<imager> N
<optics> Y
<perspective> Y
<xfov> Y
Y
<yfov> Y
Y
< aspect_ratio > Y
Y
<znear> Y
<zfar> Y
<orthographic> Y
<xmag> N
<ymag> N
< aspect_ratio > Y
<znear> Y
<zfar> Y
Animation
Skinning Y
<bind shape matrix> Y
<joints> Y
Including -1 indices <vertex weights> Y
Morphing N
General Animation
Bezier Animation Curves Y
Linear / Step Curves Y
TCB Animation Curves N
Not part of the COLLADA spec. Animation Clips N
Light Animation Y
Animations on the falloff and attenuation parameters of lights are not imported Camera Animation Y
Clipping planes cannot be animated Animated Material Properties Y
COLLADA Physics N
Materials
Constant Shading
<emission> Y
Y
<reflective> Y
Y
<reflectivity> Y
Y
<transparent> Y
Y
<transparency> Y
Y
<index of refraction> Y
Y
Lambert
Currently imported as Phong with zeroed parameters <emission> Y
Y
<ambient> Y
Y
<diffuse> Y
Y
<reflective> Y
Y
<reflectivity> Y
Y
<transparent> Y
Y
<transparency> Y
Y
<index of refraction> Y
Y
Blinn/Phong
<emission> Y
Y
<ambient> Y
Y
<diffuse> Y
Y
<specular> Y
Y
<shininess> Y
Y
<reflective> Y
Y
<reflectivity> Y
Y
<transparent> Y
Y
<transparency> Y
Y
<index of refraction> Y
Y
Surfaces and Samplers
Only 2D rectangular images are supported as surfaces <surface>
<init_from> Y
<format> N
Image format is determined from the file it's loaded from <mip_levels> N
<mipmap generate> N
<sampler>
<source> Y
<wrap_s> / <wrap_t> N
<min / mag / mipfilter> N
<image>
<init_from> Y
Supported Formats: TIFF, JPEG, PNG, PSD, TARGA, BMP, GIF <data> N
FCollada doesn't support this.
COLLADA FX (Shaders) N
<scene>
<instance_node> Y
<visual_scene> Y
<translation> Y
Y
<rotation> Y
Y
<scale> Y
Y
<skew> Y
N
<matrix> Y
Y
<lookat> Y
N
<asset> N
Maya Profile
<double_sided> N
<layer> N
<horizontal aperture> N
<vertical aperture> N
<lens squeeze> N
<blend_mode> N
<place 2dtexture> N
<type> N
<pre_infinity> Y
Supports all modes: CONSTANT, LINEAR, CYCLE, CYCLE_RELATIVE, OSCILLATE <post_infinity> Y
Supports all modes: CONSTANT, LINEAR, CYCLE, CYCLE_RELATIVE, OSCILLATE <in / out tangent weight> Y
3ds Max Profile
<node><user_properties> N
<camera><...><target> Y
Y
<light><...><intensity> Y
<light > < ... > < aspect_ratio> N
<light >< ... >< outer_cone> Y
<phong> (texture maps) N
<displacement> N
<filter_color> Y
<shininess> N
<index of refraction> N
<bump> Y
<phong> (Material flags)
<wireframe> N
<double_sided> Y
<face_map> N
<faceted> N
<fps> Y
Seems to be undocumented on their website, but the exporter writes this Google Earth Profile
<double_sided> Y
FCollada Profile
Undocumented on their website <spec_level> Y
Y
Specular level inside a blinn/phong shader <start_time> Y
PolyTrans will change these on import to fit all animation curves in. <end_time> Y
PolyTrans will change these on import to fit all animation curves in.
External File Referencing Y
Implemented but not extensively tested
Main Importer Options |
Hierarchy Optimizer # 1, Hierarchy Optimizer # 2
These options provide methods to remove redundant hierarchy nodes ('NULLs') from the imported COLLADA file. Optimzier # 1 removes runs of empty folders, as well as folders with no children. Optimizer # 2 is simpler, deleting empty folders which only have 1 geometry object in them.Compress & Optimize Number of ObjectsThe primary purpose of this function is to collect together all objects that are parented under a single folder icon (yellow folder icon = empty instance, red folder icon = empty object) and turn those objects into a single new object definition. This operation will be repeated for each and every selected folder in the scene.Strip off File Paths from Bitmap ReferencesYou would normally enable this function when importing CAD files. CAD modelers often export out a 3D model as a grouping series of "face" meshes. While you might have a simple object like a "sphere" in a CAD program, it might be exported in its BREP format of a dozen "face" meshes. This is what most users don't want to see in a destination animation package. In such cases simply enable this option and the dozens of face meshes will be combined back into one mesh, based on hierarchy in the imported file.
If this option is disabled then absolute filepaths will be stripped off from the bitmap references, else the file paths will remain unmodified.Report importer warning messagesIf this checkbox is check-marked then warning messages will be displayed during the parsing phase.Report Statistics About the Geometry FileIf this checkbox is check-marked then parsing statistics will be displayed in the message window after the COLLADA file has been imported.Radius of joint 'sphere' (bone size) in Okino UICOLLADA bones are imported into Okino software as joint-based skeletons, similar to the joint-based system used by Autodesk Maya. This type-in value determines the size of the spheres which are used to visualize the skeleton joints in the Okino 3D user interface. The default value is 0.5 units. The bones which connect the joints will be scaled accordingly as the joint (sphere) size changes.Optional Profile Data Import: XSI, Maya, 3ds Max, Google-EarthAs documented in the 'Supported Collada Entities' section above, this importer can parse and import optional <extra> tags from Maya, 3ds Max and Google Earth. These 4 checkboxes control whether theseOptimize Mesh Coordinate Liststags are parsed and imported. If any of these checkboxes are enabled then the import converter will remove redundant (useless) vertex normals, texture uv's and/or vertex colors.Shading Coefficient ModificationsSee below for a longer explanation of these combo boxes. In general, these combo boxes allow the key material attributes to be tweaked during import. This might be necessary, for example, if the imported objects appear too ambient, or too luminous.
Selective Loading |
The following checkboxes allow all or only some parts of the COLLADA file to be loaded:
Polygon Meshes
If checkmarked, then load in all of the polygon mesh geometry (triangle or polygon lists).Spline GeometryExplode <mesh> primitives to new objects
A single COLLADA <mesh> object can be defined by a series of geometric primitives, such as tri-strips, triangle fans, polygon lists, lines and line strips.If this option is enabled then each primitive within a single <mesh> object will be exploded into different Okino object definitions prior to import. Otherwise, if this option is disabled, then all of the geometric primitives will be imported into a single Okino object definition.
You can also selectively specify portions of the mesh to load:
- Vertex Normals - Load in vertex normals.
- Vertex Texture uv's - Load in texture uv vertex coordinates.
- Vertex Colors - Load in vertex colors.
If checkmarked then <spline> curve geometry will be imported from the COLLADA file. This is a gray area of the COLLADA file specification, as it seems few companies have implemented the <spline> geometry type, and do it properly. Okino has a very extensive 2D and 3D spline/bicubic/NURBS curve API, but COLLADA is rather limited at this time in terms of its spline curve support.Mesh skinning (deformation via bones)The importer currently supports the LINEAR and BEZIER spline curve types.
"Mesh skinning" is the process of deforming a single skin mesh with a skeleton. The contribution of each bone of the skeleton to the deformation of a vertex in the mesh is controlled by vertex weights. If this option is enabled then a mesh will be bound to one of more nodes from the COLLADA file (which represent the bones or joints of the skeleton) via transformation matrices and weight values.CamerasIf checkmarked, then load in the camera definitions from the COLLADA scene file.LightsIf checkmarked, then load in the point, spot, directional and ambient light sources.Disable the Okino "default" ambient light source
If checkmarked, then the Okino 'defaultambient' light source will have its on/off flag set to 'disabled'. This is simply a convenience option which will let you disable any ambient light from taking part in a scene's viewing and rendering.
MaterialsIf checkmarked, then load in the materials. The shading modules which are supported: constant, Lambert, Phong and Blinn.Flip 'transparency' to 'opacity' during import
From our experience some COLLADA exporters set the opacity/transparency value incorrectly in their material definitions - where a value should be fully opaque, it is defined as fully transparent instead. This sometimes comes about from the lack of, or incorrect use of, A_ONE and RGB_ZERO transparency mode definitions in the COLLADA file.Ignore material transparency (set all opaque)Enabling this checkbox will invert the sense of the transparency/opaque option from the imported COLLADA file, such that a 100% transparent material will become a 100% opaque material.
If the importer reports a warning message that it found zero opaque materials (ie. all materials were defined as being transpareny), or all objects are imported fully transparent, then you should enable this 'Ignore material transparency' checkbox. It will cause all imported objects to render fully opaque.Import texture mapsIf checkmarked, then load in the textures that are referenced by a COLLADA material.The supported texture channels are: ambient color, bump mapping intensity, diffuse color, luminous color, face opacity, reflection shading coefficient, specular color, specular shading coefficient and filter color.
Animation Options |
These options relate to the import of object, camera, light and material animation function curves from the COLLADA file.
Selective Animation Loading:
Object Animation
If checkmarked, object animation is imported from the COLLADA file. Supported fcurves are: explicit location, explicit scaling and explicit rotation.Camera Animation
If checkmarked, camera animation is imported from the COLLADA file. Supported fcurves are: position (look-from), interest (look-at), roll and field-of-view. Note: COLLADA allows the horizontal and vertical field-of-view to be animated. This importer can only import the animated horizontal field-of-view since that is how Okino animates its camera FOV.Light Animation
If checkmarked, light animation is imported from the COLLADA file. Supported fcurves are: position (shine-from), orientation (shine-direction), interest (shine-at) and color.Material Animation
If checkmarked, material animation is imported from the COLLADA file. Supported fcurves are: ambient, diffuse, specular, filter and emissive colors (as separate R, G and B function curves), IOR and shininess.Use Keyframe Resampling Mode For All Animation
If this checkbox is disabled then this importer will import the keyframe data untouched, as it is defined in the COLLADA file.If this checkbox is enabled then this importer will import the function curve animation channels from the COLLADA file and then resample them into explicit Bezier curves, with optional keyframe reduction applied to them.
Perform Keyframe Reduction
If this option is enabled then an algorithm will be applied to the new imported keyframe lists to reduce the number of redundant keys. The type-in values determine the threshold criteria for keeping or removing a key from a list.If this option is disabled then no keyframe reduction will be done. If you want very accurate animation import then do not enable this option, or else keep the threshold values at minimum values to keep the degree of reduction low.
Distance Threshold
This numeric value indirectly controls how many redundant keyframes are to be removed from the re-sampled keyframe list. Higher values will cause more keyframes to be removed. This value is the maximum ‘distance’ the new keyframe list is allowed to deviate from the original re-sampled keyframe list. Take for example a sphere that is animated along a path; if this threshold value is set to 0.5 distance units then redundant keyframes of the animated path will be removed until such point that the sphere begins to deviate by more than 0.5 units from its ‘ideal’ location. In other words, if the value is set to 0.5 then you are guaranteed that the new reduced keyframe list will move the sphere along the same path in space, except that the sphere is allowed to deviate by 0.5 units from its original path. Smaller numbers will make the sphere adhere closer to its original path, but at the expense of retaining more keyframes.Angular Threshold (degrees)
This is the same as the previous numeric value except that it applies to reduction of quaternion and Angle/axis rotation keyframe lists. The value is measured in degrees. For example, if set to 5.0 then redundant keyframes will be removed from a keyframe list until such point that a rotation angle begins to deviate from its ideal angle by more than 5 degrees. Small numbers (such as 1.0 and 0.5) will cause less deviation and more precise rotation conversions, but at the added expense of retaining more keyframes.
Shading Parameter Modification Combo Boxes |
These combo boxes provide hands-on control over how imported material shading parameters should be modified so that the imported model can be rendered nicely in a photo-realistic rendering program. All too often the imported model appears "too diffuse" resulting in rendered images that are washed out or with no gradual shading effects visible. The two combo boxes and the single numeric type-in box provide you good control over the diffuse, specular and luminous shading coefficients imported into PolyTrans/NuGraf, as well as the opacity of the material and Phong shininess value.The first drop-down combo box selects which of these shading parameters you want to modify. Each shading coefficient has its own operation which can be selected (the second combo box) and an optional numeric type-in value (the third data entry text input). The following describes the various shading parameters that can be controlled:
- Diffuse Coefficient: This controls the amount of color reflected from an object based on the direct light shining on it. A good default value is 0.4 and ideally ranges from 0.0 to 1.0. Some programs have a diffuse shading coefficient parameter (NuGraf/PolyTrans, etc) while others do not (3D Studio). If an export file format does not support a diffuse shading coefficient then this value will be multiplied into the diffuse shading color itself.
- Specular Coefficient: This controls the intensity of the highlight color on an object. A good default value is 0.7 and ideally ranges from 0.0 to 5.0. If an export file format does not support a specular shading coefficient then this value will be multiplied into the specular shading color itself.
- Luminous Coefficient: This controls how much color is added directly to an object, irrespective of any light which shines on it (the higher the value, the more the object will appear to glow). In general you should keep this value at 0. If an export file format does not support a luminous shading coefficient then this value will be multiplied into the luminous shading color itself.
- Opacity: This is the inverse of transparency. 0.0 will make the object fully transparent, while at 1.0 the object will be fully opaque.
- Phong Shininess: This controls the width of the specular highlight seen on an object. An ideal range is 6 (very wide) to 300 (very narrow). The default is 32.
For each material shading parameter, several actions can be performed on it during the import process:
- Do Not Import: The shading parameter is not imported at all. No value is imported nor sent to PolyTrans/NuGraf. Thus, the default material shading parameter value (as set inside PolyTrans/NuGraf) will be used instead.
- Import Unchanged: The shading parameter is imported as is, with no change.
- Set and Use Default: The shading parameter is set to some "good" default value (as determined by the import converter). This default value will be shown in the type-in box.
- Set to Specific Value: The imported shading parameter will be overridden with the user specified value of the numeric type-in box.
- Import and Crop by: The shading parameter is imported and will remain unchanged if it is less than the numeric type-in value shown on the dialog box. If it is greater, then the imported value will be clamped to be no greater than the numeric type-in value. This is a good operation, for example, if you do not wish for the ambient shading coefficient to be greater than 0.3.
- Import and Scale by: The shading parameter is imported and multiplied by the numeric type-in value shown on the dialog box
- Normalize Color and Coefficient: This option only applies for the ambient, diffuse, specular and luminous shading coefficients and their respective RGB colors. This option is a hybrid approach which tries to automatically "guess" at a proper shading coefficient value given the raw (and corresponding) color imported from the file. As mentioned, the shading coefficient is needed to create nice looking (nicely shaded) images in a photo- realistic rendering program. If this option is chosen, then the specific shading coefficient will be derived directly from the relative intensity of the imported color which corresponds to this shading coefficient (diffuse color for diffuse shading coefficient etc.). For example, if the imported diffuse color is (0.4, 0, 0), which is 40% of full-bright red, then the diffuse shading coefficient will be set to 0.4 and the diffuse color will be modified to be (1, 0, 0). When the new color (1,0,0) and the new shading coefficient (0.4) are multiplied together, it results in the original color imported from the file (0.4, 0, 0). In general you may wish to use the "Set and Use Default" option to get good rendered results.