ニュース
[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
Substance for Mobileでテクスチャサイズの縮小を
Substanceが得意とするプロシージャルテクスチャというのは,本来,アルゴリズムを組み合わせてテクスチャを自動生成する手法であり,「小さなデータを与えてパラメータを変えれば多彩なテクスチャをいくらでも生成できる」というのがウリになるものだが,今回のセッションにおいては自動生成周りは二の次で,主にテクスチャサイズの縮小に焦点が当たっていた。
Substance(for Mobile)を使うメリット |
3Dアプリケーションにおけるリソースの半分はテクスチャだという |
- マッピングデータ生成の効率化
- パッケージサイズの縮小
- ダイナミックテクスチャの実現
Wong氏は「ゲームリソースの50%はテクスチャだ」と述べていたが,たしかに昨今,ゲームの高画質化に伴ってテクスチャマップも高解像度化しており,AAAゲーム(=大作ゲームタイトル)を実現するには大きなテクスチャが必須となってきている。
またゲーム内ではシェーダの使われ方も多様になっており,模様となるディフューズテクスチャ以外に,スペキュラマップやノーマルマップなど,たくさんのマッピングが行われる。そして,それぞれが画像素材を必要とするため,リソースサイズはさらに大きくなってしまう。
Substance for Mobileが提供するツールは「Bitmap2MAterial 2.1」と「Redux Mobile」の2つ。Bitmap2MAterial 2.1は,1枚のテクスチャ画像からスペキュラマップやノーマルマップなどを自動生成してくれるツールだ。基本的には従来からあった製品なのだが,新たにモバイル機器でも使えるようになったのが,Substance for Mobileにおけるトピックとなる。
元画像を用意すれば,いい感じでデフューズマップやスペキュラマップ,ノーマルマップ,アンビエントオクルージョン情報などを自動生成してくれるものであり,これは楽だ。
各種マッピングデータの生成処理はランタイム側で実行時に行われるので,パッケージ内に用意しなければならないのは大もとになるテクスチャマップの画像だけ。単純に考えて,用意しなければならない画像ファイルが減るのだから,これを使うだけでリソースを小さくできるというのは分かりやすい話だろう。
生成は最初の読み出し時にのみ行われるとのことで,処理時間は多少かかるものの,「ゲームの読み出しから入力待ちまでの時間などを有効活用すれば,簡単にごまかせる程度だ」(Wong氏)。GPUなどがフル活用されているようで,「実はデスクトップ版よりも10倍速くなっている」ともWong氏は述べていた。
Redux Mobileの概要 |
Redux Mobileで圧縮中の様子 |
アルゴリズムの詳細は明かされなかったが,DXTなどの方式だと,テーブル化されるのみでファイルサイズが固定なのに対し,Redux Mobileはファイルサイズが不定になる方式のようなので,独自のテーブル化と2次圧縮を組み合わせたものと見るのが正解かもしれない。
メモリに読み出す段階で展開されるため,グラフィックスメモリの節約をするためのものではないとのことだった。
もちろん,モバイル版ではないSubstanceを使いこなせば,さらにデータ量を削ることもできるのだが,Substance for Mobileの場合は,テクスチャを用意して貼り付けるという“普通のテクスチャリング”工程をそっくり置き換えることで,これだけのデータ削減を簡単にできるようになるというところがミソになる。
冒頭で触れたように,Allegorithmicのセッションにも関わらず,プロシージャル技術についてはほとんど触れられることなく,データ作成の簡略化とデータ量の削減に絞った話が展開されていたのだが,このようにして作ったデータを,Substanceシリーズが持つ本来の機能でさまざまに加工することも可能だ。
1枚のテクスチャデータからまったくテイストの異なる複数のデータを作って再利用すれば,さらにデータサイズを軽減させたり,限られたデータ量で最大限にリッチなコンテンツを実現したりできるだろう。実際,そういった例も下のとおり示されている。
スマートフォンやタブレット端末の機能が上がったことにより,モバイル環境でも本格的な3Dグラフィックスを実現することが不可能ではなくなった。そして,将来的にはもっともっと性能が上がっていくことが予告されている。
しかし,スマートフォンやタブレット端末向けゲームタイトルの場合,そもそもアプリサイズの上限が決まっていたり,3G回線で追加のファイルをダウンロードさせたりといったことが往々にして生じる。テクスチャ容量の問題は切実であり,ダウンサイジングは開発者の誰もが関心を持つ情報だといえる。
スマートフォンを得意とするUnityに,面白い切り口のミドルウェアが加わったといえそうだ。
Unity Technologies公式サイト
Game Developers Conference公式サイト
- この記事のURL: