OGRE (Object-Oriented Graphics Rendering Engine)

XSI Exporter README file

http://www.ogre3d.org

Summary

OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.

This distribution contains the bare files required to export OGRE .mesh files from SoftImage|XSI 4.2.

How to Install

If you are using the installer, you don't need to do anything except to run it and point it at your XSI folder. If you're installing from source, you need to do the following:

How to Use

It's a simple case of selecting the objects you wish to export, and clicking File > Export > OGRE Mesh / Skeleton... to bring up the OGRE export dialog.

The following features are supported:

  1. Exporting selected PolygonMesh objects direct to the OGRE binary .mesh format
  2. Exports vertex position, normals, multiple UV sets and vertex colours
  3. Polygon clusters used to change materials in a single PolygonMes are exported as separate SubMeshes
  4. By default, separate PolygonMesh objects which use the same material are merged for efficiency
  5. Mesh vertices are index-organised for efficiency
  6. Exporting of up to 4 weighted bone assignments per vertex
  7. Generation of edge lists, tangent vectors, and LOD levels during export (optional)
  8. Exporting of deformers (bone chains, nulls used as deformers) direct to binary .skeleton format
  9. Exporting of one or more ActionSources as animations

Important modelling / animating considerations:

  1. The exporter only exports PolygonMesh objects, so if you work with higher-order surfaces like NURBS you must create a PolygonMesh object from these surfaces before exporting
  2. The exporter writes a single .mesh at a time and combines all the objects selected (and their children, if you select that option)
  3. All global modelling coordinates are preserved, so the origin of your resulting .mesh will be where the world origin is in XSI
  4. Animations must be stored in ActionSource instances (Animate > Actions > Store) to be exported. Any work-in-progress animation will not be picked up
  5. OGRE supports forward kinematics (FK) animation only; thus, if you use inverse kinematics (IK) to define your animations you must define separate FK ActionSources for each one:
    1. Make sure your IK animations are stored in ActionSources
    2. Drag an IK Action from the explorer (8) to the animation mixer (ALT-0) at frame 1
    3. Select all your bones and define a marking set (probably just the rotation elements)
    4. Move the timeline along from frame 1 to the end of your animation, keyframing the marking set at a frequency which reflects the needs of the animation; you will probably need more keyframes for FK than IK.
    5. If you like, you can keyframe different sets of bones at different frequencies, if you need to tweak things
    6. Store these new keyframes in a new ActionSource, e.g. FK<animation>
    7. When you export, choose to export just the FK version of the animation, not your original IK animation

Reporting Issues

Please report any issues with the exporter in the OGRE Forums.