ctr_BannerModelConverter

Table of Contents

  1. Introduction
  2. How to Use
  3. Banner Overview
  4. Input Directory Structure
  5. File Restrictions
  6. Revision History

Introduction

The ctr_BannerModelConverter tool is used to create CBMD (CTR binary banner model) files.
CBMD files are created based on the specified folder structure.

The resulting CBMD file can be used with the makebanner BSF files.

Create the model data using the NW4C_ForBanner package.
It might not be possible to correctly convert data created with versions of NW4C used for application development.

How to Use

What's Required

You need the following files to create a CBMD file:

  • Intermediate files output by NW4C CreativeStudio.
  • Commands

    % ctr_BannerModelConverter DIRECTORYNAME [Output]

    The DIRECTORYNAME specification is required. All other options are optional.

    Options

    Options Description
    DIRECTORYNAME Specifies the input directory name. Be sure to use the specified directory structure (described later).
    Output Specifies the file to output. If omitted, a file with the cbmd extension added to the originally input filename is output.

    Banner Overview

    A banner is model data displayed in the upper screen when an application is selected.
    Banners are used to show a line-up of miniature target applications on the menu.

    banner

    Input Directory Structure

    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.
    Make sure to use a directory structure as given below. Specify the Banner folder at the top in DIRECTORYNAME on the command line.

    Banner ━┳━ COMMON ━┳━ COMMON.cmdl
    ┃       ┣━ COMMON.cskla
    ┃       ┣━ COMMON.cmata
    ┃       ┣━ COMMON.cenv
    ┃       ┣━ COMMON.clts
    ┃       ┗━ Textures ━┓
    ┃                ┣━ COMMON1.ctex
    ┃                ┣━ COMMON2.ctex
    ┃                ┣━ COMMON3.ctex

    ┣━ JPN_JP ━┳━ JPN_JP.cmdl
    ┃       ┣━ JPN_JP.cskla
    ┃       ┣━ JPN_JP.cmata
    ┃       ┣━ JPN_JP.cenv
    ┃       ┣━ JPN_JP.clts
    ┃       ┗━ Textures ━┓
    ┃                ┣━ COMMON1.ctex (Data for swapping)
    ┃                ┣━ …
    ┃                ┣━ TEX1.ctex (arbitrary name)
    ┃                ┣━ TEX2.ctex (arbitrary name)
    ┃                ┣━ TEX3.ctex (arbitrary name)
    ┃                ┣━ …
    ┣━ …
    ┣━ …

    ・The COMMON 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.
    Be sure that the file names inside the COMMON folder are of the format COMMON.cmdl.

    ・If you place textures with names like COMMON1.ctex inside the Textures folders for the various language-specific data, the textures with the same names stored inside COMMON can be swapped with the various language textures for display.

    ・For the various other language-specific data besides texture data, use that language when naming the data (such as JPN_JP.cmdl).
    The naming can be arbitrary for textures to which data swapping does not apply.
    ・ The error may not be detected upon conversion, because the HOME Menu is case sensitive while Windows is not. Be careful when naming files.

    Name Region Language
    COMMON All regions All Languages
    EUR_EN Europe and Australia UK English
    EUR_FR Europe and Australia French
    EUR_GE Europe and Australia German
    EUR_IT Europe and Australia Italian
    EUR_DU Europe and Australia Dutch
    EUR_PO Europe and Australia Portuguese
    EUR_RU Europe and Australia Russian
    EUR_SP Europe and Australia Spanish
    JPN_JP Japan Japanese
    USA_EN The Americas North American English
    USA_FR The Americas French (Canada)
    USA_SP The Americas Spanish (Latin America)
    USA_PO The Americas Portuguese (Brazil)
    CHN_CN China Simplified Chinese
    KOR_KR South Korea Korean
    TWN_TW Taiwan/Hong Kong Traditional Chinese

    Data Restrictions

    The following restrictions apply to banner model data.
    Note: The numeric values in the explanations below are the numbers from Creative Studio.

    Note: These restrictions are provisional. These specifications are subject to change in the future.

    Limitations on Data Names

    For banner data (such as .cmdl, .cmata, .cenv), the file name (such as COMMON) must match the name of the data that is specified in CreativeStudio.
    If the file name and name of the data itself are different, banners may not be displayed correctly.

    Camera Restrictions

    The camera is fixed. It cannot be adjusted for each individual application.
    Note: Cameras placed inside banner data can only be used for projection mapping. Camera number 0 is reserved by the HOME Menu and is not available.

    Camera position x, y, z Look-at point x, y, z Angles of view (fovy) near/far Depth Level Factor
    0.0 / 1.0 / 44.786 0.0 / 1.0 / 0.0 30 26.5 / 1000 34.786
    (Note: The screen level is +10 from the origin.)
    1.0

    Note: These are the depthLevel and factor values used by the ulcd::CalculateMatrices function.

    Model Size and Rendering Range Restrictions

    Any parts that extend past the range shown in the figure are hidden by the system.
    Note: The blender's stencil test is used to apply a mask based on a hidden ellipsoid model.
    (For this reason, stencil tests cannot be used on the model side. The setting is overwritten on the system side.)

    banner

    Mask ellipsoid size X/Y/Z
    Diameter 18 / Diameter 9.5 / Diameter 18

    Note: Use the center of the ellipsoid as the origin and create the model in this range.

    Restrictions on Model Y-Axis Rotation

    Models 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.

    Note: Use billboard settings for nodes you do not want to be rotated.
    Note: 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. 

    Restrictions on Intermediate Files

    There are restrictions on data by design and to prevent skipped frames.

    Note: Data that violates these restrictions generates an error during conversion.

    Note: Even if the data is within the restrictions, the data size must be reduced if skipped frames occur. (Described later.)

    Extension ◎: Required
    ○: Optional
    ×: Not supported
    Data restrictions on [Data common to all languages] + [Data for a single language]
    cmdl Number of polygons: 3000 or less
    Number of bones: 10 or less (This was changed from 5 to 10.)
    Number of materials: 5 or less

    Note: There are no restrictions on layer configurations.
    Note: The stencil test is unavailable because it is used for masking by the ellipsoid. The settings are overwritten on the system side.
    ctex There is no limit on the number of textures as long as the size does not exceed the limit.
    cskla Create a looped animation of 600 frames or less.
    cmata Create a looped animation of 600 frames or less.
    cenv Number of lights: 3 or fewer
    Number of cameras: 3 or fewer
    Number of fogs: 1 or fewer

    If using lights and/or cameras, add these settings under Light Set and Cameras in the Property panel of the scene environment (CENV file).
    clts Number of tables: 3 or fewer
    cptl × Particles are not supported.
    csdr × User shaders are not supported. (The default shader is used.)
    clgt × Add lights under Light Set in the Property panel of the scene environment (CENV file).
    Animation is not supported.
    ccam × Add projection-mapping cameras under Cameras in the Property panel of the scene environment (CENV file).
    Animation is not supported.
    cmdla × Does not support visibility animations of models.
    cres × Merged files are not supported to support localization needs to switch resources.
    Other × There are no plans to support other intermediate file extensions that may be added in the future.(2010.12.09)

    Restriction on Data Size

    The following restrictions have been placed on data size after conversion.
    Note: Data that violates these restrictions generates an error during conversion.

    Data capacity restrictions on [Data common to all languages] + [Data for a single language] Data capacity restrictions on [Data common to all languages] + [All language-specific data]
    (Data capacity restrictions for banner files (*.bnr), including sound data)
    320 KB for Binary size

    Note: You can check this using Save as binary from the File menu in NW4C Creative Studio.
    1 MB for Size after compression

    Note: 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.

    Processing Limits on the HOME Menu

    How to Check Processing on the HOME Menu


    Pressing "X+Y" on the HOME Menu for developers displays debug commands.

    - Check processing in the display state shown below.

    banner

    Number of drawings Description
    [1] Turn off the wireless switch on the right side of the system.
    [2] From the top, the region name and language name, HOME Menu build timestamp, and HOME Menu version are displayed.
    [3] These processing bars used to check processing.
    From the top, the maximum processing load per 1f indicator (fixed), CPU processing load indicator, and GPU processing load indicator are displayed.
    Note: The details are described later.
    [4] The lower screen displays items that can be checked in the order: "Health and Safety Information," "Applications to check processing," "3DS Cameras," "3DS Sounds." Note: Put the system into a state that does not display the new arrival icon.

    - The Processing Bars

    <CODE>banner</CODE>

    Neither 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.

    Bar Colors Description
    Green The processing load is in the okay zone. There is no need to reduce processing.
    Yellow The bar turns yellow (caution) if the processing load goes over 75%. There is no need to reduce processing.
    Red The bar turns red (warning) if the processing load goes over 80%. Reduce processing.

    Processing bars must be kept in the states indicated as okay below.

    <CODE>banner</CODE>

    Reference: How to Handle Processing Overflow

    Effective measures of reducing CPU processing are:
    ・Reducing the number of bones
    ・Reducing the number of vertices, etc.

    Effective measures of reducing GPU processing include:
    ・Reducing texture capacity
    ・Reducing the number of textures
    ・Applying mipmaps to textures
    ・Reducing the surface area to be rendered on translucent polygons
    ・Setting the layer configuration to one with fewer cycles

    Revision History

    2012/06/19
    Added "Limitations on File Names" to "Data Restrictions."
    2012/04/17
    Removed English from Taiwan/Hong Kong region.
    2011/12/02
    Added support for the Chinese, Korean, and Taiwan/Hong Kong regions.
    2011/09/01
    Changed to output an error if no texture can be found for the specified model.
    2011/07/29
    Added note that camera number 0 is reserved by the HOME Menu.
    2010/03/08
    An error is now generated during conversion when the data violate the data restrictions.
    Changed some of the values for data capacity restrictions.
    2010/02/03
    Added that it is necessary to create model data and sound data using the NW4C_ForBanner package.
    2010/01/05
    Added information about handling .cenv, .clgt, and .ccam files within Data Restrictions.
    2010/12/30
    Fixed a bug where the data capacity restrictions check was not occurring correctly.
    2010/12/28
    Clarified that the supporting version of NW4C is 1.2.
    2010/12/25
    An error is now generated during conversion when the data violate the restrictions on data capacity.
    2010/12/09
    Added information on the processing limit on the HOME Menu, and how to check processing.
    Added the fact that .cmdla is not supported.
    2010/12/07
    Changed .cskla and .cmata frame restriction from a 600-frame animation to an animation of no more than 600 frames.
    2010/11/26
    Fixed a bug where language folders that contain empty files were not properly converted.
    2010/11/19
    Deleted sound file restrictions, and moved this section to ctr_makebanner.
    2010/11/13
    Modified Restrictions on data size by revising the text to 256KB for Banner size.
    Supplemented other Data Restrictions items.
    2010/10/09
    Supplemented the restrictions for sound files and data capacity.
    2010/09/28
    Initial version.

    CONFIDENTIAL