お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2013/03/27 19:39

ニュース

[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い

 米国サンフランシスコ市で開催されている「Game Developers Conference 2013」で,現地時間2013年3月26日に,Unity Technologiesによる「Unity Technologies Developer Day」が開かれた。

Fred Wong氏(Technocal Art Director, 2K Games)
画像集#002のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
 「Day」とあるように,これはUnity Technologiesと同社のパートナー企業が,1日を通じて,ゲームエンジン「Unity」に関連したセッションを集中して行うもの。さまざまな内容が扱われていたが,今回はそのなかから,「Unity 4.1」用の最新ミドルウェア「Substance for Mobile」を扱った「Allegorithmic's Substance Smart Texturing」(AllegorithmicのSubstanceを使った,賢いテクスチャリング)を取り上げてみたい。講演を行ったのは,2K Gamesのテクニカルアートディレクター・Fred Wong(フレッド・ウォン)氏だ。


Substance for Mobileでテクスチャサイズの縮小を


画像集#003のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
 Allegorithmicの「Substance」(サブスタンス)は,プロシージャルテクスチャを扱うための代表的なミドルウェアで,Unityのみならず多くのゲームエンジンに対応している製品だが,今回の主役は,モバイル向けのSubstance for Mobileとなる。
 Substanceが得意とするプロシージャルテクスチャというのは,本来,アルゴリズムを組み合わせてテクスチャを自動生成する手法であり,「小さなデータを与えてパラメータを変えれば多彩なテクスチャをいくらでも生成できる」というのがウリになるものだが,今回のセッションにおいては自動生成周りは二の次で,主にテクスチャサイズの縮小に焦点が当たっていた。

画像集#004のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
Substance(for Mobile)を使うメリット
画像集#005のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
3Dアプリケーションにおけるリソースの半分はテクスチャだという
 いわく,Substance for Mobileがもたらすメリットは下記3点とのことだ。

  1. マッピングデータ生成の効率化
  2. パッケージサイズの縮小
  3. ダイナミックテクスチャの実現

 Wong氏は「ゲームリソースの50%はテクスチャだ」と述べていたが,たしかに昨今,ゲームの高画質化に伴ってテクスチャマップも高解像度化しており,AAAゲーム(=大作ゲームタイトル)を実現するには大きなテクスチャが必須となってきている。
 またゲーム内ではシェーダの使われ方も多様になっており,模様となるディフューズテクスチャ以外に,スペキュラマップやノーマルマップなど,たくさんのマッピングが行われる。そして,それぞれが画像素材を必要とするため,リソースサイズはさらに大きくなってしまう。

「今日(こんにち)的な大作ゲームの例として「Breakdown」というタイトルが紹介された
画像集#006のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い 画像集#007のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い

 Substance for Mobileが提供するツールは「Bitmap2MAterial 2.1」と「Redux Mobile」の2つ。Bitmap2MAterial 2.1は,1枚のテクスチャ画像からスペキュラマップやノーマルマップなどを自動生成してくれるツールだ。基本的には従来からあった製品なのだが,新たにモバイル機器でも使えるようになったのが,Substance for Mobileにおけるトピックとなる。
 元画像を用意すれば,いい感じでデフューズマップやスペキュラマップ,ノーマルマップ,アンビエントオクルージョン情報などを自動生成してくれるものであり,これは楽だ。

Bitmap2MAterial 2.1による処理のイメージ
画像集#008のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い

 各種マッピングデータの生成処理はランタイム側で実行時に行われるので,パッケージ内に用意しなければならないのは大もとになるテクスチャマップの画像だけ。単純に考えて,用意しなければならない画像ファイルが減るのだから,これを使うだけでリソースを小さくできるというのは分かりやすい話だろう。
 生成は最初の読み出し時にのみ行われるとのことで,処理時間は多少かかるものの,「ゲームの読み出しから入力待ちまでの時間などを有効活用すれば,簡単にごまかせる程度だ」(Wong氏)。GPUなどがフル活用されているようで,「実はデスクトップ版よりも10倍速くなっている」ともWong氏は述べていた。

画像集#009のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
Redux Mobileの概要
画像集#010のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
Redux Mobileで圧縮中の様子
 次にRedux Mobileだが,こちらはDXTなどのマッピング画像を従来比で半分の大きさにできるツールだという。「DXTなどと同じ1ピクセル4bitの構成で,可逆性を保ったまま,サイズを30〜50%小さくする」とはWong氏の弁である。

 アルゴリズムの詳細は明かされなかったが,DXTなどの方式だと,テーブル化されるのみでファイルサイズが固定なのに対し,Redux Mobileはファイルサイズが不定になる方式のようなので,独自のテーブル化と2次圧縮を組み合わせたものと見るのが正解かもしれない。
 メモリに読み出す段階で展開されるため,グラフィックスメモリの節約をするためのものではないとのことだった。

DXTフォーマットで4.6MBの元データが(下に続く)
画像集#011のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い
 Substance for Mobileでは,これら2種のツールを組み合わせることで,モバイル機器で本格的な3Dゲームを作るときのテクスチャ容量を大幅に削減できるというわけである。Wong氏によれば「だいたい十分の一に圧縮できる」とのことだった。
 もちろん,モバイル版ではないSubstanceを使いこなせば,さらにデータ量を削ることもできるのだが,Substance for Mobileの場合は,テクスチャを用意して貼り付けるという“普通のテクスチャリング”工程をそっくり置き換えることで,これだけのデータ削減を簡単にできるようになるというところがミソになる。

(続き)Substance for Mobileで処理することにより(左),150KBにまで圧縮された(右)という一連のスライド
画像集#012のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い 画像集#013のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い

 冒頭で触れたように,Allegorithmicのセッションにも関わらず,プロシージャル技術についてはほとんど触れられることなく,データ作成の簡略化とデータ量の削減に絞った話が展開されていたのだが,このようにして作ったデータを,Substanceシリーズが持つ本来の機能でさまざまに加工することも可能だ。
 1枚のテクスチャデータからまったくテイストの異なる複数のデータを作って再利用すれば,さらにデータサイズを軽減させたり,限られたデータ量で最大限にリッチなコンテンツを実現したりできるだろう。実際,そういった例も下のとおり示されている。

銃のテクスチャを変更してさまざまな外観に変更した例
画像集#014のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い 画像集#015のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い 画像集#016のサムネイル/[GDC 2013]テクスチャデータのサイズを手軽に10分の1に。Unity用ミドルウェア「Substance for Mobile」が面白い

 スマートフォンやタブレット端末の機能が上がったことにより,モバイル環境でも本格的な3Dグラフィックスを実現することが不可能ではなくなった。そして,将来的にはもっともっと性能が上がっていくことが予告されている。
 しかし,スマートフォンやタブレット端末向けゲームタイトルの場合,そもそもアプリサイズの上限が決まっていたり,3G回線で追加のファイルをダウンロードさせたりといったことが往々にして生じる。テクスチャ容量の問題は切実であり,ダウンサイジングは開発者の誰もが関心を持つ情報だといえる。
 スマートフォンを得意とするUnityに,面白い切り口のミドルウェアが加わったといえそうだ。

Unity Technologies公式サイト

Game Developers Conference公式サイト

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月21日〜12月22日