普段何気なくAuto FixしているStreaming Mip Mapsについて

この記事は約2分で読めます。

アバターをアップロードしようとすると、必ずと言っていいほど次のようなエラーに遭遇します。

This avatar has mipmapped textures without ‘This avatar has mipmapped textures without ‘Streaming Mip Maps’ enabled.’ enabled.

この場合、Auto Fixを押せばだいたい解決してしまうことが多いのですが、具体的には何が起きているのでしょうか。

テクスチャの読み込み負荷を軽減するために必要な設定

UnityにはTexture Streamingと呼ばれる、テクスチャの一部を読み込むようにすることでメモリを節約するための機能があります。

テクスチャストリーミング - Unity マニュアル
Texture Streaming (テクスチャストリーミング) システムは、Unity がメモリにロードするミップマップレベルを制御します。このシステムは Unity がテクスチャのために必要な合計メモリ量を削減します。なぜなら、テクスチ...

これがOFFの場合、必要以上に大量のメモリやビデオメモリを消費してしまうことで過剰な負荷がクライアントにかかる恐れがあります。
VRChatでは、この設定が有効であることが必須条件となっています。

Auto Fixを押したときに自動的に起きる動作について

Auto Fixを押すと、Steaming Mip Mapsの設定が有効になります。
この設定の保存先はそのテクスチャファイルに付随するmetaファイルです。画像ファイル本体には手を加えられないため、他のプロジェクトに同じ画像ファイルを読み込んだ場合は再度設定が必要です。

次の画像は、そのmetaファイルの差分を示したものです。

設定はテクスチャファイルごとに適用され、各テクスチャファイルのInspectorで確認できます。

Auto Fix (自動で壊す) と揶揄されることもありますが、このAuto Fixについては設定を変更するだけであり、またテクスチャファイル自体に書き込むことではないので特に押しても問題はありません。

タイトルとURLをコピーしました