The following optimization processes are provided by CreativeStudio.
This document gives and overview of each optimization process.
For details about model optimization, we recommend reading the separately provided May Plugin Manual.
Specifies the node compression mode to use for the entire model.
The five compression methods given below are available for Compress Node.
These can be broadly divided into two groups based on the compression target:
The table below provides a comparison of the different Compress Node methods.
Table 1. Comparison of Compress Node methods (for skeletons)
Compression Format | Deletion Target | Use together with skeletal animation | Uneven scale | Bone SRT conversion | Shape vertex attribute conversion |
---|---|---|---|---|---|
Cull Useless Node | Deletes the nodes that are not required to display the model located at the end of the hierarchical structure and then exports. | Possible | Possible | None. | None. |
Cull Uninfluential Node | In addition to deleting useless nodes (i.e., the Cull Useless Node process), also combines nodes where matrices can be combined, and then outputs. | Possible (data size may increase) | Impossible | Yes | None. |
Table 2. Comparison of Compress Node methods (for models)
Compression Format | Deletion Target | Use together with skeletal animation | Uneven scale | Bone SRT conversion | Shape vertex attribute conversion |
---|---|---|---|---|---|
Unite Compressible Node | Nodes for which the compressible flag has been set are collected together. | Impossible | Impossible | Yes | Yes |
Unite All Node | Gathers nodes and outputs all polygons using global coordinates. (Name of the root node is used for node name.) | Impossible | Possible | None. | Yes |
Details about these compression methods are presented below.
In the Cull Useless Node method, bones that fully meet the following conditions are deleted.
Caution:
The root bone is also deleted if it is named Nw4cRoot and it has only one child bone.
In the Cull Uninfluential Node method, bones are deleted if they meet both of these conditions:
In some cases, the root bone is not deleted and remains after compression even though it fully satisfies the conditions.
If a parent bone is to be deleted, the first bone not to be deleted is made the parent by going up the hierarchical structure of the skeletal model in the parent direction.
If there is a bone to be deleted between a parent bone and child bone after compression, the SRT of the child bone is updated.
The SRT of bone animations is also updated if a skeletal animation is set.
Caution:
An uneven scale (where x, y and z are not the same) must not be set for bones to be deleted.
The IsSegmentScaleCompensate property of bones must be false. If it is true, it will be temporarily updated to false during compression.
If a skeletal animation is set for a model, be sure to also carry out optimization of the skeletal animation.
The amount of data for a skeletal animation may increase depending on the model.
Select a skeletal animation from the Contents panel on CreativeStudio and then select Cull Uninfluential Node from the menu.
You can select multiple content from the Contents panel using CTRL + Left-click, so do this to select a model and a skeletal animation and then perform Cull Uninfluential Node.
In the Unite Compressible Node method, all bones are deleted except for root bones where the Compressible flag is set.
If a parent bone is to be deleted, the first bone not to be deleted is made the parent by going up the hierarchical structure of the skeletal model in the parent direction.
If there is a bone to be deleted between a parent bone and child bone after compression, the SRT of the child bone is updated.
Bones referenced by a shape are overwritten during compression. In line with this, coordinate conversions for vertex positions, normal vectors and so on are also performed.
If a bone to be deleted is referenced by a shape for which skinning has not been set, the first bone to not be deleted above it is made the reference by going up the hierarchical structure of the skeletal model starting from the bone to be deleted.
Skinning will be deleted and the root bone made the reference regardless of whether a shape for which skinning is set references a bone to be deleted.
Caution:
This cannot be used in combination with a skeletal animation.
An uneven scale (where x, y and z are not the same) must not be set for bones to be deleted.
The IsSegmentScaleCompensate property of bones must be false. If it is true, it will be temporarily updated to false during compression.
In the Unite All Node method, all but the root bone is deleted.
Bones referenced by a shape are made the root bone during compression.
In line with this, coordinate conversions for vertex positions, normal vectors and so on are also performed.
Skinning is deleted for shapes for which skinning is set.
The local matrix for the root bone is set to a unit matrix.
Caution:
This cannot be used in combination with a skeletal animation.
Compress Material combines materials if they match in status in all aspects other than the name.
The target is materials for which the Compressible flag is set to true
.
The name used after combining is the name among those before combining that occurs earliest in dictionary order according to Unicode code point.
Optimize Primitive optimizes polygon primitives and then outputs.
This kind of optimization lightens the load of the rendering process.
SkeletalModel-Simplification converts skeletal models into models when the conditions are met.
The advantage of this is that the resulting model has a simpler structure than the skeletal model that was converted, so processing is more efficient on PARTNER-CTR Debugger.
Below are the conditions for converting a skeletal model into a model:
Since all bones are deleted during conversion, coordinate conversion is peformed for vertex positions, normal vectors and so on.
Caution:
Note:Skeleton information is destroyed, making skeletal animation impossible.
This feature improves performance on actual hardware by removing unnecessary animation members from the model.
For details on this feature, see Optimization Tips in the Function Reference provided separately.
CONFIDENTIAL