AtlasTexture
概要
テクスチャの必要な部分のみを集めたテクスチャを作ることでVRAMの削減を実現する、
アイランド再配置技術と矩形転写(または、UVtoUV の転写技術)を基礎とした AAO に触発されて作られたコンポーネント
Atlas化される条件
レンダラー
- 適用時にアクティブであること、ただし 適用時に非アクティブなレンダラーを含めるが有効な場合は非アクティブでも対象となる
- tag が EditorOnly ではないこと
- Rendarar の持つ Mesh が存在すること
- Rendarar の持つ Mesh の UV0 が存在すること
- Rendarar の持つマテリアルが一つ以上存在すること
- Rendarar の持つマテリアルに Null が含まれていないこと
マテリアルが持つテクスチャー
lilToon の場合
- MatCapなどの通常のUVを使用しないテクスチャーではないこと
それ以外のシェーダーは AtlasShaderSupport でサポートが追加されていない場合
- Property "_MainTex" のみ
設定項目
ターゲットルート
アトラス化されるレンダラーの最大範囲の指定となり、ここに指定した GameObject の子として存在するレンダラーがアトラス化の対象となる可能性があります。
マテリアルセレクター
アトラス化の対象の選択、と大きさの優先度を指定できます。
マテリアルがほとんど 「(clone)」 とついていたり、必要なマテリアルが表示されていない場合、「リフレッシュマテリアル」ボタンを使用すると治る場合があります。
アトラス化設定
アトラステクスチャーサイズ
アトラス化した後のテクスチャのサイズで、横幅と縦幅に使われ、正方形になります。
ただし、アトラス化対象が小さいとき 、二のべき乗のステップで上部分が切り取られ横長な長方形になることがあります。そして、切り取られた領域に応じて VRAM 使用量も減少します。
パディング
アイランドを再配置するときに、アイランド同士の間隔を調整する設定
適用時に非アクティブなレンダラーを含める
アトラス化を適用するときに、非アクティブなGameObjectに付いているレンダラーを含めるオプション
アニメーション等でデフォルトでオフなアクセサリーが存在する場合に使用することを推奨
大きさの優先度を強制
通常、場所が足りないときに大きさの優先度を加味して縮小しますが、この項目が有効な場合は場所の不足にかかわらず大きさの優先度を基に強制的に縮小します。
マテリアルの結合
アトラス化を適用するときにマテリアルを強制的に結合する機能
有効な時に、追加の項目が表示されます。
プロパティベイク設定
上記マテリアルの結合の時に、マテリアルのプロパティの一部をテクスチャに焼きこむ機能
- None : 何もしない
- Bake : そのプロパティのテクスチャが存在し、プロパティの値に違いがあった場合
- Bake All Property : プロパティの値に違いがあった場合すべて
基本的には推奨は Bake で、Bake All Property は大幅な VRAM の増加を招く可能性があるため取り扱い注意。
結合時マテリアルの参照
結合時にマテリアルの設定を参照できる機能
何も設定されていない場合、アトラス化対象のマテリアルの不定などれか一つが使用されます。