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> <!-- ※注意事項 --> <!--  ・(任意)となっているものは、記載が無くても問題ありません。 --> <!--  ・各項目についてる(必須)や(任意)は、作成後に削除してください。 --> <!--  ・各項目内の書き方は、パッケージごとに自由で問題ありませんが、同じパッケージ内で違いがでないようにしてください。 --> <!--  ・タグはすべて小文字、終了タグを持たないものは「/>」で閉じてください。--> <!--  ・HTMLコードのインデントは、各種社内コード規約と同様にスペース4文字か4文字幅のタブになるようにしてください-->
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">This tool uses the data converter from Creative Studio for CTR.<br /><font color=red>NW4C version 1.2</font>, which supports the HOME Menu, must be installed in the environment where conversion takes place.</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">DIRECTORYNAME </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">Output</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> <B>Note:</B> Data that violates these restrictions generates an error during conversion. (Not implemented)<BR>Even if the data is within the restrictions, the data size must be reduced if skipped frames occur. (Described later.)
397</p>
398<div class="table">
399<table border="1">
400<thead>
401<tr>
402<th align="center">Extension</th>
403<th align="center">
404◎: Required<br />○: Optional<br />×: Not supported</th>
405<th align="center">Data restrictions on [Data common to all languages] + [Data for a single language] </th>
406</tr>
407</thead>
408<tbody>
409<tr>
410<td align="center">cmdl</td><td align="center">◎</td>
411<td align="center">Number of polygons: <B>3000 or less</B><BR>Number of bones: <B>5 or less</B><BR>Number of materials: <B>5 or less</B><br />Layer configurations: <B>0</B>, <B>1</B>, <B>2</B>, or <B>3</B> (<B>Note:</B> Limited to those with one cycle.)<BR><B>Stencil test unavailable</B>: Used for masking with an ellipse.</td>
412</tr>
413<tr>
414<td align="center">ctex </td>
415<td align="center">○ </td>
416<td align="center">There is no limit on the number of textures as long as the size does not exceed the limit.</td>
417</tr>
418<tr>
419<td align="center">cskla </td>
420<td align="center">○ </td>
421<td align="center">Create a looped animation of 600 frames or less.</td>
422</tr>
423<tr>
424<td align="center">cmata </td>
425<td align="center">○ </td>
426<td align="center">Create a looped animation of 600 frames or less.</td>
427</tr>
428<tr>
429<td align="center">cenv </td>
430<td align="center">○ </td>
431<td align="center">Number of lights (3 or less)<BR>Number of cameras (3 or less)<BR>Number of fogs (1 or less)</td>
432</tr>
433<tr>
434<td align="center">clts </td>
435<td align="center">○ </td>
436<td align="center">Number of tables (3 or less)</td>
437</tr>
438<tr>
439<td align="center">cptl </td>
440<td align="center">×</td>
441<td align="center">Particles are not supported.</td>
442</tr>
443<tr>
444<td align="center">csdr </td>
445<td align="center">×</td>
446<td align="center">User shaders are not supported. (The default shader is used.)</td>
447</tr>
448<tr>
449<td align="center">clgt </td>
450<td align="center">×</td>
451<td align="center">Store lights in <CODE>cenv</CODE>. Animation is not supported.</td>
452</tr>
453<tr>
454<td align="center">ccam </td>
455<td align="center">×</td>
456<td align="center">Store projection map cameras in cenv. Animation is not supported.</td>
457</tr>
458<tr>
459<td align="center">cmdla </td>
460<td align="center">×</td>
461<td align="center">Does not support visibility animations of models.</td>
462</tr>
463<tr>
464<td align="center">cres </td>
465<td align="center">×</td>
466<td align="center">Merged files are not supported to support localization needs to switch resources. </td>
467</tr>
468<tr>
469<td align="center">Other </td>
470<td align="center">×</td>
471<td align="center">There are no plans to support other intermediate file extensions that may be added in the future.(2010.12.09)</td>
472</tr>
473</tbody>
474</table>
475</div>
476
477<h3>Restriction on Data Size</h3>
478
479<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.
480</p>
481
482<div class="table">
483<table border="1">
484<thead>
485<tr>
486<th align="center">Data capacity restrictions on [Data common to all languages] + [Data for a single language]</th>
487<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>
488</tr>
489</thead>
490<tbody>
491<tr>
492<td align="center"><B>256KB</B> for <B>Banner size</B><br /><br /><B>Note:</B> You can check this using <B>Save as binary</B> from the 3D intermediate file editing tools.</td>
493<td align="center"><B>1MB</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>
494</tr>
495</tbody>
496</table>
497</div>
498
499<h2><a name="restrict">Processing Limits on the HOME Menu</a></h2>
500
501<h3>How to Check Processing on the HOME Menu</h3>
502
503<p>
504<br/>Pressing &quot;X+Y&quot; on the HOME Menu for developers displays debug commands.
505</p>
506
507<p>
508- Check processing in the display state shown below.
509</p>
510
511
512<p>
513<img alt="banner" src="image/ctr_BannerModelConverter_02.png" style="width: 448px; height: 500px" />
514</p>
515
516
517<div class="table">
518<table border="1">
519<thead>
520<tr>
521<th align="center">Number of drawings</th>
522<th align="center">Description</th>
523</tr>
524</thead>
525<tbody>
526<tr>
527<td align="center">【1】</td>
528<td align="center">Turn off the wireless switch on the right side of the system.</td>
529</tr>
530<tr>
531<td align="center">【2】</td>
532<td align="center">From the top, the region name and language name, HOME Menu build timestamp, and HOME Menu version are displayed.</td>
533</tr>
534<tr>
535<td align="center">【3】</td>
536<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>
537</tr>
538<tr>
539<td align="center">【4】</td>
540<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>
541</tr>
542</tbody>
543</table>
544</div>
545
546<p>
547- The Processing Bars
548</p>
549
550<p>
551<img alt="banner" src="image/ctr_BannerModelConverter_03.png" style="width: 448px; height: 84px" />
552</p>
553
554<p>
555Neither 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.
556</p>
557
558<div class="table">
559<table border="1">
560<thead>
561<tr>
562<th align="center">Bar Colors</th>
563<th align="center">Description</th>
564</tr>
565</thead>
566<tbody>
567<tr>
568<td align="center"><font color="#00FF00">■</font> Green</td>
569<td align="center">The processing load is in the okay zone. There is no need to reduce processing.</td>
570</tr>
571<tr>
572<td align="center"><font color="#FFFF00">■</font> Yellow</td>
573<td align="center">The bar turns yellow (caution) if the processing load goes over 75%. There is no need to reduce processing.</td>
574</tr>
575<tr>
576<td align="center"><font color="#FF0000">■</font> Red</td>
577<td align="center">The bar turns red (warning) if the processing load goes over 80%. Reduce processing.</td>
578</tr>
579</tbody>
580</table>
581</div>
582
583<p>
584Processing bars must be kept in the states indicated as okay below.
585</p>
586
587<p>
588<img alt="banner" src="image/ctr_BannerModelConverter_04.png" style="width: 384px; height: 164px" />
589</p>
590
591<h3>【Reference】How to Handle Processing Overflow</h3>
592
593<p>
594Effective measures of reducing CPU processing are:<br/>・Reducing the number of bones<br/>・Reducing the number of vertices, etc.
595</p>
596<p>
597Effective measures of reducing GPU processing are:<br/>・Reducing texture capacity<br/>・Reducing the number of textures<br/>・Applying mipmaps to textures<br/>・Reducing the area to be rendered for translucent polygons, etc.
598</p>
599
600
601</p>
602
603<h2><a name="history">Revision History</a></h2>
604    <dl class="history">
605      <dt>2010/12/28</dt>
606<dd>Clarified that the supporting version of NW4C is 1.2.<br />
607      <dt>2010/12/25</dt>
608<dd>An error is now generated during conversion when the data violate the restrictions on data capacity.<br />
609      <dt>2010/12/09</dt>
610<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.
611      <dt>2010/12/07</dt>
612<dd>Changed CSKLA and CMATA frame restriction from a 600-frame animation to an animation of no more than 600 frames.<br />
613      <dt>2010/11/26</dt>
614<dd>Fixed bug where language folders containing empty files would not be properly converted.<br />
615      <dt>2010/11/19</dt>
616<dd>Deleted <B>Sound file restrictions</B> (moved this section to <CODE>ctr_makebanner</CODE>).<br />
617      <dt>2010/11/13</dt>
618<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 />
619      <dt>2010/10/09</dt>
620<dd>Supplemented the restrictions for sound files and data capacity.<br />
621      <dt>2010/09/28</dt>
622<dd>Initial version.<br />
623      </dd>
624    </dl>
625<hr><p>CONFIDENTIAL</p></body>
626</html>
627