Version: Unity 6.0 (6000.0)
言語 : 日本語
ミップマップストリーミングの概要
ミップマップストリーミングの設定

ミップマップストリーミングの有効化

ミップマップストリーミングを有効化するには、次のステップを実行します。

  1. Edit > Project Settings > Quality に移動します。
  2. Textures セクションで、Mipmap Streaming を有効にします。

デフォルトでは、これでプロジェクト内のすべてのカメラでミップマップストリーミングが有効になります。

エディターでは、ミップマップストリーミングはデフォルトで、Edit モードと Play モードの両方でアクティブです。エディターでのミップマップストリーミングの設定の詳細については、エディター設定を参照してください。

ミップマップストリーミングでのテクスチャの使用

以下の手順に従ってください。

  1. Project ウィンドウでテクスチャアセットを選択します。
  2. Texture Import Settings ウィンドウで、Advanced を選択して詳細設定を開きます。
  3. Generate Mipmap が有効になっていることを確認します。
  4. Stream Mipmap Levelsを有効にします。

プロジェクトを Android 用にビルドする場合は、以下のステップも実行する必要があります。

  1. Build Profiles ウィンドウを開きます。
  2. Compression Method を LZ4 または LZ4HC に設定します。

Lightmaps

ライトマップのミップマップストリーミングを有効にするには、以下のステップを実行します。

  1. Edit > Project Settings > Player に移動します。
  2. Other Settings セクションで Lightmap Streaming を有効にします。

ライトマップアセットのミップマップストリーミング設定は、他のテクスチャの設定を編集する場合と同じ方法で編集できますが、ライトマップが再生成されるとデフォルト値にリセットされます。これを解決するには、ライトマップの生成時にこれらの値を適用するように、Unity に指示します。Player Settings ウィンドウで Lightmap Streaming Enabled と Streaming Priority を使用してください。

カスタムメッシュ

Unity スクリプトでカスタムメッシュを作成する場合、メッシュの UV 密度は自動的に計算されません。これは、誤ったミップマップレベルがロードされていることを意味します。

これを防ぐには、以下のいずれかを実行します。

標準の Renderer コンポーネントを持たないオブジェクト

以下のオブジェクトは標準の Renderer コンポーネントを使用しないため、正しいミップマップレベルを計算できません。

  • デカールテクスチャ。
  • リフレクションプローブテクスチャ。これは、ミップマップレベルを使用してマテリアルの粗さのルックアップテーブルを格納するためです。
  • スプライト。Sprite Renderer コンポーネントを使用します。
  • Mesh.uv (UV0 とも呼ばれる) 以外のチャンネルで UV テクスチャ座標を使用するシェーダー。
  • スケールと移動以外のテクスチャ座標を変更するシェーダー。

これらのオブジェクトでは、Texture2D.requestedMipmapLevel API を使用してミップマップストリーミングをオーバーライドし、ミップマップレベルを手動で設定してください。これを行わないと、低解像度のミップマップレベルが使用され、カメラからの距離に応じて表示がぼやける場合があります。

追加リソース

ミップマップストリーミングの概要
ミップマップストリーミングの設定