メインコンテンツまでスキップ

AtlasTexture

概要

テクスチャの必要な部分のみを集めたテクスチャを作ることでVRAMの削減を実現する、
アイランド再配置技術と矩形転写(または、UVtoUV の転写技術)を基礎とした AAO に触発されて作られたコンポーネント

Atlas化される条件

レンダラー

  • 適用時にアクティブであること、ただし 適用時に非アクティブなレンダラーを含めるが有効な場合は非アクティブでも対象となる
  • tag が EditorOnly ではないこと
  • Renderer の持つ Mesh が存在すること
  • Renderer の持つ Mesh の UV0 が存在すること
  • Renderer の持つマテリアルが1つ以上存在すること

マテリアルが持つテクスチャー

lilToon の場合

UV0 を参照しているテクスチャーであることです。 たとえば、MatCap などのUVを使用しないテクスチャや、 UVMode が UV1~3 のテクスチャは対象に含まれません。

それ以外のシェーダーは AtlasShaderSupport でサポートが追加されていない場合

Property "_MainTex" のみが対象になります。

設定項目

マテリアル選択候補の制限

LimitCandidateMaterials

マテリアルセレクターに表示されるマテリアルを割り当てた GameObject 配下の Renderer が使用するマテリアルに制限します。

非常に多くの衣装やアクセサリーがアバターに存在する場合に、候補の表示数を絞るために使用してください。

マテリアルセレクター

MaterialSelector

アトラス化の対象の選択と、大きさの優先度を指定できます。

必要なマテリアルが表示されていない場合、「リフレッシュマテリアル」ボタンを使用すると治る場合があります。

アトラス化設定

AtlasSetting

アトラステクスチャーサイズ

アトラス化した後のテクスチャのサイズで、横幅と縦幅に使われ、正方形になります。 ただし、アトラス化対象が小さいとき、2のべき乗のステップで上部分が切り取られ横長な長方形になることがあります。

パディング

アイランドを再配置するときに、アイランド同士の間隔を調整する設定

適用時に非アクティブなレンダラーを含める

アトラス化を適用するときに、非アクティブなGameObjectに付いているレンダラーを含めるオプション

アニメーション等でデフォルトでオフなアクセサリーが存在する場合に使用することを推奨

大きさの優先度を強制

通常、場所が足りないときに大きさの優先度を加味して縮小しますが、この項目が有効な場合は場所の不足にかかわらず大きさの優先度を基に強制的に縮小します。

マテリアルの結合

アトラス化を適用するときにマテリアルを強制的に結合する機能

有効な時に、追加の項目が表示されます。
AtlasMergeMaterialSetting

プロパティベイク設定

上記マテリアルの結合の時に、マテリアルのプロパティの一部をテクスチャに焼きこむ機能です。

  • None : 何もしない
  • Bake : そのプロパティのテクスチャが存在し、プロパティの値に違いがあった場合
  • Bake All Property : プロパティの値に違いがあった場合すべて

基本的には推奨は Bake で、Bake All Property は大幅な VRAM の増加を招く可能性があるため取り扱い注意。

結合時マテリアルの参照

結合時にマテリアルの設定を参照できる機能です。

何も設定されていない場合、アトラス化対象のマテリアルの不定などれか一つが使用されます。

テクスチャーを強制的にセットする

アトラス化したテクスチャーをマテリアルに割り当てるとき、すでにテクスチャーが存在する場合にのみ置き換えられるのが通常動作ですが、この機能は既に存在するテクスチャーがなかったとしても強制的に設定する機能

背景色

アトラス化されたテクスチャの背景色を設定でき、 MipMap や テクスチャの圧縮形式などに影響します。

ピクセルノーマライズ

アイランドの移動をピクセル単位でノーマライズする機能です。

アトラステクスチャーサイズがアトラス化する対象と比べて十分な大きさがあり、ダウンスケーリングが行われなかった場合に、元のテクスチャーとの見た目の劣化が抑えられます。

実験的機能

警告

これらは実験的機能で予告なく削除や変更が行われる可能性があります。

アイランド詳細調整

上記:マテリアルによる 大きさ優先度 の調整が行われた後に、アイランド単位で優先度の調整が行える機能。

アイランドの選択の詳細はこちら

アイランドリロケーター

ドキュメント制作予定なし...知りたい人はソースコードを読んでください。

元のUVを書き込む

アトラス化する前の UV を任意のUVチャンネルに書き込む機能で、シェーダーが UV0 以外を使用できる機能があるのであれば、特定のテクスチャだけ元のテクスチャのままにするという使い方ができます。

元のUVを書き込むチャンネル

元のUVを書き込むチャンネルを指定することができます。1~7の範囲で指定可能で、マテリアル設定などと合わせて設定してください。

マテリアル結合グループ

マテリアル結合を行うときに、一部のマテリアルを別のマテリアルに結合できる機能です。

透過が必要な場所にだけ別のマテリアルにマージするなどの使用用途が想定されています。

ダウンスケーリングアルゴリズム

アトラス化時の縮小にどのアルゴリズムを用いるかの設定ですが、現在選択肢は Average のみしか存在しません。

自動リファレンスコピー設定

テクスチャ詳細設定のリファレンスコピーを、適当に壊れない程度に自動で設定を行い最終的なVRAM容量を減少させ可能性がある機能です。

自動マージテクスチャー設定

テクスチャ詳細設定のマージテクスチャーを、適当に衝突しない物を自動で設定を行い最終的なVRAM容量を減少させる可能性がある機能です。

テクスチャ個別詳細設定

テクスチャの詳細設定を個別に行える設定機能です。

下の テクスチャ詳細設定管理画面を開く からどのような結果になるかも含めた特別なウィンドウが開きます。

テクスチャー詳細設定

テクスチャの詳細な設定を行うための項目です。 詳細