source: OGRE/trunk/ogrenew/Tools/3dsmaxExport/Docs/index.html @ 657

Revision 657, 5.5 KB checked in by mattausch, 19 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4  <meta http-equiv="content-type"
5 content="text/html; charset=ISO-8859-1">
6  <title>OGRE maxscripts</title>
7</head>
8<body>
9<h2 align="center">3dsmax skeleton and mesh export </h2>
10Here are 3dsmax4/5 scripts which export meshes and skeletons.<br>
11<br>
12<h3>Tutorials</h3>
13<ul>
14  <li> <b>you can find a mesh tutorial <a
15 href="tutorials/skateboard/index.html">here</a>.</b></li>
16  <li> <b>you can find a skeleton tutorial <a
17 href="tutorials/skeleton/index.html">here</a>.</b></li>
18</ul>
19<h3>XMLConverter (OgreXMLConverter)</h3>
203ds scripts write .xml files. So, in order to have .mesh and .skeleton
21files, XMLConverter.exe should be used.
22It's in Tools/XMLConverter/bin/debug directory.
23<h4>Issues</h4>
24XMLConverter doesn't find the skeleton file when you try to convert
25your mesh file even if it has been created. So there is
26an eror message, but don't care: it works well when an OGRE application
27uses it.
28<h3>Scripts Features</h3>
29<ul>
30  <li> exports meshes.</li>
31  <li> exports bones, vertex assignements and bones animation, using
32the skin modifier.</li>
33  <li> deals with Physique modifier and Biped.</li>
34  <li> exports multi-sub object and Standard materials.</li>
35</ul>
36<h3>How to use the script</h3>
37<ul>
38  <li> <u>Exporting Meshes:</u>
39    <ul>
40      <li> You can choose to export colour information and/or texture
41information. <br>
42        <b>CAUTION: </b>Colour information is not complete. This
43information is not used during rendering and values exported are just
44RGBA (25500255 = 255 0 0 255)</li>
45      <li> You are able to export meshes which are made up of several
46submeshes. Behaviour is unknown if different submeshes are linked to a
47skeleton (it has not been tested but should works). </li>
48    </ul>
49  </li>
50  <li> <u>Exporting skeletons:</u>
51    <ul>
52      <li> There is sometimes a problem with mapping. Try to had a UVW
53map modifier.<br>
54      </li>
55      <li> <b>CAUTION:</b> Always create new bones as children of
56another AND don't unlink and re-link a bone. For example, if you have
57created a leg, copy all the bones and then use position controller in a
58track view to move it and so get the other leg. </li>
59      <li> <b>AND</b> : Don't use mirror when you create your bones
60because results are strange. </li>
61      <li> <b>Biped</b> If you move or rotate the biped rootObject
62during your animation, add keys to the pelvis too at the same frames</li>
63    </ul>
64  </li>
65  <li> <u>Exporting materials:</u>
66    <ul>
67      <li> Only Multi-Sub Object materials can be exported. </li>
68      <li> Press the pick button, choose your material (for example
69from mtlEditor section), and choose "Instance" in order to avoid
70garabages. </li>
71    </ul>
72  </li>
73  <br>
74</ul>
75<h3>Troubleshooting</h3>
76[Thanks to gfactor for these tips]<br>
77<ol>
78  <li><span class="postbody">If the XML converter complains about
79missing bones, then the bones
80probably do not have any vertices assiged to it, and the converter
81'optimises' it by simply not exporting them. So make sure all bones
82have at least one vertex weight.</span></li>
83  <li>If the XML converter complains about Bip01 missing, then you
84will probably need to convert your Physiqued biped to a Skinned biped.
85Don't ask me why but once we did this our models exported without
86problems. The really weird thing is that one of our models exported
87fine about 2 months ago (physiqued) but then failed to work again until
88we converted it to skinnned... weird. The good news is that there is a
89max plugin that does this, which can be found at <a
90 href="http://sparks.discreet.com/downloads/" target="_blank">http://sparks.discreet.com/downloads/</a>&nbsp;</li>
91  <li>If you have a mesh with multiple animations, all the animations
92MUST be based on the same pose because all Ogre does when animating is
93rotate the bones based on the binding pose (does not store positions).
94The easiest way we've managed to do this is to simply export say... an
95idle animation as our first animation (using that pose as the base
96skeleton file), then for each additional animation we import frame 0 of
97Idle into max and start animating our actual animation from frame 1
98onwards. When you export the animation.... export from frame 1 onwards
99(do not export frame 0). This ensures that all animations will be
100rotated from the same reference pose. Then simply edit the XML files
101and cut / paste all additional animations into the idle.skeleton
102file&nbsp;</li>
103  <li>Animations can do weird things unless you
104flatten the footsteps (creating a key frame for every frame)&nbsp;</li>
105  <li>If the XML converter says that it cannot find the *.skeleton
106file you are trying to convert (despite well.... the skeleton file
107being there) then the XML file is corrupt. One of our programmers
108looked through the XML file and found multiple &lt;animations&gt; tags
109(note: not &lt;animation&gt;) which of course is bad.&nbsp;</li>
110  <li>If you get a weird error that actually breaks in the comments of
111the Max Script when exporting...
112    <br>
113    <pre>" Type error: Call needs function or class, got: undefined "
114    </pre>
115then the object you are exporting (the body...not the bones) has
116spaces in its name. For example.... enemy_NPC will export... but enemy
117NPC will cause the above error. As far as I can tell... bone names with
118spaces are fine... but the actual mesh must NOT have spaces in it.
119    <br>
120  </li>
121</ol>
122<span class="postbody"></span><br>
123<ul>
124</ul>
125If you want to know a little more about <a href="dev.html">how scripts
126have been written...</a> <br>
127</body>
128</html>
Note: See TracBrowser for help on using the repository browser.