What is cvXporter?

  cvxporter 1.3 (12.2 KiB, 28,840 hits)

  cvxporter 1.2 (12.0 KiB, 6,825 hits)

  cvxporter 1.11 (13.0 KiB, 6,502 hits)

  cvxporter 1.1 (11.6 KiB, 5,390 hits)

  cvXporter 1.02 (88.7 KiB, 7,634 hits)

  cvXporter 1.01 (131.8 KiB, 7,070 hits)

cvXporter is a DirectX .x file exporter for Maya. I wasn’t satisfied with the x files exported using the DirectX SDK exporter so I wrote my own exporter. Versions starting with 1.1 are written with Python and will only work with Maya 8.5 and above. Version 1.02 only includes exporters for version 7.0 and 8.5. I no longer support or maintain cvxporter. I created the exporter for a couple of personal projects in 2005-2006 but those projects ran their course. I then implemented a few updates based on requests by users. However, since I have no personal use for the exporter, I have no interest in updating or maintaining it. The download comes with full Python source code so if you need to edit it, feel free.


  • Vertices
  • Normals
  • Materials
  • Textures
  • Texture conversion to DDS.
  • Vertex duplication information
  • Vertex colors
  • Tangents
  • Binormals
  • Hierarchies
  • Skinning
  • Multiple animation sets


  • Maya 7+

Usage Notes

Export All will export all transforms in your scene that have their visibility turned on. Export Selected will export all selected transforms that have their visibility turned on. Hiding a display layer does not affect the visibility attribute of a node so the transform will still be exported if hidden by a layer. If a transform is not a joint and has no child transform, mesh, or joint, it will not be exported. If you are exporting skinning information, there must be no non-deformer history on the history stack. This history can change vertex count and vertex order. So if you have this in your history, do a Edit > Delete by type > Non-deformer history.

Installation Instructions for 1.1+

Copy to your scripts directory (i.e. My Documents\maya\2008\scripts\ ). Then in a Python tab of the Script Editor (not an external Python shell like IDLE): Hit the enter key on the keypad or middle-mouse drag this code to your shelf for easy access. If you see the error:
# Error: No module named cvxporter
# Traceback (most recent call last):
#   File "", line 1, in
# ImportError: No module named cvxporter #
It means, your PYTHONPATH isn’t set up properly. Create an environment variable name PYTHONPATH and set its value to the path to your maya scripts directory. If you see the error:
# Error: No module named ctypes
It means you need to install the ctypes module. Follow the instructions below.

Special Instructions for Maya 8.5 and 2008 64-bit

cvxporter uses the ctypes Python module which started shipping with Python 2.5. Maya 8.5 uses Python 2.4. To use the exporter with Maya 8.5, download ctypes for Python 2.4 here. Note you will need to have Python 2.4 installed to run the ctypes installation executable. Once ctypes is installed, copy the ctypes folder, _ctypes.pyd and _ctypes_test.pyd from C:\Python24\Lib\site-packages to C:\Program Files\Autodesk\Maya8.5\Python\lib\site-packages. You should then be able to run the exporter. If you are installing for Maya 2008 64-bit. You may also need to install ctypes. Follow the same instructions except download the Python 2.5 versions of everything.

Installation Instructions for 1.01 and 1.02

  1. Copy cvxporter.mll to C:\Program Files\Alias\MayaX.X\bin\plug-ins
  2. Copy cvxporter.mel to My Documents\maya\x.x\scripts
  3. Open Maya and load plugin cvxporter.mll
  4. Use Export option box to view export options.

Version History

1.3 – Textures hooked into the incandescence channel of a shader node are now supported. The color channel texture has priority though. – Textured surface shaders are now supported (such as when you bake an ambient occlusion map with Mental Ray). – Fixed bug where joint names are not unique. 1.2 – When exporting skinning, pre-deformed mesh info is now read from the intermediate mesh, rather than setting the joints to bind pose because often, it is not possible to get back to the world space bind pose. – The exporter no longer internally triangulates the mesh on export. This creates more dependable and faster results. – Reading all the mesh and skinning information has been greatly optimized. – Calculating and writing the adjacency information has been reduced from time n^2 to n. – Materials are now output by reference and only if an exported mesh uses that material. – Fixed bug where names have a ‘:’ or ‘|’ in them. These characters are replaced with ‘_’. 1.11 – Fixed skinning bug where joints could not achieve bind pose such as when they have direct connections to another transform and when the root joint is parented under a transform which is then moved away from the bind location. – All joints reach their proper bind poses now. – Fixed animation bug in SRT mode where the rotatePivot and scalePivot are not zero’d out. 1.1 – Numerous animation and skinning bug fixes and optimizations. – Converted entire exporter to Python. – No more compiling necessary. – Added progress windows to view export progress. 1.02 – Branching joint skinning bug is fixed thanks to Troy Lawlor. Everybody thank Troy! 1.01 – Bug fixes. No more crashes (hopefully). – Maya 8.5 version released 1.00 – Initial release.



4 thoughts on “cvXporter”

Pingback: ambien

chen March 15, 2012 at 11:24 pm

I can`t use animation feature in maya 2011 and 2012

Leave A Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

<code> For inline code.
[sourcecode] For multiline code.