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.

This tool uses the data converter from Creative Studio for CTR.
NW4C version 1.2, which supports the HOME Menu, must be installed in the environment where conversion takes place.

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.

    Name Region Language
    COMMON All regions All Languages
    EUR_EN Europe British English
    EUR_FR Europe French
    EUR_GE Europe German
    EUR_IT Europe Italian
    EUR_DU Europe Dutch
    EUR_PO Europe Portuguese
    EUR_RU Europe Russian
    EUR_SP Europe 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)

    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.

    Camera restrictions

    The camera is fixed. Cannot be adjusted for each individual application.
    Note: Cameras placed inside banner data can only be used for projection mapping.

    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. (Not implemented)
    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: 5 or less
    Number of materials: 5 or less
    Layer configurations: 0, 1, 2, or 3 (Note: Limited to those with one cycle.)
    Stencil test unavailable: Used for masking with an ellipse.
    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 less)
    Number of cameras (3 or less)
    Number of fogs (1 or less)
    clts Number of tables (3 or less)
    cptl × Particles are not supported.
    csdr × User shaders are not supported. (The default shader is used.)
    clgt × Store lights in cenv. Animation is not supported.
    ccam × Store projection map cameras in cenv. 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)
    256KB for Banner size

    Note: You can check this using Save as binary from the 3D intermediate file editing tools.
    1MB 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

    banner

    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.

    banner

    【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 are:
    ・Reducing texture capacity
    ・Reducing the number of textures
    ・Applying mipmaps to textures
    ・Reducing the area to be rendered for translucent polygons, etc.

    Revision History

    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 bug where language folders containing empty files would not be properly converted.
    2010/11/19
    Deleted Sound file restrictions (moved this section to ctr_makebanner).
    2010/11/13
    Modified Restrictions on data size (revised 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