1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4<meta http-equiv="Content-Style-Type" content="text/css">
5<title>ctr_BannerModelConverter</title>
6<style type="text/css">
7<!--
8body {
9/*
10    font-size       : 10pt;
11*/
12    font-weight     : normal;
13    color           : #000000;
14    margin          : 8px;
15}
16
17div {
18    width           : 98%;
19    white-space     : nowrap;
20}
21
22div.title {
23    text-align      : left;
24    font-weight     : bold;
25*
26    font-size       : 16pt;
27*/
28    font-size       : 150%;
29    color           : #202020;
30    border-style    : double;
31    border-width    : 8px;
32    /* タイトルを囲む枠線の色を指定 */
33    border-color    : #FF6600;
34
35    /* RVLプラットフォーム系列 */
36/*
37    border-color    : #34beed;
38*/
39
40    /* TWLプラットフォーム系列 */
41/*
42    border-color    : #ff458f;
43*/
44
45    margin          : 4px;
46    padding         : 4px;
47}
48H1 {
49  font-size   : 150%;
50  font-family   : Arial;
51  border-bottom-width : 5px;
52  border-bottom-style : solid;
53  border-bottom-color : #FF6600;
54  padding-bottom    : 1px;
55  margin-bottom   : 20px;
56  letter-spacing    : normal;
57  font-weight   : bold;
58}
59
60h2 {
61    font-weight     : bold;
62/*
63    font-size       : 16pt;
64*/
65    font-size       : 150%;
66    border-style    : none none solid double;
67    border-width    : 0px 0px 2px 8px;
68    /* 見出しの線の色を指定 */
69    border-color    : #FF6600;
70
71    /* RVLプラットフォーム系列 */
72/*
73    border-color    : #34beed;
74*/
75
76    /* TWLプラットフォーム系列 */
77/*
78    border-color    : #ff458f;
79*/
80
81    margin-left     : 2px;
82    padding-left    : 4px;
83}
84CODE {
85  font-family   : "Courier New", monospace;
86  position    : normal;
87  left      : 12px;
88  font-size   : 10pt;
89}
90table {
91  margin-top        : 2pt;
92  margin-bottom     : 2pt;
93  margin-left       : 0pt;
94  margin-right      : 0pt;
95  padding-left      : 0pt;
96  padding-right     : 0pt;
97  position          : relative;
98  left              : 12px;
99  font-family       : Arial;
100  font-size         : 10pt;
101  border-style      : none none none none;
102}
103td,th {
104  padding           : 2pt;
105  border-width      : 2pt;
106  border-style      : none none none none;
107  font-style        : normal;
108  text-align        : left;
109}
110td {
111  background        : #e8f4f4;
112  font-weight       : normal;
113}
114th {
115  background        : #c0d8d8;
116  font-weight       : bold;
117}
118
119p {
120    margin-left     : 4px;
121}
122p.code {
123  font-family   : "Courier New", monospace;
124  position    : normal;
125  left      : 12px;
126  font-size   : 10pt;
127  background            : #e8f4f4;
128}
129
130    .style1
131    {
132        color: #800000;
133        font-weight: bold;
134    }
135
136    .style2
137    {
138        font-size: xx-small;
139    }
140
141-->
142</style>
143
144</head>
145<body>
146<a name="top"></a>
147
148<h1>ctr_BannerModelConverter</h1>
149
150<h1>Table of Contents</h1>
151<ol>
152<li><a href="#intro">Introduction</a></li>
153<li><a href="#usage">How to Use</a></li>
154<li><a href="#summary">Banner Overview</a></li>
155<li><a href="#input">Input Directory Structure</a></li>
156<li><a href="#restrict">File Restrictions</a></li>
157<li><a href="#history">Revision History</a></li>
158</ol>
159
160
161
162<h2><a name="intro">Introduction</a></h2>
163<P>The <CODE>ctr_BannerModelConverter</CODE> tool is used to create CBMD (CTR binary banner model) files.<BR>CBMD files are created based on the specified folder structure.</P>
164<P>The resulting CBMD file can be used with the <CODE>makebanner</CODE> BSF files. </P>
165<P class="style1">Create the model data and sound data using the <CODE>NW4C_ForBanner</CODE> package.<br />It might not be possible to correctly convert data created with versions of NW4C used for application development.</P>
166
167<h2><a name="usage">How to Use</a></h2>
168<h3>What's Required</h3>
169<p>You need the following files to create a CBMD file:</p>
170<li>Intermediate files output by NW4C CreativeStudio.</li>
171</ul>
172
173<h3>Commands</h3>
174
175
176<p class="code">
177% ctr_BannerModelConverter DIRECTORYNAME [Output]
178</p>
179
180<p class="first_ja">The <CODE>DIRECTORYNAME</CODE> specification is required. All other options are optional.</p>
181
182<h4 >Options</h4>
183
184
185<div class="table">
186<table border="1">
187<thead>
188<tr>
189<th align="center">Options</th>
190<th align="center">Description</th>
191</tr>
192</thead>
193<tbody>
194<tr>
195<td align="center"><CODE>DIRECTORYNAME</CODE> </td>
196<td align="center">Specifies the input directory name. Be sure to use the specified directory structure (described later).</td>
197</tr>
198<tr>
199<td align="center"><CODE>Output</CODE></td>
200<td align="center">Specifies the file to output. If omitted, a file with the <CODE>cbmd</CODE> extension added to the originally input filename is output.</td>
201</tr>
202</tbody>
203</table>
204</div>
205
206<h2><a name="summary">Banner Overview</a></h2>
207
208<p>A banner is model data displayed in the upper screen when an application is selected.<BR>Banners are used to show a line-up of miniature target applications on the menu.</p>
209    <p>
210<img alt="banner" src="image/ctr_BannerModelConverter_00.png" style="width: 400px; height: 240px" /></p>
211
212
213<h2><a name="input">Input Directory Structure</a></h2>
214
215<p>Banner model data can be divided into one of two main categories: Model data common to all languages, and data especially intended for each separate region and language combination. <BR>Make sure to use a directory structure as given below. Specify the Banner folder at the top in <CODE>DIRECTORYNAME</CODE> on the command line.</p>
216
217
218<p class="code">
219Banner ━┳━ COMMON ━┳━ COMMON.cmdl<br /> ┃       ┣━ COMMON.cskla<br /> ┃       ┣━ COMMON.cmata<br /> ┃       ┣━ COMMON.cenv<br /> ┃       ┣━ COMMON.clts<br /> ┃       ┗━ Textures ━┓<br /> ┃                ┣━ COMMON1.ctex<br /> ┃                ┣━ COMMON2.ctex<br /> ┃                ┣━ COMMON3.ctex<br /> ┃<br /> ┣━ JPN_JP ━┳━ JPN_JP.cmdl<br /> ┃       ┣━ JPN_JP.cskla<br /> ┃       ┣━ JPN_JP.cmata<br /> ┃       ┣━ JPN_JP.cenv<br /> ┃       ┣━ JPN_JP.clts<br /> ┃       ┗━ Textures ━┓<br /> ┃                ┣━ COMMON1.ctex (Data for swapping)<br /> ┃                ┣━ …<br /> ┃                ┣━ TEX1.ctex (arbitrary name)<br /> ┃                ┣━ TEX2.ctex (arbitrary name)<br /> ┃                ┣━ TEX3.ctex (arbitrary name)<br /> ┃                ┣━ …<br /> ┣━ …<br /> ┣━ …</p>
220
221<p>
222・The <CODE>COMMON</CODE> folder is a required item. The content of the other folders is arbitrary, but these folders must exist. If there is no content, you must create empty folders.<br />Be sure that the file names inside the <CODE>COMMON</CODE> folder are of the format <CODE>COMMON.cmdl</CODE>.<br /><br />・If you place textures with names like <CODE>COMMON1.ctex</CODE> inside the <CODE>Textures</CODE> folders for the various language-specific data, the textures with the same names stored inside <CODE>COMMON</CODE> can be swapped with the various language textures for display.<br /><br /> ・For the various other language-specific data besides texture data, use that language when naming the data (such as <CODE>JPN_JP.cmdl</CODE>).<br /> The naming can be arbitrary for textures to which data swapping does not apply.<br />
223</p>
224<div class="table">
225  <table border="1">
226<thead>
227<tr>
228<th align="center">Name</th>
229<th align="center">
230Region</th>
231<th align="center">
232Language</th>
233</thead>
234<tbody>
235<tr>
236<td align="center">COMMON</td>
237<td align="center">All regions</td>
238<td align="center">All Languages</td>
239</tr>
240<tr>
241<td align="center">EUR_EN </td>
242<td align="center">Europe</td>
243<td align="center">British English </td>
244
245</tr>
246<tr>
247<td align="center">EUR_FR</td>
248<td align="center">Europe</td>
249<td align="center">French</td>
250</tr>
251<tr>
252<td align="center">EUR_GE</td>
253<td align="center">Europe</td>
254<td align="center">German</td>
255
256</tr>
257<tr>
258<td align="center">EUR_IT</td>
259<td align="center">Europe</td>
260<td align="center">Italian</td>
261
262</tr>
263<tr>
264<td align="center">EUR_DU</td>
265<td align="center">Europe</td>
266<td align="center">Dutch</td>
267
268</tr>
269<tr>
270<td align="center">EUR_PO</td>
271<td align="center">Europe</td>
272<td align="center">Portuguese</td>
273
274</tr>
275<tr>
276<td align="center">EUR_RU</td>
277<td align="center">Europe</td>
278<td align="center">Russian</td>
279
280</tr>
281<tr>
282<td align="center">EUR_SP</td>
283<td align="center">Europe</td>
284<td align="center">Spanish</td>
285
286</tr>
287<tr>
288<td align="center">JPN_JP </td>
289<td align="center">Japan</td>
290<td align="center">Japanese</td>
291
292</tr>
293<tr>
294<td align="center">USA_EN </td>
295<td align="center">The Americas</td>
296<td align="center">North American English</td>
297
298</tr>
299<tr>
300<td align="center">USA_FR </td>
301<td align="center">The Americas</td>
302<td align="center">French (Canada)</td>
303
304</tr>
305<tr>
306<td align="center">USA_SP </td>
307<td align="center">The Americas</td>
308<td align="center">Spanish (Latin America)</td>
309
310</tr>
311<tr>
312<td align="center">USA_PO </td>
313<td align="center">The Americas</td>
314<td align="center">Portuguese (Brazil)</td>
315
316</tr>
317</tbody>
318</table>
319</div>
320
321<h2><a name="restrict">Data Restrictions</a></h2>
322
323<p>The following restrictions apply to banner model data.<br /><B>Note:</B> The numeric values in the explanations below are the numbers from Creative Studio.</p>
324
325<p class="style1"><B>Note:</B> These restrictions are provisional. These specifications are subject to change in the future.</p>
326
327<h3>Camera Restrictions</h3>
328
329<p>
330The camera is fixed. Cannot be adjusted for each individual application.<br /><B>Note:</B> Cameras placed inside banner data can only be used for projection mapping.
331</p>
332
333<div class="table">
334    <table border="1">
335        <tr style="BACKGROUND: #eee">
336            <th>
337Camera position x, y, z</th>
338            <th>
339Look-at point  x, y, z</th>
340            <th>
341Angles of view (fovy)</th>
342            <th>
343near/far</th>
344            <th>
345Depth Level<span class="style2">※</span></th>
346            <th>
347Factor<span class="style2">※</span></th>
348        </tr>
349        <tr style="BACKGROUND: #fff">
350            <td>
351                0.0 / 1.0 / 44.786
352    </td>
353            <td>
354    0.0 / 1.0 / 0.0</td>
355            <td>
356                30</td>
357            <td>
358                26.5 / 1000</td>
359          <td>
36034.786<br />(<B>Note:</B> The screen level is +10 from the origin.)</td>
361            <td>
362          1.0</td>
363        </tr>
364    </table>
365 </div>
366
367<p>
368<B>Note:</B> These are the <CODE>depthLevel</CODE> and <CODE>factor</CODE> values used by the <CODE>ulcd::CalculateMatrices</CODE> function.
369
370<h3>Model Size and Rendering Range Restrictions</h3>
371<p>
372Any parts that extend past the range shown in the figure are hidden by the system.<br /><B>Note:</B> The blender's stencil test is used to apply a mask based on a hidden ellipsoid model.<br />(For this reason, stencil tests cannot be used on the model side. The setting is overwritten on the system side.)
373</p>
374    <p>
375<img alt="banner" src="image/ctr_BannerModelConverter_01.png" style="width: 400px; height: 240px" /></p>
376<div class="table">
377  <table border="1">
378    <tr style="BACKGROUND: #eee">
379<th> Mask ellipsoid size X/Y/Z</th>
380    </tr>
381    <tr style="BACKGROUND: #fff">
382<td> Diameter 18 / Diameter 9.5 / Diameter 18 <br /> <br /><B>Note:</B> Use the center of the ellipsoid as the origin and create the model in this range.</td>
383
384    </tr>
385  </table>
386</div>
387<h3>Restrictions on Model Y-Axis Rotation</h3>
388
389    <p>
390Models rotate once in 600 frames (10 seconds at 60 fps) at constant velocity to the left for a viewer facing the screen. - Rotation accelerates if the user blows into the microphone.</p>
391    <p>
392<B>Note:</B> Use billboard settings for nodes you do not want to be rotated.<BR><B>Note:</B> Although these nodes do not normally turn if rotated to the right at constant speed for 600f, they will rotate if the user blows into the microphone. </p>
393
394<h3>Restrictions on Intermediate Files</h3>
395
396<p>There are restrictions on data by design and to prevent skipped frames. <br />
397<p class="style1"><B>Note:</B> Data that violates these restrictions generates an error during conversion.</p>
398<B>Note:</B> Even if the data is within the restrictions, the data size must be reduced if skipped frames occur. (Described later.)
399</p>
400<div class="table">
401<table border="1">
402<thead>
403<tr>
404<th align="center">Extension</th>
405<th align="center">
406◎: Required<br />○: Optional<br />×: Not supported</th>
407<th align="center">Data restrictions on [Data common to all languages] + [Data for a single language] </th>
408</tr>
409</thead>
410<tbody>
411<tr>
412<td align="center">cmdl</td><td align="center">◎</td>
413<td align="center">Number of polygons: <B>3000 or less</B><br /> Number of bones: <B>10 or less</B> (This has changed from 5 to 10.) <br /> Number of materials: <B>5 or less</B> <br /> <br /> <B>Note:</B> There are no restrictions on layer configurations.<br /><B>Note:</B> The stencil test is unavailable because it is used for masking by the ellipsoid. The settings are overwritten on the system side.</td>
414</tr>
415<tr>
416<td align="center">ctex </td>
417<td align="center">○ </td>
418<td align="center">There is no limit on the number of textures as long as the size does not exceed the limit.</td>
419</tr>
420<tr>
421<td align="center">cskla </td>
422<td align="center">○ </td>
423<td align="center">Create a looped animation of 600 frames or less.</td>
424</tr>
425<tr>
426<td align="center">cmata </td>
427<td align="center">○ </td>
428<td align="center">Create a looped animation of 600 frames or less.</td>
429</tr>
430<tr>
431<td align="center">cenv </td>
432<td align="center">○ </td>
433<td align="center">Number of lights: <B>3 or fewer</B><br />Number of cameras: <B>3 or fewer</B><br />Number of fogs: <B>1 or fewer</B><br /><br />If using lights and/or cameras, add these settings under <B>Light Set</B> and <B>Cameras</B> in the Property panel of the scene environment (CENV file).</td>
434</tr>
435<tr>
436<td align="center">clts </td>
437<td align="center">○ </td>
438<td align="center">Number of tables: <B>3 or fewer</B></td>
439</tr>
440<tr>
441<td align="center">cptl </td>
442<td align="center">×</td>
443<td align="center">Particles are not supported.</td>
444</tr>
445<tr>
446<td align="center">csdr </td>
447<td align="center">×</td>
448<td align="center">User shaders are not supported. (The default shader is used.)</td>
449</tr>
450<tr>
451<td align="center">clgt </td>
452<td align="center">×</td>
453<td align="center">Add lights under <B>Light Set</B> in the Property panel of the scene environment (CENV file).<br>Animation is not supported.</td>
454</tr>
455<tr>
456<td align="center">ccam </td>
457<td align="center">×</td>
458<td align="center">Add projection-mapping cameras under <B>Cameras</B> in the Property panel of the scene environment (CENV file).<br>Animation is not supported.</td>
459</tr>
460<tr>
461<td align="center">cmdla </td>
462<td align="center">×</td>
463<td align="center">Does not support visibility animations of models.</td>
464</tr>
465<tr>
466<td align="center">cres </td>
467<td align="center">×</td>
468<td align="center">Merged files are not supported to support localization needs to switch resources. </td>
469</tr>
470<tr>
471<td align="center">Other </td>
472<td align="center">×</td>
473<td align="center">There are no plans to support other intermediate file extensions that may be added in the future.(2010.12.09)</td>
474</tr>
475</tbody>
476</table>
477</div>
478
479<h3>Restriction on Data Size</h3>
480
481<p>The following restrictions have been placed on data size after conversion.<BR><B>Note:</B> Data that violates these restrictions generates an error during conversion.
482</p>
483
484<div class="table">
485<table border="1">
486<thead>
487<tr>
488<th align="center">Data capacity restrictions on [Data common to all languages] + [Data for a single language]</th>
489<th align="center">Data capacity restrictions on [Data common to all languages] + [All language-specific data]<br/>(Data capacity restrictions for banner files (<CODE>*.bnr</CODE>), including sound data)</th>
490</tr>
491</thead>
492<tbody>
493<tr>
494<td align="center"><B>320 KB</B> for <B>Binary size</B><br /><br /><B>Note:</B> You can check this using <B>Save as binary</B> from the <B>File</B> menu in NW4C Creative Studio.</td>
495<td align="center"><B>1 MB</B> for <B>Size after compression</B><br /><br /><B>Note:</B> There are no absolute rules for how much the size decreases with compression, but if you meet the above restrictions it is unlikely that you will violate this restriction.</td>
496</tr>
497</tbody>
498</table>
499</div>
500
501<h2><a name="restrict">Processing Limits on the HOME Menu</a></h2>
502
503<h3>How to Check Processing on the HOME Menu</h3>
504
505<p>
506<br/>Pressing &quot;X+Y&quot; on the HOME Menu for developers displays debug commands.
507</p>
508
509<p>
510- Check processing in the display state shown below.
511</p>
512
513
514<p>
515<img alt="banner" src="image/ctr_BannerModelConverter_02.png" style="width: 448px; height: 500px" />
516</p>
517
518
519<div class="table">
520<table border="1">
521<thead>
522<tr>
523<th align="center">Number of drawings</th>
524<th align="center">Description</th>
525</tr>
526</thead>
527<tbody>
528<tr>
529<td align="center">【1】</td>
530<td align="center">Turn off the wireless switch on the right side of the system.</td>
531</tr>
532<tr>
533<td align="center">【2】</td>
534<td align="center">From the top, the region name and language name, HOME Menu build timestamp, and HOME Menu version are displayed.</td>
535</tr>
536<tr>
537<td align="center">【3】</td>
538<td align="center">These processing bars used to check processing.<br/>From the top, the maximum processing load per 1f indicator (fixed), CPU processing load indicator, and GPU processing load indicator are displayed.<br/> <B>Note:</B> The details are described later.</td>
539</tr>
540<tr>
541<td align="center">【4】</td>
542<td align="center">The lower screen displays items that can be checked in the order: &quot;Health and Safety Information,&quot; &quot;Applications to check processing,&quot; &quot;3DS Cameras,&quot; &quot;3DS Sounds.&quot; <B>Note:</B> Put the system into a state that does not display the new arrival icon.</td>
543</tr>
544</tbody>
545</table>
546</div>
547
548<p>
549- The Processing Bars
550</p>
551
552<p>
553<img alt="banner" src="image/ctr_BannerModelConverter_03.png" style="width: 448px; height: 84px" />
554</p>
555
556<p>
557Neither the CPU nor GPU may exceed the processing limit of 80%. In addition, processing must not exceed the processing limit of 80% even by 1f for 600f while the banner is rotating.
558</p>
559
560<div class="table">
561<table border="1">
562<thead>
563<tr>
564<th align="center">Bar Colors</th>
565<th align="center">Description</th>
566</tr>
567</thead>
568<tbody>
569<tr>
570<td align="center"><font color="#00FF00">■</font> Green</td>
571<td align="center">The processing load is in the okay zone. There is no need to reduce processing.</td>
572</tr>
573<tr>
574<td align="center"><font color="#FFFF00">■</font> Yellow</td>
575<td align="center">The bar turns yellow (caution) if the processing load goes over 75%. There is no need to reduce processing.</td>
576</tr>
577<tr>
578<td align="center"><font color="#FF0000">■</font> Red</td>
579<td align="center">The bar turns red (warning) if the processing load goes over 80%. Reduce processing.</td>
580</tr>
581</tbody>
582</table>
583</div>
584
585<p>
586Processing bars must be kept in the states indicated as okay below.
587</p>
588
589<p>
590<img alt="banner" src="image/ctr_BannerModelConverter_04.png" style="width: 384px; height: 164px" />
591</p>
592
593<h3>【Reference】How to Handle Processing Overflow</h3>
594
595<p>
596Effective measures of reducing CPU processing are:<br/>・Reducing the number of bones<br/>・Reducing the number of vertices, etc.
597</p>
598<p>
599Effective measures of reducing GPU processing include:<br/>・Reducing texture capacity<br/>・Reducing the number of textures<br/>・Applying mipmaps to textures<br/>・Reducing the surface area to be rendered on translucent polygons<br/>・Setting the layer configuration to one with fewer cycles
600</p>
601
602
603</p>
604
605<h2><a name="history">Revision History</a></h2>
606    <dl class="history">
607
608      <dt>2010/03/08</dt>
609<dd>An error is now generated during conversion when the data violate the data restrictions.<br />Changed some of the values for data capacity restrictions.
610      <dt>2010/02/03</dt>
611<dd>Added that it is necessary to create model data and sound data using the <CODE>NW4C_ForBanner</CODE> package.<br />
612      <dt>2010/01/05</dt>
613<dd>Added text regarding handling of CENV, CLGT, and CCAM files to <B>Data Restrictions</B>.<br />
614      <dt>2010/12/30</dt>
615<dd>Fixed a bug that caused incorrect checking of the data capacity restriction.<br />
616      <dt>2010/12/28</dt>
617<dd>Clarified that the supporting version of NW4C is 1.2.<br />
618      <dt>2010/12/25</dt>
619<dd>An error is now generated during conversion when the data violate the restrictions on data capacity.<br />
620      <dt>2010/12/09</dt>
621<dd>Added information on the processing limit on the HOME Menu and how to check processing.<br />Added the fact that cmdla is not supported.
622      <dt>2010/12/07</dt>
623<dd>Changed CSKLA and CMATA frame restriction from a 600-frame animation to an animation of no more than 600 frames.<br />
624      <dt>2010/11/26</dt>
625<dd>Fixed bug where language folders containing empty files would not be properly converted.<br />
626      <dt>2010/11/19</dt>
627<dd>Deleted <B>Sound file restrictions</B> (moved this section to <CODE>ctr_makebanner</CODE>).<br />
628      <dt>2010/11/13</dt>
629<dd>Modified <B>Restrictions on data size</B> (revised the text to <B>256KB</B> for <B>Banner size</B>.<br />Supplemented other <B>Data Restrictions</B> items.<br />
630      <dt>2010/10/09</dt>
631<dd>Supplemented the restrictions for sound files and data capacity.<br />
632      <dt>2010/09/28</dt>
633<dd>Initial version.<br />
634      </dd>
635    </dl>
636<hr><p>CONFIDENTIAL</p></body>
637</html>
638