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} 16div { 17 width : 98%; 18 white-space : nowrap; 19} 20div.title { 21 text-align : left; 22 font-weight : bold; 23* 24 font-size : 16pt; 25*/ 26 font-size : 150%; 27 color : #202020; 28 border-style : double; 29 border-width : 8px; 30 /* タイトルを囲む枠線の色を指定 */ 31 border-color : #FF6600; 32 /* RVLプラットフォーム系列 */ 33/* 34 border-color : #34beed; 35*/ 36 /* TWLプラットフォーム系列 */ 37/* 38 border-color : #ff458f; 39*/ 40 margin : 4px; 41 padding : 4px; 42} 43H1 { 44 font-size : 150%; 45 font-family : Arial; 46 border-bottom-width : 5px; 47 border-bottom-style : solid; 48 border-bottom-color : #FF6600; 49 padding-bottom : 1px; 50 margin-bottom : 20px; 51 letter-spacing : normal; 52 font-weight : bold; 53} 54h2 { 55 font-weight : bold; 56/* 57 font-size : 16pt; 58*/ 59 font-size : 150%; 60 border-style : none none solid double; 61 border-width : 0px 0px 2px 8px; 62 /* 見出しの線の色を指定 */ 63 border-color : #FF6600; 64 /* RVLプラットフォーム系列 */ 65/* 66 border-color : #34beed; 67*/ 68 /* TWLプラットフォーム系列 */ 69/* 70 border-color : #ff458f; 71*/ 72 margin-left : 2px; 73 padding-left : 4px; 74} 75CODE { 76 font-family : "Courier New", monospace; 77 position : normal; 78 left : 12px; 79 font-size : 10pt; 80} 81table { 82 margin-top : 2pt; 83 margin-bottom : 2pt; 84 margin-left : 0pt; 85 margin-right : 0pt; 86 padding-left : 0pt; 87 padding-right : 0pt; 88 position : relative; 89 left : 12px; 90 font-family : Arial; 91 font-size : 10pt; 92 border-style : none none none none; 93} 94td,th { 95 padding : 2pt; 96 border-width : 2pt; 97 border-style : none none none none; 98 font-style : normal; 99 text-align : left; 100} 101td { 102 background : #e8f4f4; 103 font-weight : normal; 104} 105th { 106 background : #c0d8d8; 107 font-weight : bold; 108} 109p { 110 margin-left : 4px; 111} 112p.code { 113 font-family : "Courier New", monospace; 114 position : normal; 115 left : 12px; 116 font-size : 10pt; 117 background : #e8f4f4; 118} 119 .style1 120 { 121 color: #800000; 122 font-weight: bold; 123 } 124 .style2 125 { 126 font-size: xx-small; 127 } 128--> 129</style> 130</head> 131<body> 132<a name="top"></a> <!-- ※注意事項 --> <!-- ・(任意)となっているものは、記載が無くても問題ありません。 --> <!-- ・各項目についてる(必須)や(任意)は、作成後に削除してください。 --> <!-- ・各項目内の書き方は、パッケージごとに自由で問題ありませんが、同じパッケージ内で違いがでないようにしてください。 --> <!-- ・タグはすべて小文字、終了タグを持たないものは「/>」で閉じてください。--> <!-- ・HTMLコードのインデントは、各種社内コード規約と同様にスペース4文字か4文字幅のタブになるようにしてください--> 133<h1>ctr_BannerModelConverter</h1> 134<h1>Table of Contents</h1> 135<ol> 136<li><a href="#intro">Introduction</a></li> 137<li><a href="#usage">How to Use</a></li> 138<li><a href="#summary">Banner Overview</a></li> 139<li><a href="#input">Input Directory Structure</a></li> 140<li><a href="#restrict">File Restrictions</a></li> 141<li><a href="#history">Revision History</a></li> 142</ol> 143<h2><a name="intro">Introduction</a></h2> 144<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> 145<P>The resulting CBMD file can be used with the <CODE>makebanner</CODE> BSF files. </P> 146<P class="style1">To create model data and sound data, use <CODE>NW4C_ForBanner</CODE> (a separate package to create banner data).<br /> Conversion of data created with <CODE>NW4C</CODE> for application development may yield unexpected results.</P> 147<h2><a name="usage">How to Use</a></h2> 148<h3>What's Required</h3> 149<p>You need the following files to create a CBMD file:</p> 150<li>Intermediate files output by NW4C CreativeStudio.</li> 151</ul> 152<h3>Commands</h3> 153<p class="code"> 154% ctr_BannerModelConverter DIRECTORYNAME [Output] 155</p> 156<p class="first_ja">The <CODE>DIRECTORYNAME</CODE> specification is required. All other options are optional.</p> 157<h4 >Options</h4> 158<div class="table"> 159<table border="1"> 160<thead> 161<tr> 162<th align="center">Options</th> 163<th align="center">Description</th> 164</tr> 165</thead> 166<tbody> 167<tr> 168<td align="center">DIRECTORYNAME </td> 169<td align="center">Specifies the input directory name. Be sure to use the specified directory structure (described later).</td> 170</tr> 171<tr> 172<td align="center">Output</td> 173<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> 174</tr> 175</tbody> 176</table> 177</div> 178<h2><a name="summary">Banner Overview</a></h2> 179<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> 180 <p> 181<img alt="banner" src="image/ctr_BannerModelConverter_00.png" style="width: 400px; height: 240px" /></p> 182<h2><a name="input">Input Directory Structure</a></h2> 183<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> 184<p class="code"> 185Banner ━┳━ 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> 186<p> 187・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 /> 188</p> 189<div class="table"> 190 <table border="1"> 191<thead> 192<tr> 193<th align="center">Name</th> 194<th align="center"> 195Region</th> 196<th align="center"> 197Language</th> 198</thead> 199<tbody> 200<tr> 201<td align="center">COMMON</td> 202<td align="center">All regions</td> 203<td align="center">All Languages</td> 204</tr> 205<tr> 206<td align="center">EUR_EN </td> 207<td align="center">Europe</td> 208<td align="center">British English </td> 209</tr> 210<tr> 211<td align="center">EUR_FR</td> 212<td align="center">Europe</td> 213<td align="center">French</td> 214</tr> 215<tr> 216<td align="center">EUR_GE</td> 217<td align="center">Europe</td> 218<td align="center">German</td> 219</tr> 220<tr> 221<td align="center">EUR_IT</td> 222<td align="center">Europe</td> 223<td align="center">Italian</td> 224</tr> 225<tr> 226<td align="center">EUR_DU</td> 227<td align="center">Europe</td> 228<td align="center">Dutch</td> 229</tr> 230<tr> 231<td align="center">EUR_PO</td> 232<td align="center">Europe</td> 233<td align="center">Portuguese</td> 234</tr> 235<tr> 236<td align="center">EUR_RU</td> 237<td align="center">Europe</td> 238<td align="center">Russian</td> 239</tr> 240<tr> 241<td align="center">EUR_SP</td> 242<td align="center">Europe</td> 243<td align="center">Spanish</td> 244</tr> 245<tr> 246<td align="center">JPN_JP </td> 247<td align="center">Japan</td> 248<td align="center">Japanese</td> 249</tr> 250<tr> 251<td align="center">USA_EN </td> 252<td align="center">The Americas</td> 253<td align="center">North American English</td> 254</tr> 255<tr> 256<td align="center">USA_FR </td> 257<td align="center">The Americas</td> 258<td align="center">French (Canada)</td> 259</tr> 260<tr> 261<td align="center">USA_SP </td> 262<td align="center">The Americas</td> 263<td align="center">Spanish (Latin America)</td> 264</tr> 265<tr> 266<td align="center">USA_PO </td> 267<td align="center">The Americas</td> 268<td align="center">Portuguese (Brazil)</td> 269</tr> 270</tbody> 271</table> 272</div> 273<h2><a name="restrict">Data Restrictions</a></h2> 274<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> 275<p class="style1"><B>Note:</B> These restrictions are provisional. These specifications are subject to change in the future.</p> 276<h3>Camera Restrictions</h3> 277<p> 278The 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. 279</p> 280<div class="table"> 281 <table border="1"> 282 <tr style="BACKGROUND: #eee"> 283 <th> 284Camera position x, y, z</th> 285 <th> 286Look-at point x, y, z</th> 287 <th> 288Angles of view (fovy)</th> 289 <th> 290near/far</th> 291 <th> 292Depth Level*</th> 293 <th> 294Factor*</th> 295 </tr> 296 <tr style="BACKGROUND: #fff"> 297 <td> 298 0.0 / 1.0 / 44.786 299 </td> 300 <td> 301 0.0 / 1.0 / 0.0</td> 302 <td> 303 30</td> 304 <td> 305 26.5 / 1000</td> 306 <td> 30734.786<br /><B>* Note:</B> The screen level is +10 from the origin.</td> 308 <td> 309 1.0</td> 310 </tr> 311 </table> 312 </div> 313<p> 314<B>Note:</B> These are the <CODE>depthLevel</CODE> and <CODE>factor</CODE> values used by the <CODE>ulcd::CalculateMatrices</CODE> function. 315<h3>Model Size and Rendering Range Restrictions</h3> 316<p> 317Any 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.) 318</p> 319 <p> 320<img alt="banner" src="image/ctr_BannerModelConverter_01.png" style="width: 400px; height: 240px" /></p> 321<div class="table"> 322 <table border="1"> 323 <tr style="BACKGROUND: #eee"> 324<th> Mask ellipsoid size X/Y/Z</th> 325 </tr> 326 <tr style="BACKGROUND: #fff"> 327<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> 328 </tr> 329 </table> 330</div> 331<h3>Restrictions on Model Y-Axis Rotation</h3> 332 <p> 333Models 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> 334 <p> 335<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> 336<h3>Restrictions on Intermediate Files</h3> 337<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.) 338</p> 339<div class="table"> 340<table border="1"> 341<thead> 342<tr> 343<th align="center">Extension</th> 344<th align="center"> 345◎: Required<br />○: Optional<br />×: Not supported</th> 346<th align="center">Data restrictions on [Data common to all languages] + [Data for a single language] </th> 347</tr> 348</thead> 349<tbody> 350<tr> 351<td align="center">cmdl</td><td align="center">◎</td> 352<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> 353</tr> 354<tr> 355<td align="center">ctex </td> 356<td align="center">O</td> 357<td align="center">There is no limit on the number of textures as long as the size does not exceed the limit.</td> 358</tr> 359<tr> 360<td align="center">cskla </td> 361<td align="center">O</td> 362<td align="center">Create a looped animation of 600 frames or less.</td> 363</tr> 364<tr> 365<td align="center">cmata </td> 366<td align="center">O</td> 367<td align="center">Create a looped animation of 600 frames or less.</td> 368</tr> 369<tr> 370<td align="center">cenv </td> 371<td align="center">O</td> 372<td align="center">Number of lights (3 or less)<BR>Number of cameras (3 or less)<BR>Number of fogs (1 or less)</td> 373</tr> 374<tr> 375<td align="center">clts </td> 376<td align="center">O</td> 377<td align="center">Number of tables (3 or less)</td> 378</tr> 379<tr> 380<td align="center">cptl </td> 381<td align="center">X</td> 382<td align="center">Particles are not supported.</td> 383</tr> 384<tr> 385<td align="center">csdr </td> 386<td align="center">X</td> 387<td align="center">User shaders are not supported. (The default shader is used.)</td> 388</tr> 389<tr> 390<td align="center">clgt </td> 391<td align="center">X</td> 392<td align="center">Store lights in <CODE>cenv</CODE>. Animation is not supported.</td> 393</tr> 394<tr> 395<td align="center">ccam </td> 396<td align="center">X</td> 397<td align="center">Store projection map cameras in cenv. Animation is not supported.</td> 398</tr> 399<tr> 400<td align="center">cmdla </td> 401<td align="center">X</td> 402<td align="center">Does not support visibility animations of models.</td> 403</tr> 404<tr> 405<td align="center">cres </td> 406<td align="center">X</td> 407<td align="center">Merged files are not supported to support localization needs to switch resources. </td> 408</tr> 409<tr> 410<td align="center">Other </td> 411<td align="center">X</td> 412<td align="center">There are no plans to support other intermediate file extensions that may be added in the future.(2010.12.09)</td> 413</tr> 414</tbody> 415</table> 416</div> 417<h3>Restriction on Data Size</h3> 418<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. 419</p> 420<div class="table"> 421<table border="1"> 422<thead> 423<tr> 424<th align="center">Data capacity restrictions on [Data common to all languages] + [Data for a single language]</th> 425<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> 426</tr> 427</thead> 428<tbody> 429<tr> 430<td align="center"><B>256KB</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 from NW4C Creative Studio.</td> 431<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> 432</tr> 433</tbody> 434</table> 435</div> 436<h2><a name="restrict">Processing Limits on the HOME Menu</a></h2> 437<h3>How to Check Processing on the HOME Menu</h3> 438<p> 439<br/>Pressing "X+Y" on the HOME Menu for developers displays debug commands. 440</p> 441<p> 442- Check processing in the display state shown below. 443</p> 444<p> 445<img alt="banner" src="image/ctr_BannerModelConverter_02.png" style="width: 448px; height: 500px" /> 446</p> 447<div class="table"> 448<table border="1"> 449<thead> 450<tr> 451<th align="center">Number of drawings</th> 452<th align="center">Description</th> 453</tr> 454</thead> 455<tbody> 456<tr> 457<td align="center">【1】</td> 458<td align="center">Turn off the wireless switch on the right side of the system.</td> 459</tr> 460<tr> 461<td align="center">【2】</td> 462<td align="center">From the top, the region name and language name, HOME Menu build timestamp, and HOME Menu version are displayed.</td> 463</tr> 464<tr> 465<td align="center">【3】</td> 466<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> 467</tr> 468<tr> 469<td align="center">【4】</td> 470<td align="center">The lower screen displays items that can be checked in the order: "Health and Safety Information," "Applications to check processing," "3DS Cameras," "3DS Sounds." <B>Note:</B> Put the system into a state that does not display the new arrival icon.</td> 471</tr> 472</tbody> 473</table> 474</div> 475<p> 476- The Processing Bars 477</p> 478<p> 479<img alt="banner" src="image/ctr_BannerModelConverter_03.png" style="width: 448px; height: 84px" /> 480</p> 481<p> 482Neither 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. 483</p> 484<div class="table"> 485<table border="1"> 486<thead> 487<tr> 488<th align="center">Bar Colors</th> 489<th align="center">Description</th> 490</tr> 491</thead> 492<tbody> 493<tr> 494<td align="center"><font color="#00FF00">■</font> Green</td> 495<td align="center">The processing load is in the okay zone. There is no need to reduce processing.</td> 496</tr> 497<tr> 498<td align="center"><font color="#FFFF00">■</font> Yellow</td> 499<td align="center">The bar turns yellow (caution) if the processing load goes over 75%. There is no need to reduce processing.</td> 500</tr> 501<tr> 502<td align="center"><font color="#FF0000">■</font> Red</td> 503<td align="center">The bar turns red (warning) if the processing load goes over 80%. Reduce processing.</td> 504</tr> 505</tbody> 506</table> 507</div> 508<p> 509Processing bars must be kept in the states indicated as okay below. 510</p> 511<p> 512<img alt="banner" src="image/ctr_BannerModelConverter_04.png" style="width: 384px; height: 164px" /> 513</p> 514<h3>[Reference] How to Handle Processing Overflow</h3> 515<p> 516Effective measures of reducing CPU processing are:<br/>・Reducing the number of bones<br/>・Reducing the number of vertices, etc. 517</p> 518<p> 519Effective 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. 520</p> 521</p> 522<h2><a name="history">Revision History</a></h2> 523 <dl class="history"> 524 <dt>2011/01/05</dt> 525<dd>Added text regarding handling of CENV, CLGT, and CCAM files to <B>Data Restrictions</B>.<br /> 526 <dt>2010/12/30</dt> 527<dd>Fixed a bug that caused incorrect checking of the data capacity restriction.<br /> 528 <dt>2010/12/28</dt> 529<dd>Clarified that the supporting version of NW4C is 1.2.<br /> 530 <dt>2010/12/25</dt> 531<dd>An error is now generated during conversion when the data violate the restrictions on data capacity.<br /> 532 <dt>2010/12/09</dt> 533<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. 534 <dt>2010/12/07</dt> 535<dd>Changed CSKLA and CMATA frame restriction from a 600-frame animation to an animation of no more than 600 frames.<br /> 536 <dt>2010/11/26</dt> 537<dd>Fixed bug where language folders containing empty files would not be properly converted.<br /> 538 <dt>2010/11/19</dt> 539<dd>Deleted <B>Sound file restrictions</B> (moved this section to <CODE>ctr_makebanner</CODE>).<br /> 540 <dt>2010/11/13</dt> 541<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 /> 542 <dt>2010/10/09</dt> 543<dd>Supplemented the restrictions for sound files and data capacity.<br /> 544 <dt>2010/09/28</dt> 545<dd>Initial version.<br /> 546 </dd> 547 </dl> 548<hr><p>CONFIDENTIAL</p></body> 549</html> 550