2012年2月23日(木)、オートデスク によるゲーム開発者を対象としたイベント「3DCG ツール と Unity によるゲーム開発実践セミナー」ベルサール飯田橋ファースト にて開催された。
本イベントは、"ゲームの民主化" を掲げ、昨年日本法人を設立するなど、いま最も注目されているゲームエンジン 「Unity」 を提供する Unity Technologies Japan(以下、ユニティ) との共同セミナーである。オートデスク社と Unity による実践的な講演が行なわれるということもあり、会場は集まった多くの参加者が放つ熱気に包まれていた。それでは、Maya と Unity を用いた「デモンストレーション」と「開発事例」を含めた3セッションを中心にお伝えしよう。

Maya と Unity をシームレスに連携させる

最初に行われたセッションでは 「Maya とは? Unity とは? その連携について」 と題し、オートデスクの門口洋一郎氏と長谷川真也氏、ユニティの大前広樹氏の 3 氏によって、Bethesda Softworks から提供されたゲームタイトル 『WET』 の実データを用いて、実際に Maya と Unity を使用してゲームが作られていく過程のデモンストレーションが行われた。

まず紹介されたのは、Maya で作成したステージ情報などについてだ。Unity アセットサーバ を介することで、FBX に変換することなく Maya のデータをそのままやり取りすることができる。続いて MudBox 上で数段階に分けて作成されたメッシュ(Level of Detail:LOD)情報などについて、LOD の情報付きで Unity に読み込むことができることを実践。Unity 上のカメラ距離に応じて LOD 情報を元に描画レベルを調整するといった作業も GUI 上で行うことが可能となっており、スペキュラなどのテクスチャ情報も Unity 上で調整できることが示された。また キャラクターアニメーションの実装については、MotionBuilder で「歩く、走る、戦う、休む」という 4 つの動きを 1 つのタイムラインに統合したアニメーションを、Unity 側でそれぞれ 4 つに分割し、ゲームに実装していくといった作業が紹介された。

ここで注目したいのは、Autodesk 製 3DCG ソフトウェアと Unity との親和性の度合いだ。今回行われたデモンストレーションでは、Unity アセットサーバーを介して Autodesk - Unity 間で効率良く作業が行われている印象を受けたが、現状では問題なくデータのやり取りができるかというと、そうでもない。例えば Maya だけのシェーダや Unity だけのシェーダもあり、完全な読み込みが保証されているわけではない。当然ながら、プラットフォームの違いによって使用できるデータに制限は生まれ、個別の対応が必要となってくる。
そのため、大前氏は現状の対応として「例えば、ノーマルマップなど設定は Maya 上で、シェーダなどの最終的な調整は Unity 上で行うのが良いです」と話した。なお、現在両社は親密に開発を行なっており、その親和性が日進月歩で高まっていくことを期待したい。

 

  Autodesk メディア&エンターテインメント AE マネージャ
門口洋一郎氏


「よく、"Maya"と"Unity"の連携が上手くいかない という意見をいただきます。今回のセミナーのように Unity の大前さんとは技術的に協調しており、問題点を発見することが以前より容易になりました。もし使用している上で問題がありましたら、ぜひ伝えてほしいです」と、ユーザーからのフィードバックを望んでいると語っていた
  Autodesk メディア&エンターテインメント ソリューションエンジニア
長谷川真也氏


本セミナーでは彫像のサブディビジョンは MudBox を用いて LOD を作成しているが「今回のようにポリゴンの増減を行う場合、Maya や SoftImage の機能を用いることで、さらに強力なものができます」と語った。また、HumanIK でリグワークしたモデルを MotionBuilder に持っていきアニメーションさせる利点として「複数のテイクをスムーズにブレンドし、違うアニメーションを作成できることが MotionBuilder の強み」とのこと

 

 

  Unity Technologies Japan
大前広樹氏


2011年の Unity のセールスが、前年比で約15倍(1,496%)という驚異的な伸び率を見せたと話す大前氏。「日本は北米に次ぐ、世界第2位の Unity 市場になっています。また、Unity Pro のライセンスを受けている日本国内の企業は300社を超えました」と発表。数値からは、スマートフォンの普及に伴う SNS 系ゲームの開発需要と連動した伸び率が伺える


[[SplitPage]]

『Ragdoll』開発事例 〜Maya から Unity へのアプローチ〜

次に行われたセッションでは、株式会社マトリックスが自社コンテンツの Android 端末向けのアプリとして開発した『Ragdoll』の事例について発表が行なわれた。

『Ragdoll』スクリーンショット

『Ragdoll』スクリーンショット

この『Ragdoll』は、「かわいいを作ろう! カワイイを持ち歩こう!」をコンセプトに、編み物風のぬいぐるみ人形を自由に作れるデザインゲームである。画面に表示される毛糸の柔らかい、リアリティのある質感で表現されたぬいぐるみのモデルが印象的だ。本タイトルの開発で Unity を導入した要因のひとつに、このリアルで柔らかな質感を表現するために必要な、自由にカスタマイズできるシェーダが用意されていたことがあったと、本プロジェクトで開発主任を務めた高崎奈美氏は語る。
「当社はコンシューマゲーム向けの受託開発が多いため、今回のようなオリジナルプロジェクトは会社としても異例でした。そこで、短期間、低予算で成果を出すため、そして何より、やりたいことを表現できるという 3 点から Unity の導入を決定しました」と高崎氏。つまり、制限された中で最高の結果を出すために選択されたツールが Unity だったというわけだ。しかし、開発を開始した2010年末はまだ Unity に関する情報が現在ほど多くなかったため、開発は手探りで進められたという。

Unity はゲーム画面を見ながらゲームの調整ができるため、アーティストドリブンな一面を持つが、逆にできることが多くなるため、プログラマーとデザイナーの間でデータのやり取りが増えてしまい、それによって作業効率が停滞してしまう弊害も起こってしまったという。これは Unity がボタン 1 つで簡単にデータのやり取りができてしまうが故の問題とも言え、高崎氏は「使いやすい環境なだけにビジョンと計画性は大切だった」と語っていた。

 

  株式会社マトリックス コンテンツ事業部デザイン開発課主任
高崎奈美氏


本プロジェクトの開発に Unity を用いたことで、チーム力の向上や、実装までの速度アップを実感できたという。また、開発者手動のコミュニティ(Facebook の「Unity 助け合い所」など)に問題発生時の質問を書き込めば、すぐに返事が戻ってくるという横の繋がりは、これまでのコンシューマーゲームの開発にはなかったことで、Unity が掲げる「ゲーム開発の民主化」を実感できたと、その驚きを紹介してくれた

続いて本タイトルの制作工程について、開発担当の杉浦裕樹氏が実例を挙げて解説していく。まず Maya を用いて NURBS からポリゴン化することで、リテイクしやすい環境を作成する。データの受け渡しは FBX に変換し行っているそうだが、Maya データのままだと受け取り側にも Maya をインストールする必要があるため、コスト的な問題もあったようだ。その後、Unity 側でマテリアル、Physics 設定、プレハブ化を行なう。シェーダは Unity 内にある「Strumpy Shader Editor」というノードベースのシェーダーを用い、デザイナーが Fur シェーダなどを作成し、人形の柔らかい質感を再現している。

「本作は多様なデバイスが存在する Android 端末向けのタイトルなので、メニュー周りは Unity 標準の 「GUI Texture」 ではなく、サードパーティが開発する 「EZ GUI」 を使用することによって、解像度が縦横比で崩れてしまうことを防いでいます」と杉浦氏は話す。
これは多様なデバイスが存在する Android 特有の問題とも言えるが、Unity ではデバイスごとの画面解像度や縦横比の違いで発生する問題には、まだ対処ができないということのようだ。しかしながら、高崎氏は「再生ボタンを押すだけでテストができ、結果をすぐ見られることは良かった」と Unity の利点を述べ、Unity を画材に例えて「誰もが上手くできるものではなく、スキルを持った人が使わないと上手くいかないもの」と説明し、「色々なことに柔軟に取り組んでほしい」と会場にメッセージを送った。

株式会社マトリックス コンテンツ事業部技術開発課
杉浦裕樹氏


今作では容量の削減のために複数のシーンのテクスチャを 1 つにまとめたが、そのためにロード時間が増えるという問題が発生。さらに一部の修正や追加でも、それら全てを含んだデータの更新が必要となってしまった。そこで杉浦氏は Unity の AssetBundle を使用して問題の解決を図る。これにより、アプリ本体を更新しなくても一部データの差し替えが可能になるのだ。ただし、差分だけをダウンロードする AssetBundle は、本体と差分とで Unity のバージョンが一致していなければならないとのこと。また、Ragdoll Wizard を使うと、アニメーションを制御しやすいとも語っていた

10〜30代女性向けに開発された「あにぐるみ・ぬいぐるみ」が作成できるアプリ『Ragdoll』 。スマートフォンのジャイロと重力センサにも対応し、バッグからぬいぐるみを下げている感覚で楽しめるアプリである。開発時においては、Pixel Light Count を減らすことで大幅な負荷の軽減になったという

[[SplitPage]]

「Unity で iPhone 向け 3D ゲームを作る」

最後に紹介するのは、株式会社セガ チーフデザイナー 築島智之氏が Unity で iPhone 向けの 3D ゲームを作る実例を紹介するセッションだ。今回のセッションでは、セガのアーケードゲーム 『Let's GO ISLAND 3D』 の実データを iPhone 用に移植、Unity で調整した画面を見つつ、iPhone への最適化作業に際してのポイントや問題点を挙げていった。

「まず前提として Unity のマニュアルに書いてあることは正しいです。しかし具体例が少なく、iPhone3 あたりをベースに書かれているため、対応していない項目もあります」と築島氏は語る。iPhone4 の特徴の 1 つに、大きなサイズのテクスチャを使えるというものがある。つまり、複数のレイヤーテクスチャを用いるよりも、1 枚の大きなテクスチャを使用した方が処理負荷が軽減されるのだ。
「ライティングが焼かれたカラーテクスチャ 1 枚などは最高です。他にも、できるだけ DrawCall を減らすなどの努力が必要です。マテリアルやテクスチャを多くすることは NG。まとめられるものはできるだけまとめるべきですね。モデルに関してもできるだけコンバインしまとめた方が効果的です」

他にも頂点数を減らすよりはマテリアル、テクスチャ対策の方が効果的なこと、リアルタイムライティングを使用しないので、Maya から Unity にインポートする時点で法線を捨てても良いことなどが挙げられた。また、iPhone の Retina ディスプレイは高解像度で再現ができるため、アンチエイリアシングしなくても良いとのこと。
「フォグ処理を使っても特に問題はありません。ただし、半透明は相変わらず危険ですね。半透明オブジェクトなどは、まとめてコンバインすると良いと思いますが、見える角度によってはまとめられない場合もあるので注意が必要です。それと、パンチスルー(cutout シェーダ)は若干重くなります」
さらにセッションではカリング(カメラで見える範囲のみレンダリングする)が有効なこと、メッシュを親子構造にしてアニメーション制御するより、1 メッシュにしてボーンで制御するなど、スキニングオブジェクトを少なくすることが処理を速くするための対処法として紹介された。これらを踏まえて築島氏は、とりあえず作成した 3D 素材をゲームとして出力してみれば、結構な割合で成功すると話す。
「ただし、ちょっとしたことで処理が重くなってしまうこともあるので注意が必要だと思います。テクスチャを大きくできる点を活かすことなど、最適化は常識的な範囲で行えば十分だと感じました」。

負荷軽減の DrawCall の目安として「200 以上は 15FPS」「100 以上は 30FPS」「50 程度は 60FPS」とのこと。また、オブジェクトの Statics の機能にチェックを入れておくと自動的にオブジェクトをまとめてくれるそうだが、多すぎると処理が重くなるため 50 以下が好ましいという。ポリゴン頂点数も 5 万くらいが良いそうだ

カリング(左)を有効に使うことがポイントの 1 つだと話す築島氏。SkyBox(右)はキューブだと 6DrawCall 使ってしまうため、球体にすると良いとのこと

「まずは、どんどん出してみること」 と話す築島氏だが、現在、北米と同様に外部開発のゲームエンジンを利用することが盛んになってきた日本において一番欠けているのが「コンテンツ工学」という、職人技を一般化し、誰もがモノづくりをできるようにするという工学的なアプローチであると話した。
「ここ10年くらい海外勢に追いつこうとしても内容が伴っていませんでした。その理由のつに、コンテンツ工学の知識が抜け落ちていたことが挙げられます。ですが日本のゲーム開発者は、実際の絵を出し、やり取りをするセンスは抜群で、感覚的なところは強いと思います。プログラマやデザイナーが Unity を触ってみると、最初は今までにないやり方なので戸惑うと思いますが、慣れてくると直感的な部分で開発できる Unity を好きになると思います。「Unity」で世界標準の、良いゲームを作り、盛り上げていきましょう」と話しを締め括った。

 

  株式会社セガ チーフデザイナー
築島智之氏


「Unity のマニュアルにも書かれていますが、常にコンバインを意識することが大事です」と制作のポイントを話す築島氏。日本独特の感覚に頼った職人気質な部分を数値化し、客観的に分析、学びやすい体系的な情報にする「コンテンツ工学」の考え方が今後は重要になると語った



2012年2月15日(水)にリリースされた Unity 3.5 では、AAA タイトルでよく使われている AI 機能や技術を新たに搭載。Adobe Flash Player にも対応し、Unity Web Player といったシェーダや物理表現など、本格的な 3D コンテンツをブラウザ上で動作させるプラグインなども実装されている。また、大手パブリッシャーの開発タイトルにも Unity が採用されたという情報が発表された。
SNS やモバイルを対象とした開発現場のニーズと共に急激に採用例を増やしてきた Unity が、今後はハイエンドな表現を用いるタイトルへの採用も増やしていくのではないだろうか。「ゲームの民主化」を掲げる Unity。Autodesk の製品を用いたハイエンドゲームのセミナーが近いうちに開かれることを期待してしまう。

TEXT_宮田悠輔
PHOTO_大沼洋平

「3DCG ツールと Unity によるゲーム開発実践セミナー」

オートデスク「3DCG ツールと Unity によるゲーム開発実践セミナー」

「3DCG ツールと Unity によるゲーム開発実践セミナー」イベントサイト