【レポート】「ファイナルファンタジーグランドマスターズ」MayaからUnityへの橋渡し #unite2016tokyo

スライド

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



ファイナルファンタジーグランドマスター

FF11ベースにしたMMOの世界観のゲーム。 背景やモンスターで3Dを使っている。 クルーズの方で新規で作成をしている。

サポートエンジニア:デザイナーとエンジニアを繋ぐ、テクニカルアーティストのような役職 1名専属でいる。 テクニカルアーティストではなく「サポートエンジニア」なので、この人が命名

  • mayaのDCC機能拡張
  • シェーダーの開発
  • 次世代の選考検証
  • パフォーマンス・チューニング

DCC:デジタルコンテンツを作るために使用するソフトの事

パイプラインやワークフローの開発

MayaなどのDCCを利用して、Unityへ組み込む。

Workflow2016t

Simplygon:ポリゴン数を減らしている。フィールド・先頭シーンによってポリゴン数の違うキャラクターを使っている。 バトルとフィールドで背景を異なるデザインで作成。 リグ作成には、「 AdvancedSkeleton」を使用。フリーだが使いやすい。

BattleandFieldchara

Automagic 3D optimization - Simplygon Advanced Skeleton | Maya Rigging Tools

カスタムFBXプラグイン

パーティクルは shurikenではなく Mayaで作成、ポリコンメッシュで使っている。 shurikenでは当初サイズの変更ができなかったので、Mayaで作成をした。 演出的な観点からも。 Unityへ移動した際、アニメーションがデフォルトでついてこないので、Unityカスタムインポーターを作った。

EffectScreen

防具キャラメイク

キャラメイク用パーツ、10パーツ。 防具、6パーツ。かなりの2000種類ぐらいある。 髪の毛 4パーツ。 大量にあるパーツを1個1個ではなく、一括で吐き出してくれるプラグインを作成。

QCツールによるコスト削減

品質管理ツール。 プレイヤービューアーの作成:本番環境でチェックするのが大変。プレイヤービューアーを作ってデザイナでもチェックできるようにした。 Unityのボーンスケール値を変えることで、複数の種族に対応。 モデルの不具合をコンポーネントでチェックが可能にする。 デバックのチームにも工数がかからなくなった。

FfChara

モンスターエフェクトビューア

エフェクトの確認。 アニメーションやエフェクトが確認できる。 修正があればFBXに吐き出してチェックをできる。 同じような、マップビューアーもある。

バッチングツール

Mayaで作成したFBXのデータをプレハブ化に時間がかかる。 一括でプレハブ化できるツールを作成 ドラッグアンドドロップで保存先、マテリアルなどを選択すれば簡単にプレハブが作成できる。 リネーム機能も搭載。 ポジションなども自動的に保存してくれる。

FBXバージョンチェック

AssetBandleでMayaのバージョンが違うと不具合が起きたので、Mayaのバージョンを2012で統一するために利用。

グラフィック巣パフォーマンスの最適化

iOS/Androidクロスプラットフォームでの対応。 シェーダーを全ての端末に最適化。

Alpha Fade Shader

テクスチャにアルファをもっていないので、シェーダーで管理。 アルファを持たないのは重いから。

Pattern Dissolve Fade Shader

FF特有の下から消えていく消滅に利用。

キャラメイク用のスキンカラーはシェーダーで設定をしている。 明るい部分と暗い部分のカラーを設定することで自薦な色みを再現。

Crystal Shader

擬似スペキュラライティングでクリスタルを再現。 さらに仕上げには擬似スペキュラを採用。スペキュラとは、ライトとカメラの角度と実際のポリゴンの差分などにより、照り返しを入れること。ただ、実際にそれを施すと、ライトの角度・距離・色味を全て計算することになり、処理不可が高くなってしまう。そのため、擬似スペキュラと呼ばれる技術として、色味を無くしてカメラの方向を調整して、スペキュラっぽく見えるように施し、処理不可を軽くしたという。リアルタイムで動くため、この擬似スペキュラの導入により金属っぽい質感が出るようになった。 新作『リトル ノア』の制作秘話を吉田明彦氏と皆葉英夫氏らが語る…

Ffcyestalbase

TextureScroll

火のゆらめき、水の流れなどをUVスクロールで表現。

Q&A

Mayaの2012について

Mayaは2012が一番安定している。 バージョンが高くても設定で書き出すときにバージョンの設定ができる。 手作業だとミスが出るので2012を使っている。

エフェクトやキャラクターに関して、過去の資産を流用しているのか?

エフェクトに関しては、使い回す。 プレイヤーは新規で作成をしている。

UVScrollについて

スクリプトを読んでしまうことで重たくなるのでは、 一つだけしか利用しているないので、そこまでではない。

EffectをMayaで作成

FBXを経由して、アニメーションなどの情報はのっかっている。 ただ、Unityにインポートした時の情報が限られているので、自作でその情報を取り出せるようにしている。 この辺り、自由にエクスポート、インポートできるようにしている。

サポートエンジニアについて

ファイナルファンタジーグランドマスターズでは一人。 エンジニアは現在は10名近く在籍。 デザイナーは6~7名。

各種ツールについて

今回説明したツールに関しては外部に公開する予定はない。 これらのツールに関しては開発途中、途中で必要なツールを作っていった。 アセットの作成だけでは1年ぐらい時間がかかった。

スクエニのサポートについて

途中途中で製品を見て、FFらしさを追求してアドバイスをした。 チェックをしたFF11を開発したチームが行った。

最後に

個人的にMayaとUnityについて興味があったので、今回のUniteで1番人気であったと思われるCygamesさんのセッションではなくこちらを見に行きました。 セッションに関しては、色々なツールやワークフローを知ることができ、大体こうやってできているのかがわかりました。

ただ、個人的に残念だったのが、今回のツール等に関して具体的にどのように作成したなどすぐに実践できることがほとんどなかったことです。 このセッションはグリーンでUnity初心者でも楽しめるはずだったのですが、おそらくこの話を聞いて知識は増えるかもしれないのですが、すぐに役に立つことは少なかったような気がします。

結局、実際に動いている具体的なゲームタイトルになるとほぼ自社製の内製ツールの話になるので、参考にする部分がとても少ないですね。 Unityの話というよりは内製ツールの話。