【Unite 2016 Tokyo】『FFグランドマスターズ』MayaからUnityに橋渡しする際の最適化ツールやコスト削減について事例を交えて紹介


2016年4月4日~4月5日の2日間、東京・お台場にて開催された、国内最大のUnity公式カンファレンスイベント「Unite 2016 Tokyo」。日本では2012年から始まり、今年で5年目となるUnite 2016 Tokyoは、UnityユーザーによるUnityユーザーのための最新の情報と実践的な講演、Unityに関わりのある様々なワークショップ、開発者同士の交流を体験できるイベントだ。
 
本稿では、本イベントの1日目(4月4日)14:30より行われた、万人向け講演「『ファイナルファンタジーグランドマスターズ』MayaからUnityへの橋渡し」についてのレポートをお届けする。
 
なお、本講演には、スクウェア・エニックスの渕上貴史氏、クルーズの野澤圭介氏らが登壇。スクウェア・エニックスとクルーズが提供する『ファイナルファンタジーグランドマスターズ』において、MayaとUnityを使用した、パフォーマンス向上のためのシェーダー、各ツールの事例や3Dサポートエンジニアの重要性についての話が展開された。
 
【講師紹介】

・株式会社スクウェア・エニックス 渕上貴史氏(写真左)
・クルーズ株式会社 野澤圭介氏(写真右)


 
●『ファイナルファンタジーグランドマスターズ』とは
 

『ファイナルファンタジーXI』の世界観ををベースにしたスマホ向けMMORPG。本作に登場する3D化された背景やモンスターについては、原作からの流用ではなく、クルーズが新規に開発を行っているという。
 
●サポートエンジニアとは
ゲーム開発において、デザイナーの業務を技術的に理解し、デザイナー同士、あるいはデザイナーとエンジニアとの間を繋ぐポジション。日本では「テクニカルアーティスト」とも呼ばれる。主な業務は以下の通り。
 
・MayaなどのDCCツールの機能拡張、業務効率化ツールの開発
・シェーダー開発、パイプラインやワークフローの構築
・次世代技術の先行検証、開発
・エンジニアとデザイナー間の橋渡し
・負荷分析、描画パフォーマンスチューニング
など
 
 

■「ファイナルファンタジーグランドマスターズ」MayaからUnityへの橋渡し

 
本講演で野澤氏は、下記の3つのテーマに分けて話を進行した。
 
①ワークフローとパイプライン
②QCツールによるコスト削減
③グラフィクスパフォーマンスの最適化 

 
①ワークフローとパイプライン
 
ここでは、開発において、Mayaの作業からUnityへ組み込むまでのワークフローやプロセスの際の工夫、その橋渡しをするために作成したDCCツールのスクリプトやプラグインを紹介した。
 
▲クルーズのアートワークフロー。Photoshopでテクスチャを作成した後にOPTPiXで減色や最適化を行うという一般的な方法を用いているという。
 
また、本作では、キャラクターのリダクションにSimplygonを使用しており、シーンに合わせてポリゴン数の異なるキャラモデルを用意している。バトルでは、モンスターやプレイヤーの表示数が少ないためポリゴン数を増やしてリッチに、フィールドでは、最大20体のキャラクターを表示させる必要があるため、ポリゴン数を減らして表現しているとのことだ。
 

 
背景デザインは、フィールドシーンをアイコン的なブロックタイプのデザインでパターン化して容量と工数削減に繋げた。
 

▲フィールド背景はパターン化、バトル背景はリアルに表現という手法は、従来の『ファイナルファンタジー』シリーズにも見られたことから、違和感がないのではと考え採用に至ったという。
 

そのほか、キャラクターのリグ作成には、Maya専用のプラグイン「AdvancedSkeleton」を使用。野澤氏は、フリーで使えることが1番の魅力としながらも、手軽にリグを作成できることが時間短縮になっているなど複数の利点を紹介してくれた。
 

▲本ツールでは、骨の位置を決定した後は自動でウェイト、リグを作成してくれる。
 

続いて、「MayaカスタムFBXプラグイン」から分かるパイプラインの事例を解説。Mayaで作成したFBXのマテリアルアニメーションをUnityへ組むこむためのエクスポート拡張プラグインとインポーターの話を展開した。『ファイナルファンタジーグランドマスターズ』では、バトル中のエフェクトにパーティクルシステムを使用しているが、当時、Shurikenではサイズの異なるモンスターに適用できなかったことから、Mayaを使ってポリゴンメッシュで作成しているとの話。
 

▲『ファイナルファンタジー』のエフェクトには演出的なものが多く、細かい動きに合わせた調整となるとMayaを使用した方が効率化も図れたと野澤氏は語る。
 
また、MayaからUnityへエクスポートする際にマテリアルアニメーションのサポートがないことから、「Maya FBXエクスポート拡張プラグイン」を作成。Mayaで作成したアニメーション情報をUnityでそのまま再現可能にした。さらに、「Unityカスタムインポーター」を作成し、カラー、アルファ、コントラスト、UVオフセット、UVスケール(タイリング)、UV回転など、プロパティのアニメーションクリップへの書き込みを可能にしている。
 
ここからは、同じプラグインでも防具とキャラメイク用に作ったものの話へ。本作では、プレイヤーデータは大量のパーツ(現在、約2000ほど)で構成されており、そのままひとつひとつエクスポートするには量が膨大なため、大量の工数を要してしまう。
 

▲キャラ用メイクパーツが、顔(髪、耳、顔、眉、目、タトゥー)、ボディ(体、手、足、尻尾)の計10パーツ。防具パーツが、頭、体、手首、手、足首、足の計6パーツ。
 


▲髪の毛は、トップ、フロント、バック、髭の4パーツに分かれている。これは、様々な形状の防具(兜)との干渉を防ぐためとのこと。
 
そんな悩みを解消するべく、Mayaのシーン内にあるパーツを選択し、パーツごとに単体のFBXとしてエクスポートするプラグインを作成。以下の動作もオートメーションで機能するよう設定されているという。
 
・パーツ同士の頂点がアタッチされていないものは修正
・命名規則に沿った正しいパーツ名かをチェック
・不正なトライアングルエッジの修正
・フリーズトランスフォーム
・不正な法線の修正

 
②QCツールによるコスト削減
 
2つ目のテーマは、QCツールによるコスト削減について。品質管理チェックツールを使用することで開発の効率化、コスト削減に繋がった事例を紹介した。これは、先述した通り、大量のパーツやモーションを本番環境でチェックしていると膨大な労力と時間が必要となってしまうことが根幹にある。
 

▲「プレイヤービューア」でUnity上でのチェックを可能に。プレイヤーのボディは種族ごとにデータを持たず、すべて同じ素体を使用している。体系や骨格の異なる種族も参照するボディのデータは同様で、Unityのボーンスケール値を変更することで表現している。
 

▲デザイナーがUnity上でウェイトの不具合や各パーツ同士の干渉などをチェックできる。性別や種族はもちろん、アニメーションクリップまで、一目でキャラメイク用のアバターをすべてチェックできることがデバッガーやQCチームの工数削減に繋がっている。
 

▲現在、約150体実装されているモンスターのモーションとエフェクトを同期してチェックできるよう「モンスター&エフェクトビューア」も作成。発動タイミングや配置のなどが素早くチェック可能となった。
 

▲「マップビューア」は、選択した背景を素早く表示。プレイヤービューアやモンスタービューアとの併用も可能なため、背景に配置しながらの確認が可能となっている。
 
そのほか、FBXデータを一括自動処理でPrefab化するバッチングツールを紹介。例として、約400個のPrefab化に要していた期間が約1週間から約3時間まで縮まったとのこと。
 

▲「Prefab Creator」、「Prefab Updater」、「Asset Renaming」の3つの機能が搭載されており、アニメーションやジオメトリを修正・更新した際に変更箇所を探索してPrefabのアニメーションクリップを自動更新したり、アセットオブジェクトの一括リネーミングができる機能も備わっている。
 

▲「FBXヴァージョンツール」では、アセットバンドル化の際にエラーを起こさないよう前もってFBXのヴァージョンが2012で統一されているかをチェックできる。以前は手作業のためミスも多かったが、本ツールの導入がミス減少になっているという話だ。
 

③グラフィクスパフォーマンスの最適化
 
最後に野澤氏は、クロスプラットフォーム(iOS、Android)と、複数の端末(高~低スペック端末)で、快適な動作を担保しつつ求められた表現の実現を可能にするカスタムシェーダーについての紹介を行い、講演の締めとした。
 
『ファイナルファンタジーグランドマスターズ』サービスイン時の対応端末
■対応OS要件
Android4.0以上、iOS7.1以上
■対応端末
Android約160端末、iPhone5以上 
※推奨端末は約100端末で公開。
 


▲モンスター討伐後の消滅時に使用している「Alpha Fade」。本作では、容量削減のためにモンスター用のテクスチャにアルファ情報を持たせていないことから、数値を透過フェードさせるシェーダーを作成したとのこと。
 

▲降臨モンスター討伐後の消滅時に使用している「Pattern Dissolve Fade」。ファミコン時代の『ファイナルファンタジー』シリーズのように徐々に消滅していく表現が欲しいとの要望を受けて作成したという話。パターンテクスチャ1枚ですべてのボスモンスターに適用できるため、モンスターのテクスチャにアルファ情報を持たなくていい利点がある。
 

▲本作では、キャラメイク要素として肌の色を各種族数パターン用意する必要があったため専用のシェーダーとして「Pattern Dissolve Fade」を作成。肌の色をシェーダーで管理している。明暗情報用のグレースケールのベーステクスチャと、カラー情報を付与したくない部分のマスクテクスチャのみで表現しているため、テクスチャ容量削減にも繋がっている。
 

▲ベースのグレーテクスチャの明暗部分を抽出し、明るい部分(Suface)と暗い部分(SubSurface)のカラーを設定する事で自然な色味を実現。
 


▲ベーステクスチャとスクロール用テクスチャを用意し、疑似スペキュラライティングでクリスタルを表現。このシェーダーとスクリプトで、2つのUVセットとスクロールアニメーションを読み込んでいる。
 

▲川や流れや炎の揺らめきなどのシームレステクスチャをUVスクロールで表現。Offset値でアニメーションさせる方法もあるが、ここでは低容量で低コストのスクリプトを採用しているとのこと。



​■関連サイト
 

Unite Tokyo 2016



■『ファイナルファンタジーグランドマスターズ』
 

App Store



©2015SQUARE ENIX CO., LTD. All Rights Reserved. Developed by CROOZ, Inc.
株式会社スクウェア・エニックス
https://www.jp.square-enix.com/

会社情報

会社名
株式会社スクウェア・エニックス
設立
2008年10月
代表者
代表取締役社長 桐生 隆司
決算期
3月
直近業績
売上高2428億2400万円、営業利益275億4800万円、経常利益389億4300万円、最終利益280億9600万円(2023年3月期)
企業データを見る
クルーズ株式会社
http://crooz.co.jp/

会社情報

会社名
クルーズ株式会社
設立
2001年5月
代表者
代表取締役社長 小渕 宏二
決算期
3月
直近業績
売上高140億円、営業利益6億4400万円、経常利益6億2800万円、最終利益2億5400万円(2023年3月期)
上場区分
東証スタンダード
証券コード
2138
企業データを見る
ユニティ・テクノロジース・ジャパン

会社情報

会社名
ユニティ・テクノロジース・ジャパン
企業データを見る