This chapter describes procedures and precautions for creating models using NintendoWare with Softimage.
Nodes
Null
Implicit Objects
Chains
Polygon Meshes
Materials
Textures
Envelopes
Supported Softimage nodes include Model, Null, Skeleton (root, bone, effector), and Polygon Mesh.
Although under Softimage it is possible to give the same name to more than one node as long as the model node of the parent differs, nodes having the same name must not exist inside a CMDL file.
Hence, there is a possibility of duplicate names whenever more than one Model node exists. If more than one node with the same name is present, the node highest in the hierarchy is output using that name. Additional nodes with that name are output with an underscore and a number (such as "_1" and "_2") appended to the end. If more than one node exists at the same hierarchical depth, they are output in alphabetical order.
There is always one root node in a CMDL file.
For this reason, one Model node is output as is as a root node. 3D objects (not belonging to the Model node) immediately below Scene_Root
are output together as a single root node having the name nw4r_root
.
When exporting, the center of each node is recognized as the local coordinate origin. If a Pivot is moved or rotated in Softimage or if it has animations, it may not export properly.
Outputs the status of the Visibility property of each node: View display/hide (View Visibility).
Control objects are not output. (For example, objects that represent natural forces such as gravity and wind, and deformation models such as lattices and waves are not output.) In addition, nodes below control objects are not output.
Although it is possible in Softimage to select/clear hierarchical scaling settings at the node level (via Local Transform Properties), the same as with Classic Scaling of SOFTIMAGE|3D, these properties are set for the entire model.
If Hierarchical Scaling is selected for all nodes to be output to the intermediate file, they are output with this feature selected. If this setting is cleared for all nodes, they are output with this feature not selected. An error is output if there is a mixture of nodes having this feature selected or not selected.
Output as a single node.
An implicit object is a dummy object used to control envelopes and animations that is often used for character rigging. Implicit objects are output as a single node.
Elements of a chain used to configure a skeleton (root, bone, effector) are each output as a node.
Chains created by either the SI3D
method or XSI
method in Softimage are both supported by the Export plug-in.
The chain to be drawn can be switched by selecting Create > Skeleton > SI3D Skeleton Drawing.
Output as a single node.
The vertex color of models for which a vertex color has been set can be output to the intermediate file.
Only the first vertex color is supported by the Export plug-in.
In Softimage, vertex colors cannot be partially applied to an object. The entire object must have a vertex color.
The alpha component of a vertex color is inverted at time of output because it is handled differently by CTR and Softimage.
If the output option Invert VertexColor Alpha is selected, the alpha is inverted and the value under Softimage is output as is.
Under Softimage, It is possible to apply the vertex color to rendering by connecting the Vertex_rgba node. However, the output is rendered as described above because of the difference in how CTR handles the alpha component. Since the Exporter does not check if the Vertex_rgba
node is connected, be sure to connect the Vertex_rgba
node only when you want to apply the vertex color to the rendering screen shown via Softimage.
In addition, you can control the format of the vertex color that is output by attaching a suffix to the vertex color property name.
Output in RGB format by appending _rgb to the end of the name, or output in RGBA format by appending _rgba to the name.
If nothing is appended, it is output in RGBA format.
If nothing is appended the four elements RGBA will be output even if you are not using the vertex color alpha. So in order reduce the data size when you are not using the vertex color alpha, append _rgb to the name so only the three elements RGB are output.
The vertex color property name is located as shown below:
If a vertex color property having any of the following names exists, the color of that vertex color property can be output as a user vertex attribute.
nw4cUser0
nw4cUser1
nw4cUser2
(only the U is uppercase)
The user vertex attiribute can be freely used by any game.
The precision of output data is 32-bit floating point if the suffix of the above color set name is _f, 16-bit integer precision if the suffix is _s, and 8-bit integer precision if the suffix is _b or there is no suffix. For example, set the color set name to nw4cUser0_s if you want to export the 0th user vertex attribute as a 16-bit integer.
Four components (RGBA) are output by default for the number of data components per vertex.
In addition, if a 2 is included before the letter indicating precision in the suffix of the vertex color property name, the number of data components per vertex is 2. For example, set the color set name to nw4cUser1_2f if you want to export the first user vertex attribute as a 2-component 32-bit floating point number. Similarly, use _2s for 16-bit integers and _2b for 8-bit integers.
In Softimage, there is usually a normal stored by the object and a user normal. The user normal can be set using the XSI_UserNormalEditing plug-in (XSISDK/examples/workgroup/Addons/XSI_UserNormalEditing
).
Under Softimage 2010, this can also be set using the User Normal Adjustment Tool.
Normally, the regular object normal is output, but the user normal is output for objects that have user normals (that have Cluster > User_Normal_Cluster).
If instances are used, they are exported in the same state as instantiated instances.
Envelope model instances are not supported.
If clones are used, they are output as is as separate objects. Since materials can also contain unique materials, material processing identical to that for regular objects is performed.
One material per group that shares the same material is output to the intermediate file.
The name set under Softimage is output in the intermediate file as is.
If a single material is connected with multiple shading groups, the material used with the first exported node is exported with its original name, but the names of other materials are exported with an underscore and a numeral appended to them ( _1
, _2
and so forth).
If the same material is used by an object without vertex color and an object with vertex color, it is output as different materials. Materials used in nodes that are exported first are exported with their original names, whereas materials used with nodes that are exported later are exported with an underscore and a numeral appended to their names.
Converts shader nodes to be connected to the surface node of the material node. Also converts Lambert (or Simple Lambert), Phong (or Simple Phong), Blinn shader (or Simple Blinn), constants and anisotropic.
→ (See Texture Render Tree)
The following attributes are included in the intermediate files.
Incandescence - Enable
, the color black is output.Transparency - Enable
is cleared. Outputs the Alpha value if Transparency - Enable is selected and UseAlpha is also selected.
Tangent information is required in order to use the anisotropic shader.
Tangent information is generated from vertex UV data. However, the UV data used to generate it is determined according to the following rules. A check is made if textures are connected in the order Diffuse -> Ambient -> Specular -> Transparency -> LayerTexture. The UV data referenced by the first valid texture found is used.
However, the UV data referenced by the normal map is used if there is a normal map.
If no valid texture is found, tangent information is not output.
If a global material and a local material both exist for a single polygon object, both materials are output.
Having more than one local material is also supported.
The texture's filename excluding the extension is exported as the texture name. Do not use double-byte characters or half-width kana in a texture filename.
A single texture and texture layer is supported.
For the texture layer, up to three textures are supported.
If you use TGA files that have additional information for NintendoWare, the format and texture data recorded in that additional information will be applied to intermediate files.
Currently, TGA files that have additional information can be created using the NintendoWare for CTR Photoshop plug-in. For instructions on using the NintendoWare for CTR Photoshop plug-in, see NintendoWare for CTR Photoshop Plug-in Manual.
In addition to TGA files that have additional information, all textures of file types that support image nodes can be used. Note, however, that mipmaps cannot be used in this case.
Both the height and width of the texture image must be set to a power of two equal to or greater than 8 and equal to or less than 1024.
When using TGA files that have additional information, the texture format used is the one specified in the additional information.
When using texture files that do not have additional information, the format is determined automatically based on the following rules. At this time, a value of 255 for the 8-bit alpha value of the texture file represents opaque, 0 represents transparent, and a value from 1 to 254 is taken as a translucent texel.
HILO8 is used for the format for normal map textures without additional information.
The following attributes are reflected by texture-related properties:
ScalingU
, ScalingV
, RotationW
, TranslationU
, and TranslationV
of the UVW Transformation are output to an intermediate file. Texture SRT and repeat are possible using the UVW Transformation without having to change the texture coordinate set for the vertex.ScalingW
, RotationU
, RotationV
, and TranslationW
) are not reflected in the intermediate file. If values other than initial values are set for these parameters, the display shown in Softimage might not match that shown in NintendoWare.Scaling
, Rotation
, and Position
parameters of Texture_Support
are not referenced. If values other than initial values are set for these parameters, the display shown in Softimage might not match that shown in NintendoWare.Image
node to All
before performing editing. An error results if a different texture array and repeat setting is used for each object. If you want to use a different texture array and repeat setting for each object, be sure to set a different material for each object.
There is no support for Mirror. If you want mirrored display of textures, configure the settings using CreativeStudio. |
The following parameters are convertible for the structure of the render tree:
A shader value is output for diffuse, specular, and incandescence.
If color animation is set for diffuse, specular, and incandescence, the file can be output as a material color animation (CMATA) file. If the shader does not have a specular element, the color black is output.
In the example shown in the figure below, a shader color is output for diffuse, and black is output because there is no specular element.
If a vertex color is set for a model, the vertex color is output to the intermediate file regardless of whether the Vertex_rgba node has been connected.
If the Vertex_rgba node has been connected to diffuse or ambient, a fixed color (white for diffuse and ambient and black for specular) is output for that color element.
Furthermore, if some node is connected to diffuse or specular or both, the elements are not output to the CMATA file, even if color animation is set for them.
In the example shown in the figure below, vertex color is output, and white is output for diffuse, whereas black is output for specular. Even if color animation has been set to diffuse, the element is not output to the CMATA file.
If the Vertex_rgba node is connected as shown in the example in the figure, the vertex color can be confirmed on the rendering screen in Softimage. In addition, the alpha component of the vertex color can be assigned to transparency by configuring for transparency input and selecting Use Alpha. However, be sure to select Invert because CTR handles alpha in the opposite way from Softimage.
Colors can be freely set, even for diffuse, ambient, and specular, by setting a texture for the texture layer.
In the example shown in the figure below, a shader color is output for diffuse and ambient while a texture is being applied. Black is output, since there is no specular element.
Up to three textures can be connected to the texture layer.
A texture is output, even when the Image node is directly connected to diffuse the shader.
As in the example shown in the figure, it is possible to assign the alpha component of the texture image to transparency by setting transparency input and selecting Use Alpha. Settings can be confirmed on the rendering screen in Softimage. However, be sure to select Invert because CTR handles alpha in the opposite way from Softimage.
As an example other than those described above, multiple textures connected to the Mixer node are output if a node such as Mix_2colors or Mix_8colors is connected to diffuse and multiple textures have been set.
Output is made in the same manner as when multiple textures have been set using the texture layer.
Even if ambient and diffuse are connected to multiple parameters at this time, Mixer nodes are output only once.
Also, only one Mixer node can be used within a material.
In the example shown in the figure below, output is made with test_tga, connected to color1 of Mix_8colors, and f_pic, connected to color2 of Mix_8colors, applied as textures.
Parameters may not be reflected normally if set outside the range given in the documentation. |
CTR uses tangent space normal map textures. |
The determination about setting a normal map is based on the existence of the connections to BumpMap input of the material node.
The normal map takes the texture specified by the ImageClip node, detected by going through BumpMap -> XSINormalMap -> XSIModelMap -> Image input. The normal map outputs the texture in the RGBA8 format. Additional information of the texture is not reflected.
The Export plug-in supports envelope model output.
The envelope weight (weight value) set for each vertex is output to the intermediate file as a value ranging from 1 to 100% (where the fractional part is rounded to the nearest integer). An error is output if a negative value less than zero or a positive value greater than 100 is set, or if values that do not add up to 100% are set. (However, this excludes errors of less than 1%.)
Up to four weights can be set for a single vertex. If more than four weights are set, only the four largest weights are used and the other weights are ignored.
CONFIDENTIAL