MODテクスチャが遠景で激しくチラつく(Shimmering)原因
ユーザー作成の4K/2K高解像度テクスチャをゲームに導入した際、DDS(DirectDraw Surface)エクスポート時にMipmap(多重解像度テクスチャ)の生成が省略されていると、レンダリング時に遠方の微小ポリゴンに対して原寸大テクスチャから無理な間引きサンプリングが行われます。これにより、カメラの回転や移動に伴う激しいモアレ現象、チラつき(Shimmering)、VRAMキャッシュヒット率の著しい低下が発生します。
| テクスチャ設定 | Mipmap欠落(不具合状態) | 正常なMipmapピラミッド保持 | 視覚・パフォーマンスへの影響 |
|---|---|---|---|
| VRAM占有容量 | 4096x4096 の1枚のみ保持 | 1x1まで縮小された全階層を保持 | VRAM容量は正確に33%増加 |
| 遠景サンプリング | 広範囲から1テクセルを無理に抽出 | フィルタリング済みの縮小画像をサンプリング | チラつきが完全に解消され滑らかに描画 |
| テクスチャキャッシュ | 遠景描画時に40%以下に低下 | 局所性が維持され85%以上を維持 | メモリ帯域の飽和とスタッターを低減 |
| 異方性フィルタリング | 参照すべき縮小階層がなく機能不全 | 16x AFが傾斜面を正確に補正 | 遠方の路面や屋根が鮮明かつ安定 |
ステップ1: Texdiag による欠落テクスチャの特定
DirectXTexツールキットの texdiag.exe を使用し、対象MODフォルダ内のDDSファイルを診断します。
texdiag.exe info "Data\Textures\architecture\stonewall_d.dds"
出力結果の mip levels: 1 となっているテクスチャは、Mipmapが生成されていない危険なテクスチャです。石畳、金網、瓦屋根などの高周波テクスチャでこの状態になると、強烈な描画ノイズの原因となります。
ステップ2: Texconv による一括Mipmap生成とフォーマット変換
DirectXTexの texconv.exe を使用して、品質劣化を抑えながらMipmapを正しく一括生成します。
カラーテクスチャ(Diffuse / Albedo, sRGB空間)の処理
texconv.exe -f BC7_UNORM_SRGB -m 0 -srgb -y -o "FixedTextures" "stonewall_d.dds"
ノーマルマップ(法線マップ, リニア空間)の処理
法線マップは方向ベクトルを保持しているため、sRGBガンマ補正や過度のブラーフィルタを絶対に適用してはいけません:
texconv.exe -f BC5_UNORM -m 0 -y -o "FixedTextures" "stonewall_n.dds"
主要コマンドオプションの解説
-f BC7_UNORM_SRGB: 現代のPCゲームで標準的な高品質カラー圧縮フォーマット。-f BC5_UNORM: 接線空間法線マップに特化した2チャンネル独立圧縮フォーマット。-m 0: 1x1ピクセルまで自動的に完全なMipmapピラミッドを生成。-srgb: 縮小フィルタリング時にガンマ補正を行い、遠景テクスチャの暗化を防止。
ステップ3: 樹木や金網のAlpha切り欠き消失対策
木の葉やフェンスなどAlpha Testを利用したテクスチャでは、通常のダウンサンプリングによってアルファチャンネルの境界が希釈され、遠景で植物が縮んだり消滅したりする現象が発生します。
- NVTTまたはPhotoshop DDSプラグインで「Alpha Mipmap Coverage Preservation」を有効化します。
- Alphaテストの閾値を0.5(または128)に固定します。
texconvを使用する場合は-atフラグを付与します:
texconv.exe -f BC7_UNORM_SRGB -m 0 -at 0.5 -o "FoliageFixed" "tree_leaves.dds"
- 生成されたテクスチャをMOD環境に再配置し、ゲーム内での遠景安定性を確認します。