Clone Object as instance

Autodesk 3DS Max + OgreMax exporter

The goal of this tutorial is to create instances of objects instead of copies to improve loading time in games developed using the Ogre3D Graphics Engine in combination with a so-called DotSceneLoader. A DotSceneLoader is a library that loads a ‘.scene’ file generated by OgreMax exporter. OgreMax exporter is used to export 3D scene’s created in Autodesk 3DS Max. The problem is that sometimes when you want a lot of same objects in your scene, you have to clone those objects, seems obvious…… But when you haven’t found out all tips and tricks about the settings that are available in OgreMax and AutoDesk 3DS Max, then you are left with only two options:

  1. Learn how to use 3DS Max and OgreMax exporter
  2. Follow this tutorial

The first option is very time consuming. By the time you even found some tutorials/books about this, you allready forgot what you were looking for! So I suggest you follow this tutorial!

When using the standard clone defaults, an object cloned will actually be copied. When exporting the scene as a .scene file, an object copied a hundred times, will generate hundred meshes. These meshes will all be the same, but only have a differente name. When loading a game, all of these meshes still have to be loaded even though they are all the same meshes. For example: you have an object called sphere. When you copy it a hundred times the meshes generated will look like this:

sphere01.mesh
sphere02.mesh
sphere03.mesh
…………………
…………………
sphere100.mesh

It makes no sense loading the same mesh a hundred times, so follow these steps to avoid this:

Preparations: Goto: OgreMax -> SceneSettings -> Meshes(Tab)

At the General Settings section make sure the “Check for Mesh Instances” is checked:

scene settings

Step 1: Select the object you would like to clone:

Select object to clone

Step 2: With the “Select and Move tool selected” hold shift while moving the object.

Step 3: In the popup-dialog, choose “Instance”:

Choose instance

Now press OK. You should now see this:

2nd box is cloned instance

Step 4: OgreMax -> Export -> Export Scene
Conclusion: Now look at the .scene that was created. You will see that both the original object and cloned object, share the same mesh. This way you will save lots of loading time when often using the same meshes.

box01.mesh used twice

Leave a Reply

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