source: OGRE/trunk/ogrenew/Tools/XSIExport/OGREXSI_Readme.html @ 657

Revision 657, 15.2 KB checked in by mattausch, 18 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  <title>OGRE XSI Exporter Readme</title>
5  <meta http-equiv="Content-Type"
6 content="text/html; charset=iso-8859-1">
7  <style type="text/css">body {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; color: black; background-color: white}
8a:link {  color: #003300; text-decoration: underline}
9a:hover {  color: #F5BC52; text-decoration: underline}
10a:visited {  color: #004400; text-decoration: underline}
11li {  color: #003300; list-style-type: diamond; position: relative; left: -15px; clip:    rect(   )}
12td {  font-size: 10pt}
13th {  font-size: 10pt}
14
15.header { font-weight: bold; font-size: 12pt; }
16.MainHeader {  font-weight: bold; color: white; background-color: #6b7d6b; font-size: 10pt}
17.BorderHeader {  background-color: #999900; font-size: 8pt; font-weight: bold; color: #F5BC52; text-align: center}       
18.MainContent { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt }     
19.BorderContent {  font-size: 8pt; color: #66CC33; border-color: black #666600 #666600;
20                  padding-top: 2px; padding-right: 2px; padding-bottom: 10px; padding-left: 2px;
21                  margin-bottom: 2px; border-style: solid;
22                  border-top-width: 0px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
23.NewsDate {  font-weight: bold}
24.Annotation {  font-size: 10px}
25
26H1, H2, H3 {
27        background-color: #6b7d6b;
28        color: white;
29        padding: 2px;
30        padding-left: 5px;
31        border-style: solid;
32        border-width: 1px;
33        border-color: black;
34}
35
36H1 {
37        text-align: center;
38}
39H2 {
40}
41H3 {
42    FONT-FAMILY: trebuchet ms,helvetica,arial;
43}
44pre {
45        background-color: #eeffee;
46        color: black;
47        padding: 5px;
48}
49td.example {
50        border-style: solid;
51        border-width: 1px;
52        border-color: black;
53}
54dt { color: #3D653D; font-weight: bold;}
55
56A.qindex {}     
57A.qindexRef {}   
58A.el { text-decoration: none; font-weight: bold }       
59A.elRef { font-weight: bold }   
60A.code { text-decoration: none; font-weight: normal; color: Blue }       
61A:visited.code { text-decoration: none; font-weight: normal; color: Navy }       
62A:hover.code { text-decoration: underline; font-weight: normal; color: Blue }   
63A.codeRef { font-weight: normal; color: #4444ee }       
64DL.el { margin-left: -1cm }     
65DIV.fragment { width: 100%; border: none; background-color: #003300 }   
66DIV.ah { color: white; background-color: black; margin-bottom: 3; margin-top: 3 }       
67DIV.groupHeader { margin-left: 16; margin-top: 12; margin-bottom: 6; font-weight: bold }         
68DIV.groupText { margin-left: 16; font-style: italic; font-size: smaller }       
69FONT.keyword       { color: #008000 }   
70FONT.keywordtype   { color: #999920 }   
71FONT.keywordflow   { color: #e0FF00 }   
72FONT.comment       { color: #009900 }   
73FONT.preprocessor  { color: #809020 }   
74FONT.stringliteral { color: #002080 }   
75FONT.charliteral   { color: #008080 }
76.ex {   
77     FONT-SIZE: 8pt; FONT-FAMILY: tahoma
78}
79CODE.keywordtype {       
80     COLOR: #00ccff     
81}       
82CODE.keyword {   
83     FONT-WEIGHT: bold; COLOR: #00ccff   
84}       
85CODE.fn {       
86     COLOR: white;       
87     FONT-WEIGHT: bold;         
88}       
89CODE.var {       
90     COLOR: #dcdcdc;     
91}       
92CODE.macro {     
93     COLOR: #809020;     
94     FONT-WEIGHT: bold;         
95 }       
96CODE.comm {     
97     COLOR: lime         
98 }
99
100CODE.num {
101        COLOR: purple
102        }
103CODE.str {
104        COLOR: #ffcc33;
105        font-style: italic
106}
107        </style>
108</head>
109<body>
110<p class="header" align="center">OGRE (Object-Oriented Graphics
111Rendering Engine)</p>
112<p class="header" align="center">XSI Exporter README file</p>
113<p class="header" align="center"><a href="http://www.ogre3d.org">http://www.ogre3d.org</a></p>
114<p class="MainHeader" align="left"><a name="top"></a>Summary</p>
115<p>OGRE (Object-Oriented Graphics Rendering Engine) is a
116scene-oriented, flexible 3D engine written in C++ designed to make it
117easier and more intuitive for developers to produce games and demos
118utilising 3D hardware. The class library abstracts all the details of
119using the underlying system libraries like Direct3D and OpenGL and
120provides an interface based on world objects and other intuitive
121classes. </p>
122<p>This distribution contains the files required to export OGRE
123.mesh, .skeleton and .material files from <a
124        href="http://www.softimage.com">SoftImage|XSI</a>. Currently supported XSI versions are 4.x and 5.x<br>
125</p>
126<p><span style="font-weight: bold;">IMPORTANT</span>: This exporter
127only works with a <span style="font-weight: bold;">full version</span>
128of XSI (Foundation or better). It will not work with the trial version.<br>
129</p>
130<a href="#install">How To Install</a><br>
131<a href="#features">Features</a><br>
132<a href="#using">How To Use</a><br>
133<a href="#tips">Tips</a><br>
134<a href="#changelog">Change Log</a><br>
135<p><br>
136</p>
137<p class="MainHeader" align="left"><a name="install"></a>How to Install</p>
138<p>If you are using the installer, you don't need to do anything except
139to run it and point it at your XSI folder. If you're installing from
140source, you need to do the following:<br>
141</p>
142<ul>
143  <li>copy devil.dll, ilu.dll, ilut.dll and zlib1.dll into
144$(XSI_ROOT)\Application\bin, or make sure they are somewhere on your
145path</li>
146  <li>copy OgreMain.dll (and OgreMain_d.dll if you wish to use the
147debug version anytime) into $(XSI_ROOT)\Application\bin</li>
148  <li>copy OgreXSIExporter.dll into $(XSI_ROOT)\Application\plugins</li>
149</ul>
150<a href="#top">Back To Top</a><br>
151<p class="MainHeader" align="left"><a name="features"></a>Features</p>
152<p>The following features are supported:<br>
153</p>
154<ol>
155  <li>Exporting selected PolygonMesh objects direct to the OGRE binary
156.mesh format</li>
157  <li>Exports vertex position, normals, multiple UV sets and vertex
158colours<br>
159  </li>
160  <li>Polygon clusters used to change materials in a single PolygonMesh
161are exported as separate SubMeshes</li>
162  <li>By default, separate PolygonMesh objects which use the same
163material are merged for efficiency</li>
164  <li>Mesh vertices are index-organised for efficiency</li>
165  <li>Exporting of up to 4 weighted bone assignments per vertex <br>
166  </li>
167  <li>Generation of edge lists, tangent vectors, and LOD levels during
168export (optional)<br>
169  </li>
170  <li>Exporting of deformers (bone chains, nulls used as deformers)
171direct to binary .skeleton format<br>
172  </li>
173  <li>Exporting of one or more ActionSources directly as animations ,
174or sampled (IK conversion)<br>
175  </li>
176  <li>Exporting of RealTime shaders on materials (OpenGL and DirectX)</li>
177</ol>
178<a href="OGREXSI_Readme.html#top">Back To Top</a>
179<p class="MainHeader" align="left"><a name="using"></a>How To Use<br>
180</p>
181It's a simple case of selecting the objects you wish to export, and
182clicking File &gt; Export &gt; OGRE Mesh / Skeleton... to bring up the
183OGRE export dialog.<br>
184<img alt="page1" src="page1.gif"
185 style="width: 464px; height: 477px;"><br>
186<br>
187The first page of the exporter is concerned with the basic mesh export
188settings. <br>
189<span style="font-weight: bold;"><br>
190<span class="newsdate">Object(s) to export:</span> </span>This
191is pre-populated with your current selection<br>
192<span style="font-weight: bold;"><span class="newsdate">Mesh:</span>
193</span>This is the .mesh file to export - you must complete this. Once
194you have selected a file, by default the other file-related fields in
195the exporter will be completed for you based on the same filename
196pattern.<br>
197<span style="font-weight: bold;"><span class="newsdate">Merge
198objects with the same material?:</span> </span>If this is checked, all
199polygon mesh objects with the same material will be merged into one for
200efficiency. Most of the time you want this; but if you want more
201control over the splitting of your SubMesh objects, deselect it.<br>
202<span style="font-weight: bold;"><span class="newsdate">Calculate
203Edge Lists:</span> </span>Select this if you want your mesh to support
204stencil shadows. This increases the size of the resulting .mesh object.<br>
205<span style="font-weight: bold;"><span class="newsdate">Calculate
206Tangents:</span> </span>Select this if you wish to use normal mapping
207or some other technique which requires tangents vectors.<br>
208<span style="font-weight: bold;"><span class="newsdate"></span></span><span
209 style="font-weight: bold;"><span class="newsdate">Levels
210of Detail:</span> </span>Increase this value above 0 if you want lower
211LODs to be generated for this mesh. The rest of the parameters control
212how the mesh is reduced.<br>
213<span style="font-weight: bold;"><span class="newsdate"></span></span><span
214 style="font-weight: bold;"><span class="newsdate"></span></span><br>
215<span style="font-weight: bold;"><span class="newsdate"></span></span><img
216alt="page2" src="page2.gif"
217 style="width: 464px; height: 477px;"><br>
218<br>
219<span style="font-weight: bold;"><span class="newsdate">Export
220Materials:</span> </span>Whether to export a .material script or not.
221The field underneath contains the name of the script to export, and is
222pre-populated based on the .mesh selection on the first page.<br>
223<span style="font-weight: bold;"><span class="newsdate">Material
224Prefix:</span> </span>Optional prefix to give the name of each
225material.<br>
226<span style="font-weight: bold;"><span class="newsdate"></span></span><span
227 style="font-weight: bold;"><span class="newsdate">Copy
228Textures To Folder:</span> </span>If selected, any textures referenced
229in your materials will be copied into the same folder as the .material
230script.<br>
231<span style="font-weight: bold;"><span class="newsdate"></span></span><br>
232<span style="font-weight: bold;"><span class="newsdate"></span></span><img
233 alt="page3" src="page3.gif"
234 style="width: 464px; height: 477px;"><br>
235<br>
236<span style="font-weight: bold;"><span class="newsdate">Export
237Skeleton:</span> </span>If checked, skeleton and animation will be
238exported. Cannot be selected if no skeleton is referenced by this mesh.
239The field underneath determines the target.skeleton file (pre-populated
240based on the mesh name).<br>
241<span style="font-weight: bold;"><span class="newsdate">Frames
242per second:</span> </span>How to translate XSI frames into time
243values. Will be populated based on XSI's playback speed, but you can
244alter it if you wish.<br>
245<span style="font-weight: bold;"><span class="newsdate">Animations:</span>
246</span>This is a list of Actions which you've already saved. The fields
247are as follows:<br>
248<span class="newsdate">Name:</span> </span>The name of the
249Action, which will become the name of the animation<br>
250<span style="font-weight: bold;"><span class="newsdate">Export?:</span>
251</span>Whether to export this animation (checked by default)<br>
252<span style="font-weight: bold;"><span class="newsdate">Sample?:</span>
253</span>Animation which is based on Inverse Kinematics (IK) or other
254constraints needs to be 'sampled' to turn it into Forward Kinematics
255(FK) in OGRE. If your animation includes IK or other constraints you <span
256 style="font-weight: bold;">must</span> leave this option enabled. Only
257if you are certain your Action is comprised entirely of FK, with no
258other constraints in force, should you disable this option. If in
259doubt, leave it enabled.<br>
260<span style="font-weight: bold;"><span class="newsdate">Sample
261Interval:</span> </span>The number of frames between each sample, if
262sampling is enabled. <br>
263<a
264 href="OGREXSI_Readme.html#top">Back To Top</a><br>
265<br>
266<p class="MainHeader" align="left"><a name="tips"></a>Tips<br>
267</p>
268<p>Important modelling / animating considerations:<br>
269</p>
270<ol>
271  <li>The exporter writes one SubMesh per material if 'Merge objects
272with the same material' is selected. If unselected, you get one SubMesh
273per PolygonMesh (or clusters with differing materials within them)<br>
274  </li>
275  <li>The exporter writes all your export settings into a custom
276property in your scene, meaning that all your preferences are
277remembered for this scene, even between loads.<br>
278  </li>
279  <li>The exporter only exports PolygonMesh objects, so if you work
280with higher-order surfaces like NURBS you must create a PolygonMesh
281object from these surfaces before exporting</li>
282  <li>The exporter writes a single .mesh at a time and combines all the
283objects selected (and their children, if you select that option)</li>
284  <li>All global modelling coordinates are preserved, so the origin of
285your resulting .mesh will be where the world origin is in XSI<br>
286  </li>
287  <li>Animations must be stored in ActionSource instances (Animate &gt;
288Actions &gt; Store) to be exported. Any work-in-progress animation will
289not be picked up<br>
290  </li>
291  <li>You can make your animations smaller by turning them into FK
292beforehand, and thus avoid fixed-rate sampling. This is somewhat tricky
293to do properly, and you can't typically have IK and FK actions
294functioning on the same model. If you're not sure, keep the 'Sample?'
295option checked for your animations, since it's the simplest way to make
296sure the animations look right in OGRE.</li>
297</ol>
298Important material considerations:<br>
299<ul>
300  <li>The defaults that XSI gives to some real time material components
301are not normally what you'd want (and not the OGRE default). For
302example:</li>
303  <ul>
304    <li>OGLDraw and DXDraw objects have a default culling mode of
305'None', meaning all materials are double-sided by default, you will
306probably want to change that for efficiency</li>
307    <li>OGLTexture and DXTexture both default to no mip mapping. You
308will probably want to alter the defaults so that you have at least
309sampled point mipmapping (in DXTexture this is a separate setting, in
310OGLTexture it's combined with the minification filter)</li>
311  </ul>
312</ul>
313<a href="OGREXSI_Readme.html#top">Back To Top</a>
314<p class="MainHeader" align="left"><a name="changelog"></a>Change Log<br>
315</p>
316<p style="font-weight: bold;">1.0.6a<br>
317</p>
318<ul>
319        <li>Significant optimisation allowing larger meshes to be exported quicker (approx 15x faster per 1,000 faces than 1.0.6).</li>
320</ul>   
321<p style="font-weight: bold;">1.0.6<br>
322</p>
323<ul>
324        <li>Don't export clusters that become empty because triangles have been assigned to other clusters to customise material ID</li>
325        <li>Fix vertex bone assignments on vertices on the boundary of multiple clusters</li>
326        <li>Added XSI v5 support</li>
327</ul>
328<p style="font-weight: bold;">1.0.5<br>
329</p>
330<ul>
331        <li>Fix export of multiple animations where initial pose is different</li>
332  <li>Material prefix should apply to the exported .mesh as well as the .material</li>
333</ul>
334<p style="font-weight: bold;">1.0.3<br>
335</p>
336<ul>
337  <li>Don't crash if textures are not found, just warn
338instead.</li>
339  <li>Trap cases where too many texture coordinate sets
340are used and terminate with error, rather than crash<br>
341  </li>
342</ul>
343<p style="font-weight: bold;"><br>
3441.0.1c<br>
345</p>
346<ul>
347  <li>Added material exporting</li>
348  <li>Added animation sampling (handle IK, other constraints seamlessly)</li>
349  <li>Fixed vertex output format for software skinning</li>
350  <li>Fixed a problem with translation keyframes</li>
351  <li>Added optimisation of resulting animations (eliminate identity
352tracks, collapse identical keyframes)</li>
353  <li>Fixed frame -&gt; time conversion with varying Action bases</li>
354  <li>Reorganised GUI a little</li>
355  <li>Deal with case-insensitive fcurve references</li>
356  <li>Linux build fixes<br>
357  </li>
358</ul>
359<p><a href="OGREXSI_Readme.html#top">Back To Top</a></p>
360<p class="MainHeader" align="left">Reporting Issues<br>
361</p>
362<p>Please report any issues with the exporter in the <a
363 href="http://www.ogre3d.org/phpBB2">OGRE Forums</a>.</p>
364<p>&nbsp;<a href="OGREXSI_Readme.html#top">Back To Top</a></p>
365</body>
366</html>
Note: See TracBrowser for help on using the repository browser.