【レポート】Fate/Grand Orderにおける、ディライトワークス流Unity活用術 - UniteTokoy2016

Fate/Grand Order

NewImage
IMG 5807

デザイン編 - バトルキャラ制作

まずは、デザイン編として安生さんから、キャラクターの制作についての話がありました。

フロー

立ち絵のコンテをTYPE-MOONさんに作ってもらう。 そこから、線画 => 着色 =>モーション・テクスチャにしていく。 最終コンテはTYPE-MOONさんとやり取りをして最終的に落としこんで決定する。

修正作業

動画を撮影して、モーションを修正を行っている。 作成をしたキャラのモーションを動画に撮影し、アニメーターの方に見てもらい遷移・作画をチェックしてもらっている。 モーション作成者には、アニメ制作の知識とUnityの知識が必要になる。

バトルキャラは ビルボード(常にカメラ(視点)を向くように表示)の セルルック(セル画(2D)で制作されたアニメ)でできた リミテッド・アニメーション(動きを簡略化したアニメーション)で表現。 「ため」・「動き出し」・「伸び」を意識して作成。 Mayaの「function Curve」にアニメーションを落としこんで調整。

モーションの共通化

当初は、キャラクターのタイプごとにモーションを共通化していた。 ただ、運営をしていくに様々なキャラクターの熱い思いをいただいているうちに、今後登場するキャラは共通化しないでいこうという話になり、現在は各キャラごとにモーションを作成している。 実際は非共通化

実装編

実装部分について荻野さんからUnityの使い方などの説明です。 荻野さんは約25年、ゲーム開発経験がある方です。

バトルキャラ・フォーム編

バトルキャラ編として、キャラクターどのようにつくられているか。 ゲーム内のキャラクターは結構良く動く、またエフェクトも多用されています。

開発当初は一対一で戦う形式を想定して、どのように実装をすればいいのか考えた。 その中でまず Spineを使用してみたが、結局は不採用に。 理由は3D空間で派手なアクションを作りづらい、また立体的な動きができなかったため。

最終的にはMayaを使い、2Dのキャラをビルボードで作っている。 キャラクターは、メッシュを重ねあわせて平面ぽくしている。 ただ、立体的な動きが欲しいので、武器は立体的なモデルで作成している。 髪の毛などはループアニメを使って実装

インビジブルエア問題

武器などを特殊なエフェクトをつけて表現したい。 モデルの中にパーティクルを埋め込むことができなかった、知識がなかったので。 この問題は、プレハブを後乗せして解決、ダミーノードを埋め込んで、そのノードにエフェクトをぶら下げるスクリプトを書く。 プレハブなので動きやすい。

進化形態をデータを増やさずに持ちたい

バトルキャラが3段階進化する使用。 個別にデータを用意すると容量が重くなる。 データを増やさずに見た目を変えたい。

解決策は、1データの中に3段階の進化を詰め込む。 使うボーンは極力共通化。 結果、キャラクターデータに全ての進化画像が重なった状態で、どれを出すかはプログラムで切り替えるようにした。

動き

バトルキャラの動きをユニークにする必要がある。 ゲーム内には「Quick」 「Arts」 「buster」の3つの動きがある。

PlayMakerというAssetを使って解決。 1つの状態があれば、次にどの状態にうつるかを設定できる。

  • デザイナーがMayaでキャラクター作成
  • デザイナーがエフェクトを作成
  • PlayMakerのActionをプログラマが作る

カメラの移動もPlayMakerで設定できる。 攻撃のタイミングでエフェクトを出せる。 ただ、設定が結構面倒くさい。

PlayMakerの柔軟性とUnityエンジニアのセンスでバトルキャラが生まれる。 PlayMakerの力を引き出すUnityエンジニアの力は重要。

Playmaker - Asset Store

宝具編

宝具とは必殺技のこと。 キャラクターごとに全て用意しないといけない。 これは、PlayMakerで作成できなかった。 理由、どこで何が起こっているのかわかりにくい。

uSequencerというAssetを使って解決。 uSequencerはカットシーンエディタ。Flashライクに使える。 タイミングをタイムライン上でおいて、音を鳴らしたり色々できる。 目で見てわかるのが良い。

演出の作り方

エフェクト、カットインなど宝具演出に必要なモノをシーンの中に全部おく。 uSequencerに割り当てて、後はひたすら演出のタイミング通りに動かす。

uSequencer

ワークフロー

独自の環境で作り、デザイナーだけで宝具演出が作れるようにした。 作りは簡単で、実行ボタンを押せば宝具の演出が動き出すといった簡単なもの。 Unityエンジニアが実装。 ただ、独自環境と本番環境の際により、うまく動かない時がある。その場合は、Unityエンジニアが間に入る。 どうしてもuSequencerだけでは難しい演出はプログラマスクリプトを組んで対応。

・基本(デザイナー)

  • アニメーション
  • 音声再生
  • 親子接続
  • 背景変更。
  • カメラを動かす
  • 色変更。

・応用(プログラマ

  • 画面をグレーにする。
  • キャラを変更する
  • 宝具を変更する

デザイナーのみでガンガンつくる。 Unityエンジニアが隙間を埋める。 いざというときにはプログラム対応していく

こぼれ話

FPS:30 使用メモリ:100m ~ 200m OSバージョン:Android4.1・iPhone5 ポリゴン数は30000 ドロコール100程度

使用アセット

最後に「 様々な要望に耐えられる設計にしておきましょう」とのことでした。

感想

[Fate/Grand Order]はやってこの無いゲームでしたが、iOSトップセールスのランキングしている作品なので、uniteのタイムテーブルが発表された時に是非見てみたい講演の一つでした。 人気アニメのIPゲームなので、キャラクターのデザインやモーションをかなり追求して作られているのは流石だと思いました。 通常、モバイルなので、そこまで動きにこだわって見ている人も少ないと思うのですが、そのあたりに拘って作られているのが、人気の秘密なのかもしれません。 この演出等に使われているPlayMaker・uSequencerに関しては、名前は聞いたことあったのですが、このような演出が作れるのだと勉強になりました。 個人としてもぜひ触ってみたいと思います。

その後、実際にゲームをDLして遊んでいるのですが、インゲームだけではなく今回話しに出ていなかったUIなどもとても綺麗にできているのが印象的でした。

IMG 5808

また、こちらの講演はとても人気があり、立ち見の監修もいたほどです。 私は、前もってS席チケットを買っていたので、いっちゃん前で見ることができました。

IMG 5809