Project: OGRE Add-on Project (3dssceneexporter)
Sources: SVN in OGRE Addons
Status and bug reports: OGRE Help Forum
Scene exporter for 3D Studio Max. This tool exports scenes (as opposed to models / animation as with the core exporter) into the dotScene format, and XML definition covered in the dotsceneformat project.
Quick compile instructions
Put the source tree under your Ogrenew\OgreAddOns directory.
The project is tested only on XP/3DSMax v6/VC7.1(.Net2003), so please no questions about VC6 !!!
The included solution (project) file is for Microsoft VC.Net 2003 (VC7.1), so VC7.1 is the first prereq. for 'out of the box compilation', next u need 3DSMaxSDK, it's freely downloadable if u dont have it (see www.discreet.com), and IGame library for 3DSMax (it's included under \IGame subDir of this distro).
The project now use the MAX supplied IGame libary as of MAX 6 > it's included, the supplied IGame lib. is only to use with version prior to 6, and then paths must be set in the project files to use the supplied IGame.
Before compiling take a look and modify the include and lib search paths to suit your dir hierarchy,
ie. set MAXSdk and Ogre lib/includes to suit your system, then compiling should be OK.
Also u must specify where the output plugins have to be generated from the compile:
- 'OgreExporterPlugin' project should generate 'OgreExporterPlugin.cepg' and this file must be located in your 3DSMax root directory for MAX to load it, ex. 'E:\3DSMax5'
- 'OgreUtils' project should generate 'OgreUtils.dlu' and this file must be located in your 3DSMax root\plugins directory for MAX to load it, ex. 'E:\3DSMax5\Plugins'
Why 2 projects, well, one is the MAX plugin 'OgreUtils.dlu' (utility plugin), and the other one is a plugin for this plugin...
It's to have a way to debug the exporter without restarting MAX all the time, ie. 'OgreUtils.dlu' is always loaded in MAX, and it dynamicaly load 'OgreExporterPlugin.cepg' on every "Export" command, and then unload it, so u can compile/recompile 'OgreExporterPlugin.cepg' (where the xporting code is) as u like, also u can unload it manualy through a command button in 'OgreUtils.dlu' ;)
Follow these steps:
- Put the file 'OgreExporterPlugin.cepg' in your MAX root dir, for example 'E:\3DSMax5'
- Put 'IGame.dll' in your MAX root dir, for example 'E:\3DSMax5'
- Put 'OgreUtils.dlu' in your MAX root\Plugins dir, for example 'E:\3DSMax5\plugins'
- Put 'OgreMain.dll' and all it's dependency files in your MAX root dir...
- Run MAX, go to the 'Utilities' tab, push "More.." button and select 'OgreUtils'...
... installed ;)
- Export Cameras:Export cameras defined in the MAX scene if checked.
- Export Lights: ...don't really remember what this one could do...
- Export Meshes:This one export meshes in the scene...I think...
- Export normals:Export or ommit normals from output meshes.
- Weighted:Weight normals by 'something', do not ask me what ;) it's a IGame 'thing'.
- Export tex.coords:Export 2D texture coordinates...only 1 set for now, and only 2D , will be extended sooner or later.
- Export vert.colors:Export vertex colors, diffuse color for now only, .mesh format do not save others (specular).
- Use Sm.Groups:Create subMeshes based on Smoothing groups defined in MAX rather than based on Materials.
- Export Materials:Export materials or no
- Exp.Multi.Tex.Layers:Export 'multiple texture layers' or only diffuse texture.
...ups...almost forgot, only 'target' lights/cameras and omni(point) lights will be exported in this version...
Meshes position/rotation is baked in the geometry, done by IGame, don't know why and if it's OK, but for now it's like that ):
...try all and see what happens, it should not crash (at least not often )