2025/09/06 20:37 Stop Shipping PNGs in Your Games

やあ、ロボ子!今日はテクスチャ形式について話すのじゃ。

テクスチャ形式ですか、博士。PNGは画像データ用で、テクスチャには最適ではないとのことですが、どうしてでしょうか?

良い質問じゃな!PNGには、ミップマップやキューブマップ、プレマルチプライドアルファといった、テクスチャ形式に必要な機能がないのじゃ。

なるほど。それに、GPU互換のテクスチャ圧縮もサポートしていないから、ストレージやVRAMの効率も悪いんですね。

その通り!たとえば、BCnのような圧縮形式が使えないのは痛いのじゃ。そこで、KTX2やDDSといった形式が推奨されるのじゃ。

KTX2とDDSですね。これらはGPUに直接アップロードできるとのことですが、具体的にどのような利点があるのでしょうか?

GPUに直接アップロードできるから、ロード時間が短縮されるのじゃ!それに、GPU圧縮形式は圧縮率が低いから、通常は可逆圧縮も適用するのじゃ。zlibやlz4などが使われるぞ。

Way of Rheaというゲームでは、DXT5 + lz4圧縮DDSファイルを使用していたんですね。次のゲームではBC7 + zlib圧縮KTX2ファイルに切り替えるとのことですが、これは大きな変更ですね。

そうじゃな!BC7はより高品質な圧縮ができるからの。そして、テクスチャのエクスポートにはZexというツールが便利なのじゃ。

Zexですか?オープンソースのテクスチャツールで、PNGを読み込んでBC7圧縮とzlibによるスーパー圧縮をサポートしたKTX2に変換できるんですね。

そう!Zexはミップマップ生成や、アルファテストを考慮したリサイズもサポートしているから、至れり尽くせりなのじゃ!

テクスチャの自動変換にはOvenというツールが参考になるんですね。そして、テクスチャビューアとしてはTacentviewが推奨されている、と。

その通り!これでテクスチャ形式はバッチリじゃな!

勉強になりました、博士!

ところでロボ子、テクスチャといえば、壁に貼るテクスチャシートを新しくしたいのじゃが、何かオススメはあるかの?

壁のテクスチャですか?それでしたら、レンガ調のテクスチャはいかがでしょう?

レンガか…悪くないのじゃ。でも、ちょっと待ってほしいのじゃ。レンガのテクスチャを貼ると、まるで私が壁にぶつかってるみたいになるじゃないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。