1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> 3<!-- InstanceBegin template="/Templates/default_template.dwt" codeOutsideHTMLIsLocked="false" --> 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6<meta http-equiv="Content-Style-Type" content="text/css" /> 7<!-- InstanceBeginEditable name="CSS の相対パス指定" --> 8<link href="../../common/manual.css" rel="stylesheet" type="text/css" /> 9<!-- InstanceEndEditable --> <!-- InstanceBeginEditable name="ページのタイトル" --> 10<title>Model Optimization</title> 11<!-- InstanceEndEditable --> 12</head> 13<body> 14<div> 15 <div class="body"> <!-- InstanceBeginEditable name="本文のタイトル" --> 16 <h1>Model Optimization</h1> 17 <!-- InstanceEndEditable --> <!-- InstanceBeginEditable name="本文" --> 18 <p>The following optimization processes are provided by CreativeStudio.</p> 19 <ul> 20 <li><a href="#Bone_Compression">Compress Node</a></li> 21 <li><a href="#material_integration">Compress Material</a></li> 22 <li><a href="#primitive_optimization">Optimize Primitive</a></li> 23 <li><a href="#skeletal_Model_Conversion">SkeletalModel-Simplification</a></li> 24 <li><a href="#animation_filters">Animation Member Filter</a></li> 25 </ul> 26 <p>This document gives and overview of each optimization process.</p> 27 <p>For details about model optimization, we recommend reading the separately provided May Plugin Manual.</p> 28 <a name="Bone_Compression" id="Bone_Compression"></a> 29 <h2>Compress Node</h2> 30 <p>Specifies the node compression mode to use for the entire model.</p> 31 <p>The five compression methods given below are available for Compress Node.</p> 32 <p>These can be broadly divided into two groups based on the compression target:</p> 33 <ul> 34 <li>Skeleton 35 <ul> 36 <li><a href="#end_drawing_Bone">Cull Useless Node</a></li> 37 <li><a href="#not_drawing_Bone">Cull Uninfluential Node</a></li> 38 </ul> 39 </li> 40 </ul> 41 <ul> 42 <li>Model 43 <ul> 44 <li><a href="#possible_to_compress_bone">Unite Compressible Node</a></li> 45 <li><a href="#single_bone">Unite All Node</a></li> 46 </ul> 47 </li> 48 </ul> 49 <p>The table below provides a comparison of the different <B>Compress Node</B> methods.</p> 50 <p>Table 1. Comparison of <B>Compress Node </B>methods (for skeletons)</p> 51 <table> 52 <thead> 53 <tr> 54 <th>Compression Format</th> 55 <th>Deletion Target</th> 56 <th>Use together with skeletal animation</th> 57 <th>Uneven scale</th> 58 <th>Bone SRT conversion</th> 59 <th>Shape vertex attribute conversion</th> 60 </tr> 61 </thead> 62 <tbody> 63 <tr> 64 <th>Cull Useless Node</th> 65 <td>Deletes the nodes that are not required to display the model located at the end of the hierarchical structure and then exports.</td> 66 <td>Possible</td> 67 <td>Possible</td> 68 <td>None.</td> 69 <td>None.</td> 70 </tr> 71 <tr> 72 <th>Cull Uninfluential Node</th> 73 <td>In addition to deleting useless nodes (i.e., the Cull Useless Node process), also combines nodes where matrices can be combined, and then outputs.</td> 74 <td>Possible (data size may increase)</td> 75 <td>Impossible</td> 76 <td>Yes</td> 77 <td>None.</td> 78 </tr> 79 </tbody> 80 </table> 81 <p>Table 2. Comparison of <B>Compress Node</B> methods (for models)</p> 82 <table> 83 <thead> 84 <tr> 85 <th>Compression Format</th> 86 <th>Deletion Target</th> 87 <th>Use together with skeletal animation</th> 88 <th>Uneven scale</th> 89 <th>Bone SRT conversion</th> 90 <th>Shape vertex attribute conversion</th> 91 </tr> 92 </thead> 93 <tbody> 94 <tr> 95 <th>Unite Compressible Node</th> 96 <td>Nodes for which the compressible flag has been set are collected together.</td> 97 <td>Impossible</td> 98 <td>Impossible</td> 99 <td>Yes</td> 100 <td>Yes</td> 101 </tr> 102 <tr> 103 <th>Unite All Node</th> 104 <td>Gathers nodes and outputs all polygons using global coordinates. (Name of the root node is used for node name.)</td> 105 <td>Impossible</td> 106 <td>Possible</td> 107 <td>None.</td> 108 <td>Yes</td> 109 </tr> 110 </tbody> 111 </table> 112 <p>Details about these compression methods are presented below.</p> 113 <a name="end_drawing_Bone" id="end_drawing_Bone"></a> 114 <h3>Cull Useless Node</h3> 115 <p>In the <B>Cull Useless Node </B>method, bones that fully meet the following conditions are deleted.</p> 116 <ul> 117 <li>The <I>Compressible </I>flag is set</li> 118 <li>Not referenced by any shape</li> 119 <li>All child bones satisfy the above two conditions</li> 120 </ul> 121 <p class="hint_warn">Caution:<br /> The root bone is also deleted if it is named Nw4cRoot and it has only one child bone.</p> 122 <a name="not_drawing_Bone" id="not_drawing_Bone"></a> 123 <h3>Cull Uninfluential Node</h3> 124 <p>In the <B>Cull Uninfluential Node</B> method, bones are deleted if they meet both of these conditions:</p> 125 <ul> 126 <li>The <I>Compressible </I>flag is set</li> 127 <li>Not referenced by any shape</li> 128 </ul> 129 <p>In some cases, the root bone is not deleted and remains after compression even though it fully satisfies the conditions.</p> 130 <p>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.<br /> 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.<br /> The SRT of bone animations is also updated if a skeletal animation is set.</p> 131 <p class="hint_warn">Caution:<br /> An uneven scale (where x, y and z are not the same) must not be set for bones to be deleted.<br /> The IsSegmentScaleCompensate property of bones must be false. If it is true, it will be temporarily updated to false during compression.<br /> If a skeletal animation is set for a model, be sure to also carry out optimization of the skeletal animation.<br /> The amount of data for a skeletal animation may increase depending on the model.</p> 132 <h4>How to Optimize a Skeletal Animation</h4> 133 <p>Select a skeletal animation from the <B>Contents </B>panel on CreativeStudio and then select <B>Cull Uninfluential Node</B> from the menu.</p> 134 <!-- <p class="warning">スケルタルアニメーションの最適化を行う場合は、スケルタルアニメーションが設定されているモデルと同時に圧縮を行います。</p> --> 135 <p>You can select multiple content from the <B>Contents </B>panel using CTRL + Left-click, so do this to select a model and a skeletal animation and then perform <B>Cull Uninfluential Node</B>.</p> 136 <a name="possible_to_compress_bone" id="possible_to_compress_bone"></a> 137 <h3>Unite Compressible Node</h3> 138 <p>In the <B>Unite Compressible Node</B> method, all bones are deleted except for root bones where the <I>Compressible </I>flag is set.</p> 139 <p>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.<br /> 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.</p> 140 <p>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.<br /> 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. <br /> 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.</p> 141 <p class="hint_warn">Caution:<br /> This cannot be used in combination with a skeletal animation.<br /> An uneven scale (where x, y and z are not the same) must not be set for bones to be deleted.<br /> The IsSegmentScaleCompensate property of bones must be false. If it is true, it will be temporarily updated to false during compression.</p> 142 <a name="single_bone" id="single_bone"></a> 143 <h3>Unite All Node</h3> 144 <p>In the <B>Unite All Node</B> method, all but the root bone is deleted.</p> 145 <p>Bones referenced by a shape are made the root bone during compression.<br /> In line with this, coordinate conversions for vertex positions, normal vectors and so on are also performed.<br /> Skinning is deleted for shapes for which skinning is set.<br /> The local matrix for the root bone is set to a unit matrix.</p> 146 <p class="hint_warn">Caution:<br /> This cannot be used in combination with a skeletal animation.</p> 147 <a name="material_integration" id="material_integration"></a> 148 <h2>Compress Material</h2> 149 <p><B>Compress Material</B> combines materials if they match in status in all aspects other than the name.</p> 150 <p>The target is materials for which the <I>Compressible </I>flag is set to <CODE>true</CODE>.</p> 151 <p>The name used after combining is the name among those before combining that occurs earliest in dictionary order according to Unicode code point.</p> 152 <a name="primitive_optimization" id="primitive_optimization"></a> 153 <h2>Optimize Primitive</h2> 154 <p><B>Optimize Primitive</B> optimizes polygon primitives and then outputs.</p> 155 <p>This kind of optimization lightens the load of the rendering process.</p> 156 <a name="skeletal_Model_Conversion" id="skeletal_Model_Conversion"></a> 157 <h2>SkeletalModel-Simplification</h2> 158 <p><B>SkeletalModel-Simplification</B> converts skeletal models into models when the conditions are met.</p> 159 <p>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.</p> 160 <p>Below are the conditions for converting a skeletal model into a model:</p> 161 <ul> 162 <li>The transform information for all bones is an identify transformation (Rotate and Translate are 0, Scale is 1); the one bone situated at the origin is a simple item; it is a terrain model to which <B>Unite All Node</B> has been applied.</li> 163 </ul> 164 <p>Since all bones are deleted during conversion, coordinate conversion is peformed for vertex positions, normal vectors and so on.</p> 165 <p class="hint_warn">Caution:<br /> Note:Skeleton information is destroyed, making skeletal animation impossible.</p> 166 <a name="animation_filters" id="animation_filters"></a> 167 <h2>Animation Member Filter</h2> 168 <p>This feature improves performance on actual hardware by removing unnecessary animation members from the model.</p> 169 <p>For details on this feature, see Optimization Tips in the Function Reference provided separately.</p> 170 <!-- InstanceEndEditable --> </div> 171 <div class="footer" /> 172</div> 173<hr><p>CONFIDENTIAL</p></body> 174<!-- InstanceEnd --> 175</html>