【CEDEC 2013】タイプ別でみるテクスチャ圧縮の弱点と利点をわかりやすく解説 ― 工程の手戻りを最小限に
ソーシャルゲームなどで頻繁に使われるテクスチャ圧縮技術。現在はiOSやAndroidなどOSごとに使用できる圧縮種別が違い、その特性を理解しないまま利用すると画像が大きく劣化してしまいます。
ゲームビジネス
その他

そのテクスチャ圧縮の傾向と対策について、ウェブテクノロジのプログラマ・黒岡聡亨氏と上田堂弘氏が講演を行いました。
まずは、黒岡氏によって圧縮テクスチャの必要性と注意点が語られました。圧縮テクスチャは本来3Dポリゴンの表面に貼られるものです。圧縮率はJPEGやPNGに劣りますが、実行時に元サイズの大きさとなるそれらに比べて、メモリ容量が少なくて済むというメリットがあります。同時にアプリ容量や消費電力も小さくなり、全体的なパフォーマンスを向上することができます。
ただし、プラットフォーム毎に使用できる形式が異なる点や、画像の劣化といったデメリットもあり、使用には注意が必要です。
続いて黒岡氏と上田氏が、各種圧縮形式におけるトラブルや、疑問、回避方法などを掛け合い方式で説明しました。
取り上げられたのは、据え置きゲーム機やPC向けタイトルで使用されるDXTC、iOSで使用できる数少ない形式のひとつであるPVRTC、Androidで使用可能なETCの3形式です。
DXTCでのトラブルでまず挙げられるのは、テクスチャ上の色の分かれ目に灰色のブロックが生まれることです。これに対しては、輪郭線を太くすることで回避出来る可能性があります。次に注意すべき点として、DXTCには5つのモードがあり、モードによって圧縮結果に差が出ると言うこと。特にアルファありの画像は、DXT5で圧縮するのが最良です。
PVRTCでのトラブルは、いくつか紹介されました。ひとつめは色のにじみが出てしまうこと。上田氏によれば、このトラブルを完全に克服することは難しいそうです。ただ、輪郭や影などの色彩が大きく違うものは別パーツとして用意し、個別に圧縮することで回避できます。その分、容量は大きくなってしまいますが。
2つめは距離があっても滲みが出てしまうこと。PVRTCの特性として、周囲のブロックとの色の補間を行うため、距離を離すことで解決できるとのことです。
また、規則的なブロック模様が崩れてしまう点や、半透明グラデーションにもやがかかったように表示される点、リサイズ時の劣化などについても、非常にわかりやすい解決策が示されました。
ETCについては、DXTCと同じような色の境目にブロックノイズが出てしまう点について、白もしくは黒の輪郭線を入れることで解決できると説明されました。また、アルファチャンネルマスクを作る時の注意点も、詳しく紹介されています。
このほか、16bitダイレクトカラーの使いどころなど、実用的な細かい点を説明し、講演は終了しました。内容は図を使ったわかりやすいもので、すぐにでも業務に生かせる実践的なものでした。これを聞いた開発者には有意義な時間になったのではないでしょうか。
《恩田竜太郎》
この記事の写真
/