デザイン編 - バトルキャラ制作
まずは、デザイン編として安生さんから、キャラクターの制作についての話がありました。
フロー
立ち絵のコンテを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つの状態があれば、次にどの状態にうつるかを設定できる。
カメラの移動もPlayMakerで設定できる。 攻撃のタイミングでエフェクトを出せる。 ただ、設定が結構面倒くさい。
PlayMakerの柔軟性とUnityエンジニアのセンスでバトルキャラが生まれる。 PlayMakerの力を引き出すUnityエンジニアの力は重要。
宝具編
宝具とは必殺技のこと。 キャラクターごとに全て用意しないといけない。 これは、PlayMakerで作成できなかった。 理由、どこで何が起こっているのかわかりにくい。
uSequencerというAssetを使って解決。 uSequencerはカットシーンエディタ。Flashライクに使える。 タイミングをタイムライン上でおいて、音を鳴らしたり色々できる。 目で見てわかるのが良い。
演出の作り方
エフェクト、カットインなど宝具演出に必要なモノをシーンの中に全部おく。 uSequencerに割り当てて、後はひたすら演出のタイミング通りに動かす。
ワークフロー
独自の環境で作り、デザイナーだけで宝具演出が作れるようにした。 作りは簡単で、実行ボタンを押せば宝具の演出が動き出すといった簡単なもの。 Unityエンジニアが実装。 ただ、独自環境と本番環境の際により、うまく動かない時がある。その場合は、Unityエンジニアが間に入る。 どうしてもuSequencerだけでは難しい演出はプログラマがスクリプトを組んで対応。
・基本(デザイナー)
- アニメーション
- 音声再生
- 親子接続
- 背景変更。
- カメラを動かす
- 色変更。
・応用(プログラマ)
- 画面をグレーにする。
- キャラを変更する
- 宝具を変更する
デザイナーのみでガンガンつくる。 Unityエンジニアが隙間を埋める。 いざというときにはプログラム対応していく
こぼれ話
FPS:30 使用メモリ:100m ~ 200m OSバージョン:Android4.1・iPhone5 ポリゴン数は30000 ドロコール100程度
使用アセット
- NGUI
- UniWebView 2
- PlayMaker
- uSequencer
最後に「 様々な要望に耐えられる設計にしておきましょう」とのことでした。
感想
[Fate/Grand Order]はやってこの無いゲームでしたが、iOSのトップセールスのランキングしている作品なので、uniteのタイムテーブルが発表された時に是非見てみたい講演の一つでした。 人気アニメのIPゲームなので、キャラクターのデザインやモーションをかなり追求して作られているのは流石だと思いました。 通常、モバイルなので、そこまで動きにこだわって見ている人も少ないと思うのですが、そのあたりに拘って作られているのが、人気の秘密なのかもしれません。 この演出等に使われているPlayMaker・uSequencerに関しては、名前は聞いたことあったのですが、このような演出が作れるのだと勉強になりました。 個人としてもぜひ触ってみたいと思います。
その後、実際にゲームをDLして遊んでいるのですが、インゲームだけではなく今回話しに出ていなかったUIなどもとても綺麗にできているのが印象的でした。
また、こちらの講演はとても人気があり、立ち見の監修もいたほどです。 私は、前もってS席チケットを買っていたので、いっちゃん前で見ることができました。