実行順序
TexTransTool のコンポーネントはどの順番で実行されるかによって最終結果が変化することがあります。
特にSimpleDecalでは実行順は大きな意味を持ちます。
フェーズ
ほとんどのコンポーネントには 実行するフェーズが存在します。
TexTransPhase と表記されることもあり、下記7つによって構成されていて、上から順に実行されます。
MaterialModification | マテリアル変更
マテリアルを変更したり、それに伴ってテクスチャの参照を増やしうるコンポーネントが属するフェーズ
BeforeUVModification | UV変更前
UVに強い依存を持ち、UVの変更がなされた後では動作できないコンポーネントが属するフェーズ
UVModification | UV変更
UVを書き換えるようなコンポーネントが属すフェーズ
AfterUVModification | UV変更後
UVに依存がなく、UVが書き換えられたことによる影響がない、または受けれるコンポーネントが属するフェーズ。
PostProcessing | 後処理
他色改変系が動作した後に、その情報を基に UV に依存しないテクスチャ処理を行うコンポーネントが属するフェーズ。
Undefined | 未定義
どのフェーズに属するべきかがケースバイケースであり、ユーザーが必要に応じて定義すべきなコンポーネントが属するフェーズ
Optimizing | 最適化
最適化を行う、早い段階で動く必要のない、または遅い段階で動いたほうが良いコンポーネントが属するフェーズ
フェーズ内での実行順
TexTransTool が アバターに対してビルドを行うとき、 上記の5つのフェーズを順番に実行します。
同じフェーズに属すコンポーネントがどのような順序で実行されるかは、以下の2つの要素から決定されます。
PhaseDefine
PhaseDefine で実行フェーズを指定されたコンポーネントは一番高い優先度で実行されます。
PhaseDefine の範囲では、それらコンポーネントが持つフェーズの定義を無視した上で、範囲内のコンポーネントをすべて上から順に実行します。
Other
PhaseDefine に属さないが、現在実行するフェーズと同じフェーズ定義を持つコンポーネントは、
一番低い優先度で、上から順に実行されます。