1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5<meta http-equiv="Content-Style-Type" content="text/css" />
6<link rel="stylesheet" href="css/manpage.css" type="text/css" />
7<title>Export Plug-In</title>
8</head>
9<body>
10<h1>Export Plug-In</h1>
11<p>This chapter describes the use and features of the Export plug-in.</p>
12<p>
13<a href="#function">Export Plug-In Features</a><br /> <a href="#usage">Method of Use</a><br /> <a href="#maxscript">Executing from MAXScript</a><br /> <a href="#error_warning">Errors and Warnings</a><br />
14</p>
15
16<h2><a name="function">Export Plug-In Features</a></h2>
17<p>The Export plug-in includes a feature for outputting intermediate files to a specified folder.</p>
18
19
20
21<h2><a name="usage">Using the Tool</a></h2>
22<p>To output data for particular nodes only (including lower nodes in the hierarchy), select the nodes you want to output. When outputting the entire scene, it is not necessary to select nodes.</p>
23
24<p>To display the Options window, run NW4C Export with Setting.</p>
25
26
27<p>
28To output the intermediate file, specify the appropriate options and click <strong>Export</strong> or <strong>Apply</strong>. Unlike <strong>Export</strong>, <strong>Apply</strong> does not close the Options window after output. The option settings that exist at the time of output are automatically recorded as the current options.
29
30</p>
31
32
33
34
35
36<h3><a name="options">Option Settings</a></h3>
37
38<h4><a name="options_output">Output Options</a></h4>
39<p>Options related to outputting intermediate files.</p>
40<center><img src="images/OutputOpt1.gif" />
41</center>
42<ul>
43<li><strong>Export Target</strong>
44  <p>Sets the output target.<br /> Specify <B>All</B> to export the entire scene, or <B>Selection</B> to export only the selected nodes and any lower nodes in the hierarchy.</p>
45  </li>
46<li><strong>File name</strong>
47  <p>Specify the name of intermediate file. (Omit the file extension.) <br /> Clicking the <B>Scene</B> button to the right sets the current scene name. Clicking the <B>Node</B> button sets the name of the selected node (the topmost node in the selected hierarchy).
48
49  </p>
50</li>
51<li><strong>Output 3D Intermediate Files</strong>
52  <p>Select this option when outputting an intermediate file to a particular folder. <br /> Specify the folder to which the intermediate file should be output using the option <B>File Path</B>. <br /> Texture files are output to the <CODE>Textures</CODE> folder located inside the folder specified by <B>File path</B>. <br />
53  </p>
54</li>
55<li><strong>Use Creative Studio</strong>
56  <p>Select this option when transferring intermediate file data to CreativeStudio. It is not possible to select <B>Output 3D Intermediate Files</B> and <B>Use Creative Studio</B> at the same time. <br /> For details on using Creative Studio, see the <I>NintendoWare for CTR CreativeStudio </I>manual.
57  </p>
58</li>
59<li><strong>Merge cmdl</strong>
60  <p>
61  Turn this option on and specify the path of a CMDL file to merge that specified CMDL file.
62  </p>
63  <p>The following information gets merged:
64    <ul>
65      <li>The general material information</li>
66      <li>The mesh information (Visibility, Priority)</li>
67      <li>The model information (Visibility, User data, Animation member settings)</li>
68      <li>Dependent files (Textures, lookup tables, etc. These are copied to the Output Folder.)</li>
69    </ul>
70  </p>
71</li>
72
73</ul>
74
75<h4><a name="options_general">General Options</a></h4>
76<p>These are general options available for intermediate files.</p>
77<center><img src="images/GeneralOpt1.gif" />
78</center>
79<ul>
80<li><strong>Magnify</strong>
81  <p>Specifies the magnification ratio by which the model's vertex coordinates and Translate value should be multiplied.</p>
82  </li>
83<li><strong>Use FigureMode and SkinPose</strong>
84  <p>The physique and default skin pose are determined based on the biped figure mode and bone skin pose. Sometimes turning this option on will correctly output data for which skinning cannot be correctly output otherwise.
85  </p>
86  <p>
87  When using this option, you must set bones used by the physique and skin and a skin pose for all associated parents. Even if biped and bone are combined, be absolutely sure to set a skin pose for bones.
88  </p>
89  </li>
90<li><strong>Start / End Frame</strong>
91  <p>Specifies the range of animation to output (that is, the start frame and end frame).</p>
92  <p>
93  Selecting <strong>All</strong> outputs the full range of animation in 3ds Max (Animation Start/End).<br /> Selecting <B>Range</B> allows the start frame and end frame to be entered as numeric values. <B>Note:</B> If the entered start frame is smaller than the Animation Start value in 3ds Max, this Animation Start value will be used as the starting frame. Similarly, if the entered end frame is larger than the Animation End value in 3ds Max, this Animation End value will be used as the ending frame.<br />
94  </p>
95  <p>If attributes are being animated, the start frame value will be output to the CMDL file.</p>
96  </li>
97</ul>
98
99<h4><a name="options_file_selection">Output File Selection</a></h4>
100<p>This option specifies the type of intermediate file to be output.</p>
101<center><img src="images/OutFileSel1.gif" />
102</center>
103<p>The value of <CODE>HasSkinningMatrix</CODE> in the intermediate file will differ depending on whether the CMDL file and the CSKLA file are output at the same time, or only the CSKLA file is output.  This is because vertex processing is omitted when the CMDL file is not output in order to shorten the processing time. Nothing is affected by the differing values for <CODE>HasSkinningMatrix</CODE>.
104</p>
105<br />
106
107<br />
108
109
110<h4><a name="options_optimization">Optimization Options</a></h4>
111<p>This allows data optimization while outputting data from 3ds Max to intermediate files. Options for this optimization process are set here.</p>
112
113<center><img src="images/OptimizeOpt1.gif" />
114</center><br />
115
116
117<ul>
118
119<li id="options_compress_node"><strong>Compress Node</strong>
120
121<p>Specifies the node compression mode to use for the entire model. The load due to both the matrix computations and the amount of memory used can be reduced by lowering the number of nodes. <br /> What gets compressed are the nodes (bones) output to the intermediate file; the data in 3ds Max is not changed.<BR> Currently, node compression is supported for CMDL files only.</p>
122
123<table class="list_table"><tbody>
124<tr><td>Mode</td><td>Description</td></tr>
125<tr>
126<td valign="top"><strong>None</strong></td>
127<td valign="top">Do not compress nodes. The hierarchical structure in 3ds Max is output as-is without any compression.</td>
128</tr>
129<tr>
130
131<td valign="top" nowrap="nowrap"><strong>Cull Useless Node</strong></td>
132<td valign="top">Deletes the nodes that are not required to display the model located at the end of the hierarchical structure and then exports. This is useful for models that use skinning.<BR> Notes for which the uncompressible flag has been set are not compressed.</td>
133</tr>
134<tr>
135<td valign="top" nowrap="nowrap"><strong>Cull Uninfluential Node</strong></td>
136<td valign="top">In addition to the processing performed when <B>Cull Useless Node</B> is specified, nodes whose matrices can be merged are merged and output. <br /> Generally, the number of nodes are reduced even more than with <B>Cull Useless Node</B>, but the following limit is placed on the Scale value. <br /> <B>An uneven Scale value (a scale value where X, Y, and Z are not the same) must not be set for nodes that have children.</B><br> A model may not be displayed correctly if compression is performed on a node that does not observe this limitation or on any children of such a node. All frames must respect the limitation described above when a scale value is being animated.<BR> Notes for which the uncompressible flag has been set are not compressed.</td>
137
138</tr>
139<tr>
140<td valign="top"><strong>Unite Compressible Node</strong></td>
141<td valign="top">Nodes for which the uncompressible flag has been set are gathered.<br /> Do not select this mode when using skinning.</td>
142</tr>
143<tr>
144<td valign="top"><strong>Unite All Node</strong></td>
145<td valign="top">Gathers nodes and outputs all polygons using global coordinates. (Name of the root node is used for node name.) Do not select this mode when using skinning.</td>
146
147</tr>
148
149</tbody></table>
150<br />
151
152<ul>
153   <li>Specifies the node compression mode to use for the entire model.<BR> By reducing the number of nodes, you can lighten the load associated with matrix computations and cut down on the use of memory.
154   </li>
155   <li>Nodes (bones) output to intermediate files can be compressed.<BR> The data used by 3dsMax does not change.</li>
156   <li>Compression is supported for cmdl and cskla files.<BR> Node compression is also applied to cskla files only when <B>Cull Uninfluential Node</B> has been specified.</li>
157   <li><CODE>Unite Below Node</CODE> has been deprecated.</li>
158</ul>
159</li>
160
161<li id="options_compress_mat"><strong>Compress Material</strong>
162<p>Specifies that the material be compressed. <br /> No compression is performed if <B>None</B> is specified. If <B>Compress Same Material</B> is specified, materials that have the same attribute are compressed and gathered for output. <br />
163
164Materials for which Compress has been set to <strong>Don’t compress</strong> using the <a href="data_plugins.html#mat_attr">plug-in for setting material attributes (NW4C Set Material Attribute)</a> are not compressed.
165</p>
166</li>
167
168<li><strong>Optimize Primitive</strong>
169
170<p>Optimize Primitive optimizes polygon primitives and then outputs.<BR> This reduces the drawing process load compared to when set to OFF.</p></li>
171   <p>Optimization is made to adjust the arrangement of triangles to increase the hit rate of the vertex cache inside the GPU.<BR> The degree of improvement varies depending on data content and rendering conditions.<BR> Improvement in performance can be expected under conditions where vertex processing has become a bottleneck.</p>
172
173<li><strong>Convert To Model</strong>
174<p>Conversion from a skeletal model (skin model) to a model is performed if set to ON.
175</p>
176<p>
177	<strong>Conversion from a skeletal model (or skin model) to a model</strong><br />
178</p>
179<ul>
180	<li>Benefits
181        <p>Models have a simpler structure than skeletal models and can be handled more efficiently by the actual hardware.</p>
182	</li>
183	<li>Notes
184		<p>During model conversion, all bones are combined and skeleton information (the hierarchical structure) is lost.<BR> <strong>Skeleton information is destroyed, making it impossible to use skeletal animation and billboarding.</strong></p>
185	</li>
186</ul>
187<p>
188	<strong>Regarding the eliminated of the disable SkeletalModel-Simplification option</strong><br/>
189	<ul>
190		<li>Emphasizing clarity, model conversion is now performed only when specified explicitly.<BR> Accordingly, the Disable SkeletalModel_Simplification option for specifying the suppression of automatic conversion to a model has also been eliminated.</li>
191        <li><strong>Note that data that was automatically converted in past versions is no longer converted, resulting in cases where the processing load has increased.</strong><br> Batch processing using a CreativeStudio script can be used for automatic conversion to models for the sake of compatible output. For details, see <br>CreativeStudio documentation</a>.</li>
192	</ul>
193</p>
194</li>
195</ul>
196
197
198<h4><a name="options_quantization">Quantization Options</a></h4>
199<p>This option is for setting the degree of precision to use for vertex data when converting to binary data. <br /> If a fixed-point number is used, the amount of data is less than when a floating-point number is used, but precision is lowered.</p>
200<center><img src="images/QuantizeOpt1.gif" />
201</center>
202
203<ul>
204<li><strong>Position</strong>
205  <p>Specifies the precision to use for vertex coordinates.</p>
206  <p>
207  Setting <B>Float</B> stores the position as a 32-bit floating-point number. <br /> Setting <B>Short</B> stores the position as a 16-bit integer number. <br /> Setting <B>Byte</B> stores the position as an 8-bit integer number. <br>
208  </p>
209  </li>
210
211<li><strong>Normal</strong>
212  <p>Specifies the precision to use for normal vector.</p>
213  <p>
214  Setting <B>Float</B> stores the position as a 32-bit floating-point number. <br /> Setting <B>Short</B> stores the position as a 16-bit integer number. <br /> Setting <B>Byte</B> stores the position as an 8-bit integer number. <br>
215  </p>
216  </li>
217
218<li><strong>Tex Coord</strong>
219  <p>Specifies the precision to use for texture coordinates.</p>
220  <p>
221  Setting <B>Float</B> stores the position as a 32-bit floating-point number. <br /> Setting <B>Short</B> stores the position as a 16-bit integer number. <br /> Setting <B>Byte</B> stores the position as an 8-bit integer number. <br>
222  </p>
223</li>
224
225</ul>
226
227<h4><a name="options_model">Model Options</a></h4>
228<p>These are model-related options.</p>
229<center><img src="images/ModelOpt1.gif" />
230</center>
231<br />
232<ul>
233<li><strong>Adjust Skinning</strong>
234<p>
235Selects how the skinning mode for export is determined. <br />
236<table class="list_table"><tbody>
237<tr><td>Mode</td><td>Description</td></tr>
238<tr>
239
240<td valign="top"><strong>None If Possible</strong></td>
241<td valign="top"><strong>Behaves the same as 1.0.0 and previous versions. (Default value)</strong><br />For meshes that are to be skinned, the skinning is not performed if all vertices reference only a single bone. Otherwise, Rigid Skinning is performed if each vertex references only a single bone, and Smooth Skinning is performed if each vertex references two or more bones.</td>
242</tr>
243<tr>
244<td valign="top" nowrap="nowrap"><strong>Rigid Skinning</strong></td>
245<td valign="top"><strong>New behavior introduced from 1.1.0. This can be more efficient, but problems of compatibility can also arise.</strong><br /> For meshes that are to be skinned, Smooth Skinning is performed if each vertex references two or more bones, and otherwise Rigid Skinning is performed.</td>
246</tr>
247</tbody></table><br />
248</p><p>
249
250	<strong>Selection Criteria (for deciding which would be the better selection)</strong>
251	</p><p>
252		If there no problems with compatibility, try the Rigid Skinning mode.<br /> If you can confirm that drawing is more efficient, select Rigid Skinning mode.<br />
253	</p>
254	<ul>
255		<li>The various modes only influence skinning meshes.</li>
256
257		<li>Rigid Skinning mode tends to improve the efficiency of drawing.
258			<ul>
259				<li>Mesh merging becomes easier in the intermediate file.</li>
260				<li>It is particularly effective for data that fully satisfy the following conditions:</li>
261				<ul>
262					<li>Comprised from multiple models on a DCC tool.</li>
263					<li>Materials are being shared.</li>
264
265					<li>Weight is influenced by a single bone (100% of weight is set to a single bone).</li>
266				</ul>
267				<li>Since it all depends on the data to some extent, we recommend you actually compare them before ultimately deciding which to use.</li>
268				<ul>
269					<li>For a simple comparison, just compare the number of meshes.</li>
270					<li>For a precise comparison, conduct load measurements on the hardware.</li>
271				</ul>
272
273			</ul>
274		</li>
275		<li>In Rigid Skinning mode you might not be able to use visibility animation created on the past.
276			<ul>
277				<li><strong>The number of meshes may be less than before so there may be a disagreement with the number-associated mesh visibility animations.</strong></li>
278				<li>In order to maintain compatibility, the default mode is None If Possible.</li>
279			</ul>
280		</li>
281	</ul>
282
283
284	<table class="table">
285		<tbody>
286		<tr>
287			<td colspan="2"><strong>Example of valid data: Node configuration on Max3ds</strong></td>
288		</tr>
289		<tr>
290			<td> <img src="images/rigidskin_preview.gif" border="0" height="200" /> </td>
291
292			<td> <img src="images/rigidskin_structure.gif" border="0" /> </td>
293		</tr>
294		</tbody>
295	</table>
296</li>
297
298<li><strong>Mesh Visibility Mode</strong> Selects the method for optimizing visibility animation. <br />
299<table class="list_table"><tbody>
300<tr>
301    <td>Mode</td>
302    <td>Description</td></tr>
303<tr>
304    <td valign="top"><strong>Bind By Index</strong></td>
305    <td valign="top">Applies visibility animations based on numbers. The visibility animations may not be applied correctly if node compression has been conducted.</td>
306</tr>
307<tr>
308    <td nowrap="nowrap" valign="top"><strong>Bind By Name</strong></td>
309    <td valign="top">Applies visibility animations based on names.</td>
310</tr>
311</tbody></table>
312
313<table class="list_table"><tbody>
314<tr><td>If you need to maintain compatibility with older intermediate files, specify <strong>Bind By Index</strong>. If compatibility is not required, specify <strong>Bind By Name</strong>.</td></tr>
315</tbody></table>
316</li>
317<br />
318<li><strong>Non-Uniform Scale</strong><br />
319 <p><strong><font color=#ff0000>Note: Plans call for eliminating this function in the next release. Do not specify this option.<br /></font></strong> The reason for its elimination is given below.
320   <ul>
321   <li>Up to this release, this option has not been supported by the NW4C Standard Runtime Library.<BR> You needed to descrive a proprietary user shader to make it work.
322   </li>
323   <li>Plans had been to support it in the standard runtime library, but it became unsupported.</li>
324   <li>The feature for making this setting has been eliminated so that it is not mistakenly specified by users who largely don't need it.</li>
325   <li>We are currently looking into a method of continuing the use of this feature for those users who use it.</li>
326   </ul>
327 </p>
328   <s>
329  <p>Enabling this option allows correct lighting of models whose XYZ scaling is non-uniform, but increases the drawing process load. Because the maximum number of matrix palettes goes down, the drawing process load ultimately increases when using skin models with many nodes that are being influenced.<BR> If disabled, the rendering process load goes down, but models whose XYZ scaling is non-uniform cannot be lighted correctly.
330</p>
331</s>
332  </li>
333<li><strong>Max Reserved Uniform Registers</strong>
334  <p>This setting specifies the number of uniform registers used for vertex lighting and user uniform. The setting value ranges from 0 to 57 (0 to 54 if Non-Uniform Scale is ON).<BR>
335  <table class="list_table"><tbody><tr><td>Because the number of uniform registers is limited, they are shared by skinning, vertex lighting and user uniforms. The number of uniform registers that can be used for skinning is therefore determined based on the number of lights used for vertex lighting and the number of user uniforms.<BR> The larger the value specified, the lower the number of uniform registers available for skinning and the higher the load associated with drawing skin models.<BR> <br />The specific value to set is given by <strong>Number of vertex lights × 6 + Number of user uniforms</strong>. <strong>Vertex lights are not included in the case of hemispherical lighting.</strong><br />
336
337  Check with the lead project programmer for the number of vertex lights and user uniforms.<br /> Set to 0 when not using vertex lighting and user uniforms.</td></tr></tbody></table>
338  </p>
339
340
341</li>
342</ul>
343
344<h4><a name="options_anim">Animation Options</a></h4>
345<p>These are animation-related options.</p>
346<center><img src="images/AnimOpt1.gif" />
347</center>
348<ul>
349<li><strong>Frame Precision</strong>
350  <p>Specifies frame precision when animation curve data is automatically created from baked data. <br /> If <B>1.0</B> is set, data is baked at the integer frame level. <br /> If <strong>0.5</strong> is set, data is baked at the 0.5 fractional frame level. <br /> If <strong>0.2</strong> is set, data is baked at the 0.2 fractional frame level. <br /> If <strong>0.1</strong> is set, data is baked at the 0.1 fractional frame level. <br /> Increasing precision can more accurately reproduce animations that vary discontinuously at a fractional frame timing, but the amount of time required for output increases.
351</p>
352  </li>
353<li><strong>Loop</strong>
354  <p>If this option is selected, data for loop playback is output. <br /> If this option is cleared, data for one-time playback is output. <br /> Animation curve data created using this option varies when animation curve data is created automatically from baked data.
355  </p>
356</li>
357<li><strong>Frame Format</strong>
358  <p>
359  If enabled, skeletal animations are stored in frame format.<br /> If disabled, skeletal animations are stored in key format.<br /> The playback process load is lower with frame format than key format, but the amount of data is greater than usual.
360  </p>
361</li>
362<li>
363<strong>Translate Quantize Quality</strong><br /> <strong>Rotate Quantize Quality</strong><br /> <strong>Scale Quantize Quality</strong><br />
364	<p>For skeletal animation, the quantization precision can be set to one of 10 levels, ranging from 0 to 9.<br />
365		<ul>
366			<li>When 0 is specified, the animation precision is lowest but the amount of data is small.</li>
367			<li>When 9 is specified, no quantization is conducted so precision is the highest, but the amount of data is large.</li>
368		</ul>
369	</p>
370	<p>The quantization setting only influences the content of the binary file.<br /> The animation curve data output to the intermediate file is not affected.<br /> You thus need to be remember that <B>the result cannot be evaluated until it is checked on the actual hardware viewer</B>.<br>
371	</p>
372</li>
373	<p><strong>Acceptable Tolerance Values for Scale / Translate</strong></p>
374	 <table class="table">
375      <thead>
376        <tr>
377          <th>Compression Quality</th>
378          <th>Acceptable Tolerance Values</th>
379          <th>Comments</th>
380        </tr>
381      </thead>
382      <tbody class="center">
383        <tr>
384          <td>0</td>
385          <td>∞</td>
386          <td>Always quantize to minimum volume format.</td>
387        </tr>
388        <tr>
389          <td>1</td>
390          <td>0.40</td>
391          <td>--</td>
392        </tr>
393        <tr>
394          <td>2</td>
395          <td>0.30</td>
396          <td>--</td>
397        </tr>
398        <tr>
399          <td>3</td>
400          <td>0.20</td>
401          <td>--</td>
402        </tr>
403        <tr>
404          <td>4</td>
405          <td>0.10</td>
406          <td>Recommended value for start of adjustment</td>
407        </tr>
408        <tr>
409          <td>5</td>
410          <td>0.06</td>
411          <td>--</td>
412        </tr>
413        <tr>
414          <td>6</td>
415          <td>0.03</td>
416          <td>--</td>
417        </tr>
418        <tr>
419          <td>7</td>
420          <td>0.01</td>
421          <td>--</td>
422        </tr>
423        <tr>
424          <td>8</td>
425          <td>0.005</td>
426          <td>--</td>
427        </tr>
428        <tr>
429          <td>9</td>
430          <td>0</td>
431          <td>Never quantize.</td>
432        </tr>
433      </tbody>
434    </table>
435    <ul>
436	<p>
437	The acceptable tolerance value is set the same for the NW4R exporter.
438	</p>
439	<p>
440	Acceptable tolerance for Scale/Translate is determined in proportion to the maximum amplitude of the curve (the difference between the maximum and minimum values).<br /> In other words, the greater the variation in values for an animation, the easier it is to tolerate large errors in actual values.
441	</p>  
442    </ul>
443    <p><strong>Acceptable Tolerance Values for Rotate</strong></p>
444    <table class="table">
445      <thead>
446        <tr>
447          <th>Compression Quality</th>
448          <th>Acceptable Tolerance Values</th>
449          <th>NW4R conversion</th>
450          <th>Comments</th>
451        </tr>
452      </thead>
453      <tbody class="center">
454        <tr>
455          <td>0</td>
456          <td>∞</td>
457          <td>∞</td>
458          <td>Always quantize to minimum volume format.</td>
459        </tr>
460        <tr>
461          <td>1</td>
462          <td>0.50</td>
463          <td>0.025</td>
464          <td>--</td>
465        </tr>
466        <tr>
467          <td>2</td>
468          <td>0.40</td>
469          <td>0.020</td>
470          <td>--</td>
471        </tr>
472        <tr>
473          <td>3</td>
474          <td>0.30</td>
475          <td>0.015</td>
476          <td>--</td>
477        </tr>
478        <tr>
479          <td>4</td>
480          <td>0.20</td>
481          <td>0.010</td>
482          <td>Recommended value for start of adjustment</td>
483        </tr>
484        <tr>
485          <td>5</td>
486          <td>0.10</td>
487          <td>0.005</td>
488          <td>--</td>
489        </tr>
490        <tr>
491          <td>6</td>
492          <td>0.05</td>
493          <td>0.0025</td>
494          <td>--</td>
495        </tr>
496        <tr>
497          <td>7</td>
498          <td>0.01</td>
499          <td>0.0005</td>
500          <td>--</td>
501        </tr>
502        <tr>
503          <td>8</td>
504          <td>0.005</td>
505          <td>0.00025</td>
506          <td>--</td>
507        </tr>
508        <tr>
509          <td>9</td>
510          <td>0</td>
511          <td>0</td>
512          <td>Never quantize.</td>
513        </tr>
514      </tbody>
515    </table>
516    <ul>
517		<p>
518			For Rotate, the acceptable tolerance is determined not in terms of proportion, but by actual values. <br /> It takes the value specified by the NW4R exporter. This is done so the setting is the same as for NW4R conversion,
519		</p>
520    </ul>
521    <p><strong><font color="#ff0000">Note: The settings values shown in the table may change in the future.</font></strong></p>
522
523</ul>
524
525<h4><a name="options_tolerance">Tolerance Options</a></h4>
526<p>This option specifies the allowable range of errors when animation curve data is optimized.</p>
527<center><img src="images/ToleranceOpt1.gif" />
528</center>
529<br />
530<p>If the maximum difference between the start frame value and the value used for every other frame remains below the allowable value specified here, the animation is assumed to be fixed and output is made using only the value for the start frame.</p>
531<p>When animation curve data is created automatically from baked data, a key for each frame (in the units specified by <B>Frame Precision</B>) is created and the key for the <B>below tolerance</B> value specified here is deleted by the <B>maximum differential value when performing Hermite interpolation</B>. The smaller the allowable value for differentials, the greater the animation precision; however, as the number of keys grows larger, the amount of animation curve data also increases.</p>
532<ul>
533<li><B>Node Translate</B>, <B>Node Rotate</B>, <B>Node Scale</B>
534  <p>This is the allowable value for errors related to the Translate, Rotate, and Scale values used for character animation. <br /> <B>Node Rotate</B> is specified in units of degree. <br /> <B>Node Translate</B> is the allowable value for errors related to the <B>value prior to multiplying by Magnify</B>.</p>
535  </li>
536</ul>
537<ul>
538<li><B>Texture Translate</B>, <B>Texture Rotate</B>, <B>Texture Scale</B>
539  <p>This is the allowable value for errors related to the <B>Translate</B>, <B>Rotate</B>, and <B>Scale</B> values used for texture and SRT animation. <br /> <B>Texture Rotate</B> is specified in degrees.
540  </p>
541  </li>
542</ul>
543<ul>
544  <li><strong>Color</strong>
545  <p>This is the allowable value for errors in each color value and alpha value of a color or scene animation. <br /> This value is the allowable value for errors for color values between 0 and 1 in 3ds Max <strong>after they have been multiplied by 255</strong>.
546  </p>
547  </li>
548</ul>
549
550<h3><a name="manage_options">Managing Option Settings</a></h3>
551<p>To input or output the option settings as a C3ES (CTR 3D Export Settings) file, use the <B>NW4C Settings</B> menu item in the Options window.</p>
552<center><img src="images/LoadSaveSettings.gif" />
553</center>
554<br />
555
556<h4><a name="scene_settings">Saving Option Settings for a Scene</a></h4>
557<p>
558    If <B>Save / Load Scene Settings</B> is selected (the default), the option settings used the last time an intermediate file was output will be saved as scene data when a scene is saved. When the scene is opened, the option settings that were saved in the scene data are loaded. The current option settings remain if option settings were not saved with the scene data. Furthermore, an option setting is loaded when a scene for which option settings have been saved is imported.
559</p>
560<p>
561    If <strong>Save / Load Scene Settings</strong> is cleared, no option settings are saved with the scene. Furthermore, option settings are not loaded when scene data is opened.<br />
562</p>
563<p>
564    Regardless of whether <strong>Save/Load Scene Settings</strong> is on or off, option settings at the time an intermediate file was last output are saved as a default settings file.<br /> In addition, this default settings file is loaded at time of next startup.<BR> The default settings file is saved under the name nw4cmax.c3es in the plug-in settings folder C:\Documents and Settings\[user_name]\Local Settings\Application Data\Autodesk\3dsmax\[max_version]\jpn\plugcfg.
565</p>
566<p>
567    To delete the option settings saved in the scene data, click <B>Reset Scene Settings</B>.
568</p>
569<p>
570    To delete the option settings that were saved in the scene data, click <B>Delete Scene Settings</B>. However, this only works if you clear <B>Save / Load Scene Settings</B> and then save the scene data. If you do not save the scene data, the option settings are retained.
571</p>
572
573<h4><a name="c3es_file">Loading/Saving Option Settings Using C3ES Files</a></h4>
574<p>
575To output option settings to a C3ES file, click <B>Save Settings to r3es File</B>. Option settings will be output when an output file name is specified on the file selection window. If the extension of the output file is other than .c3es, .c3es will be added automatically.
576</p>
577<p>
578Click <B>Load Settings from c3es File</B> to enter option settings from a C3ES file. Option settings will be input when an input file name is specified on the file selection window.
579</p>
580<br />
581
582
583
584
585
586<h2><a name="error_warning">Errors and Warnings</a></h2>
587
588<h3><a name="erroroutput">Error Verification</a></h3>
589<p>If an error or warning occurs during export, it will be output to the listener window.</p>
590<p>Some errors are also displayed in a message box.</p>
591<br />
592
593<h3><a name="errors">Error Types and Handling Errors</a></h3>
594<p>The error list as currently implemented is presented below in alphabetical order.</p>
595<p>When an error is detected, the Export process halts.</p>
596<br />
597
598<ul>
599<li><strong>CreativeStudio cannot be found</strong>
600<p>CreativeStudio has not been correctly installed.<br /> CreativeStudio must be installed in the folder <CODE>tools\CreativeStudio</CODE>, located beneath the folder defined by the environment variable <CODE>NW4C_ROOT</CODE>. If the environment variable <strong>NW4C_ROOT</strong> is not defined correctly, correct the definition and restart 3ds Max.</p>
601</li>
602<li><strong>Can't open file</strong>
603<p>This error occurs when the file does not exist, cannot be opened, or cannot be overwritten.</p>
604</li>
605
606<li><strong>Failed to start CreativeStudio</strong>
607<p>CreativeStudio has failed to start. Be sure to check CreativeStudio error output.</p>
608
609
610</li>
611<li><strong>Influence object is not outputted</strong>
612<p>Nodes affected by skinning are not output. This error arises when Export Target is set as selection and nodes affected by skinning are not selected, or when no envelope has been assigned to a vertex even though a skinning modifier and Physique modifier are being applied.
613</p>
614
615</li>
616
617<li><strong>Path of cmdl file to merge is wrong</strong>
618<p>This error occurs if the path for the CMDL file to be merged is left blank or if the filename contains illegal characters.</p>
619</li>
620<li><strong>No effective node</strong>
621<p>There is no active node to be output.</p>
622</li>
623
624<li><strong>No output file</strong>
625<p>This error occurs when the output specifications for the intermediate file are all cleared, or when only the output specifications for texture data are selected but there is no texture to output.</p>
626</li>
627
628<li><strong>Output File Name is wrong</strong>
629<p>This error occurs if the Export option <CODE>Output File Name</CODE> is left blank or if the filename contains illegal characters.</p>
630</li>
631
632<li><strong>Output Folder is wrong</strong>
633<p>This error occurs if the Export option <B>Output Folder</B> is left blank or if the filename contains illegal characters.</p>
634</li>
635
636<li><strong>Same user attribute exists</strong>
637<p>More than one vertex color exists for the user vertex attribute of the given number. For example, this error would occur if there were vertex colors with the names <I>nw4cUser0</I> and <I>nw4cUser0_b</I> for the same single object. Either delete the unnecessary vertex colors or change their names.</p>
638</li>
639
640<li><strong>Texture size is wrong</strong>
641<p>A texture has a size whose height and width cannot be handled by CTR. Height and width must both be set to a power of two equal to or greater than 8 and equal to or less than 1024.</p>
642
643
644</li>
645<li><strong>Polygon bone size is over</strong>
646<p>The number of bones used by a polygon exceeds the maximum number of bones that can be referenced by a primitive.<BR> If an error occurs, adjust the <a href="export.html#options_model">Max Reserved Uniform Registers option</a> to decrease the number of uniform registers being reserved.
647</p></li>
648
649<li><strong>Max Reserved Uniform Registers is wrong</strong>
650<p>An out-of-bounds value has been specified for the <a href="export.html#options_model">Max Reserved Uniform Registers option</a>.<br /> The setting value must range from 0 to 57 (from 0 to 54 when the <a href="export.html#options_model">Non-Uniform Scale option</a> is ON.
651</p></li>
652
653</ul>
654<br />
655
656<h3><a name="warnings">Warning Types and Handling Warnings</a></h3>
657<p>The Warning List, as it is currently implemented, is presented below in alphabetical order.</p>
658<p>The Export process will continue, even if a warning is detected.</p>
659<br />
660
661<ul>
662
663<li><strong>Custom Animation Range was trimmed</strong>
664<p>The specified output range exceeds the playback range of 3ds Max. The output range is changed to fit within the playback range of 3ds Max.</p>
665</li>
666
667<li><strong>Node has no material</strong>
668<p>No material has been set for a node being output. A dummy material is output.</p>
669</li>
670
671<li><strong>Texture file doesn't exist.</strong>
672<p>The allocated texture does not exist. If a path is included in the file name for the texture allocated for a material, the image saved in the path is accessed during output. This error occurs when no image exists on the path. Furthermore, if the texture file name does not include a path, images in the directory where the current max file exists are accessed.</p>
673</li>
674
675<li><strong>The number of composite textures is over 3</strong>
676<p>This error is issued if more than three textures are set for a material. Make sure the number of textures used by a material is three or less.</p>
677</li>
678
679<li><strong>Can't get UV data for generating the tangent</strong>
680<p>This error occurs when UV data used to calculate the tangent used by an anisotropic reflection shader cannot be found.</p>
681</li>
682
683<li><strong>Map channel does not exist</strong>
684<p>
685The channel <B>n</B> map is set in the objects for which a map channel <B>n</B> does not exist.<br /> Because normal output cannot occur in this state, output is performed by forcibly pasting the UV information for map channel 1.
686</p>
687</li>
688
689<li><strong>Material name is changed</strong>
690<p>A material name output to the intermediate file was changed because two or more materials had the same name.</p>
691</li>
692
693<li><strong>Node name is changed</strong><br />
694<p>This warning occurs when two or more nodes have the same name, when illegal characters are included in a node name, or when the node name to be output to the intermediate file is changed.</p>
695</li>
696
697<li><strong>Texture name is changed</strong>
698<p>The texture name contains illegal characters. Illegal characters are converted to an underscore (<CODE>_</CODE>) and output as such.</p>
699</li>
700
701<li><strong>There are multiple texture files with the same name</strong>
702<p>There are two or more texture files with the same filename as the export target, but in different folders or with a different extension. Make sure that there is only one CTEX file to be output.</p>
703</li>
704
705<li><strong>Texture type is not supported</strong>
706<p>The only texture maps that can be used are mipmaps, normal maps and composite maps.</p>
707</li>
708
709<li><strong>Zero normal exists</strong>
710<p>A normal vector that has length 0 exists. Lighting effects will not be carried out normally. Fix this using some means like the <CODE>Edit normal</CODE> modifier or a smoothing group.</p>
711</li>
712
713<li><strong>Billboard Type is ignored if 'Convert To Model' option is ON</strong>
714<p>Billboard settings are not output when the <B>Convert to Model</B> option is turned ON.</p>
715</li>
716
717
718</ul>
719
720<hr><p>CONFIDENTIAL</p></body>
721</html>