オススメ機能
Twitter
お気に入り
記事履歴
ランキング
4Gamer.net
お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
QRコードでLINEの4Gamer
アカウントを友達登録すると
月〜金の週5回,21時に厳選
ニュースをお届けします!
※購読にはLINEアプリが必要です
[Unite 2015]モバイルでナンバリングに負けないHDクオリティの実現を目指す「MOBIUS FINAL FANTASY」はUnity 5をどう使っているのか
特集記事一覧
注目のレビュー
注目のムービー
印刷2015/04/15 00:00

イベント

[Unite 2015]モバイルでナンバリングに負けないHDクオリティの実現を目指す「MOBIUS FINAL FANTASY」はUnity 5をどう使っているのか

スクウェア・エニックス 第1ビジネスディビジョン リードプログラマー 浜口直樹氏
 2015年4月14日,都内で開催されているUnityの開発者向けカンファレンス「Unite 2015 Tokyo」で,スクウェア・エニックスの浜口直樹氏による「MOBIUS FINAL FANTASYにおけるUnity開発事例」と題する講演が行われた。

 ちなみに,講演に先立って,これまで付けられていた名前の一部が「Mevius」から「Mobius」となったことが発表されている。

Mevius →Mobius

 ドイツ人の数学者Möbius(メビウス)さんは,ウムラウト記号のない英語などではMobiusになるようだが,フランスだとMoebiusさんがいたり,Moviusになる地域もあるらしい。Mの次を「e」にした単語はシャープのノートPCやダイハツ版プリウスの名前として使われているので「Mebius」で認知している人も少なくないかもしれない。ちなみに,英語版Wikipediaで真っ先に出てくるのはウルトラマンだった。いずれにせよ,日本以外では「Me〜」はほぼ使われないようだ。
 商標などの関係でわざと変えていたのだろうと思うのだが,グローバル展開を目指すということで,素直な英語表記のMobiusになったらしい。

Unity
 「MOBIUS FINAL FANTASY」iPhone / Android 以下,MOBIUS)は2015年春発売を目指して現在開発中のゲームである。iOS/Android向けではあるものの,「ナンバリングのFINAL FANTASY」に負けないグラフィックスを実現することを目標にしたタイトルとして注目されている。今回の講演では,Unity 5を使って開発されている本作の開発上の工夫などが紹介された。


 まず,「ナンバリングのFINAL FANTASY」といえばスクウェア・エニックスの看板タイトルそのものであり,そのグラフィックスとなれば1ミリの妥協も許されないことは想像に難くない。MOBIUSの開発には,過去のナンバリングタイトルを手がけたスタッフが結集されているという。浜口氏自身も,XII,XIII,XIII-2などのナンバリングタイトルに関わっている。

Unity

 スタッフ数も通常のナンバリングタイトルと同等とのことで,「おそらくUnityで開発されているタイトルでは最大規模」と浜口氏は語っていた。さて,Unityはこれまでどちらかというと小規模開発の現場で多く用いられており,共同作業は苦手としていた(そのあたりにもメスが入りつつあるようだが)。

 最初に浜口氏から紹介されたのは,Unityで大人数のスタッフが開発作業を行う際の手法や注意点だった。
 まず,いろんな人がいじる可能性のあるプレファブについては,Hierarchy Viewに直接入れず,参照設定で読み込むようにすることが推奨された。Hierarchy Viewに入れると,そのプレファブがコピーされて組み込まれ,ファイルを変更しても反映されないのだそうだ。

Unity

 部署ごとにいじるプレファブを分けて,それぞれをバージョン管理ツールで管理しつつ,その状況を監視するサーバーを設置して,いずれかがコミットされた時点で全体を更新するようにしているとのこと。

Unity

 また,Hierarchy Viewを使わないとプレファブ構成の視認性が落ちるという問題が発生するのだが,それには自社ツールを作って対応しているという。

Unity
Unity

MOBIUSの開発環境。データの管理はExcelで行う方法に慣れているので,Excelファイルをオブジェクトとして読み込むツールが作られている。NGUIとFX Makerはサ−ドパーティ製だ
Unity

データ確認時の流れ
Unity

 続いて,浜口氏らがHDクオリティのゲームを実現するために取った手法が紹介された。
 まず,パフォーマンスの確保について,「Unityは遅い」という説に対して,C#(Mono)という言語環境の特性を理解していれば回避可能なものだという。数値演算は不得意なので,物理エンジンなどはネイティブコードで実装しているとのことだが,Unityではネイティブコードとのやり取りも簡単であり,C#の記述性のよさとネイティブを組み合わせて使うのがよいと結論付けていた。

Unity

 次に出されたのはなかなか興味深い資料だった。端末ごとにどれくらいメモリが使えるかを調べて一覧表にしていたのだ。これは浜口氏らが調べたものだそうだが,利用できるメモリ量は,iOSで350MB〜600MBくらい,Androidで400MB〜1100MBくらいとのこと。CPUコアの種類やOSのバージョンなどではなく,SoCのGPUコア部分に依存しているらしい。
 メモリ自体はAndroidのほうが多く搭載される傾向にあるものの,iOSのほうがパフォーマンスが出やすいため,両方のOSに対応したゲームを作るときは,Android先行で開発を行ったほうがよいとのこと。実機用バイナリの生成速度などからもAndroidベースで開発したほうが楽だそうだ。

Unity

 ハイクオリティのグラフィックスでは,多くのテクスチャが使われるわけだが,テクスチャファイルのサイズはダウンロードファイルサイズに直結する。そこでテクスチャ圧縮形式に関する話が行われた。
 実際にMOBIUSで使われているキャラクター一人分に相当する,2048×2048ピクセルの半透明を含むテクスチャの例が挙げられ,iOSで使われるPVRTC(4bit)では2.6MB,Android用SoCで使われるETC2(8bit)では5.2MB,ETC2がサポートされていないチップ用にRGBA32bitデータなどを使うと,実に20.8MBにもなる。MOBIUSでは,使われているGPUコアごとに最適なテクスチャ形式を選択するようにしているという。

Unity
 ただ,そうなると,テクスチャのコンバートなどで大きな手間がかかる。Unityでは,複数のテクスチャフォーマットを同時に出力できないためだ。スクウェア・エニックスでは,アセットバンドルのビルドサーバーでこれらの変換を自動化しているとのこと。
 ただ,普通にやるとUnityがキャッシュの更新を行うため(丸1日かかるそうだ),別途Unityのファイルを書き換えてから起動してキャッシュの再生成を回避するよう工夫していると浜口氏は語っていた。

Unity

 また,モバイル端末では使用されているGPUコアがさまざまであるため,シェーダの組み込み時にシェーダプログラムのコンパイルが行われる。同じ種類のシェーダを複数の場所で使っている場合は,コンパイル時間が無駄なので,1か所だけ残して,あとは参照設定にしておけば大幅に時間を節約できるそうだ。

Unity

 そんなこんなで効率的な開発手法を工夫しており,HDクオリティのゲームをモバイル端末で実現しようとしている。Unity 5を使った大規模開発例となるMOBIUSは,モバイルゲームの最先端には違いない。もうじき公開されるはずなので,その出来栄えに期待しよう。

サプライズ発表! 詳細は不明ながら,ユニティちゃんとのコラボが行われるとのこと
Unity

「MOBIUS FINAL FANTASY」公式サイト

  • 関連タイトル:

    Unity

  • 関連タイトル:

    MOBIUS FINAL FANTASY

  • 関連タイトル:

    MOBIUS FINAL FANTASY

  • この記事のURL:
line
4Gamer.net最新情報
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:06月22日〜06月23日