Topic 2
アニメーション&Unityワーク
さらなる事例を重ねてノウハウの共有を加速させる
キャラクターアニメーションとCGエフェクト制作を担当したモンブランとBIGFOOTにも話を聞いた。両社はUnityやUE4自体の使用経験はあるものの、「今回のようなアウトプットは初めてだったため、データの受け渡しや作業制限があるのでは」という懸念があったという。しかし、実際はVolca側の豊富な経験も手伝って通常のプリレンダーによる映像制作と相違なく作業を行えたそうだ(実質の作業期間は約3週間とのこと)。
ただし、カメラの設定については不測の事態もあった。「Mayaや3ds Maxなどの(プリレンダーを前提とした)3DCGソフトウェアではカメラは水平画角で計算する仕様ですが、UnityなどのリアルタイムCGツールでは垂直画角で計算する仕様になっていることに制作途中で気づいたのです(苦笑)。Mayaから書き出したカメラデータを単純に読み込んだのでは見た目が変わってしまうため、モンブランさんたちにはUnityへ読み込んだ後のカメラの再設定(垂直画角での付け直し)まで対応していただきました」(加治佐氏)。そのほかにも、3DCGツールでは1頂点のスキンウェイトに影響できるボーンの数に制限はないが、Unityではボーン数は4本が上限となる(ちなみにUE4は8本とのこと)といった仕様のちがいから、Maya上では問題ないデータもUnityに読み込むとエラーが起こるといった不具合も発生。「ボーンやセットアップの命名規則にも苦労しました。あらかじめ仕様をまとめていたのですが、制作が進む中で作業担当者が変わった際などに反映されないこともあったので、正しいPrefixが付けられているのか手作業で確認する必要もありました」とは、Volcaの張 中崢氏。このような細かなトラブルについても松成氏が不明な挙動の箇所のパスを調べることで早期解決することができたという。「終盤に近づくにつれて張さんからの相談も増えました(笑)。ですが、こちらでも作業データを逐次確認できていたのでスムーズに解決できました」(松成氏)。いずれは自動化できる部分のツール化を行い、外部パートナーも全てUnityベースで確認ができる域まで到達するのが理想だと語ってくれた。
プラットフォーム側からの追い風を受け、リアルタイムCGの裾野は今後さらに広がっていくことは確実だ。「今回、エフェクト表現はプリレンダーで作成したため、Unityに読み込んだ後に再レンダリングする必要がありました。エフェクトもリアルタイムCGベースで作成すればさらに効率良く制作できるはずなので機会あればぜひチャレンジしたいです。今後もプリレンダーでは不可能なスピード感で、クライアントのニーズにしっかりと応えつつ、自社IPも積極的につくっていきたいです」(加治佐氏)。
キャラクターアニメーション
スタジオキングから提供されたゲーム用のボディリグとコントローラ。もともと、ゲームのモーション開発用のリグだったため、その場でモーションを付ける用途に限定されている、複数キャラクターの切り替えに対応できないといった課題があったそうだが、前者はスタジオキングのリガーが、後者はマーザのエンジニアが各々を改良することでコストを抑えつつ映像用のリグとして活用された
BIGFOOT担当カットのアニメーション作業例
CGエフェクト
エフェクト作業の管理シート(Googleスプレッドシートを利用)
エフェクト表現の方向性をすり合わせるための資料。ゲーム用エフェクト制作とタイムスケジュールが合わず、リファレンスが存在しないものも存在したそうだが、Volcaの方で補足資料を作成し、ゲームと映像で見た目の印象に差異が生じないようにすることを心がけたという
リアルタイムCG特有のデータ管理
-
Unity上でのSVN(Subversion)によるバージョン管理の例。主に、Volcaとマーザ間での作業時に活用された
-
Volcaが外部パートナー向けに作成した仕様書の例。ゲームエンジンを使ったことがないパートナーと共同作業を行うにあたり、あらかじめ注意点をまとめた仕様書が共有ドキュメントとして用意された
本文でもふれたオブジェクト名のPrefix(接頭語)を表示させたUI。「今回はキャラクターのインポート設定にジェネリックタイプを使用していたため、オブジェクトのネームを統一するために何かと苦労しました。特に同種のキャラが複数出る場合は、chRezentonA、同B、同Cと命名されているものを全てchRezentonに改めるといった具合にMaya上で入っているPrefixを削ってUnityに読み込むという作業を半手動で行なっていました(ジェネリックタイプだと、オブジェクトや骨の名前が一致しないとアニメーションがUnity上で正しく再生されないため)。ですが、プロジェクト完了後にジェネリックではなくヒューマノイドタイプを利用すれば、名前が正しくなくても正常に動作することに気づきショックを受けました(苦笑)」(加治佐氏)。リアルタイムCGベースの映像制作が黎明期ならではのエピソードだ
ライティング&映像出力
Unity上のライティング設定例。1.キャラ、ライト、そしてカメラ用のシーン、2.背景用のシーン、3.マットペイント用のシーンという3シーンに分けられており、これらを同時に開き、キャプチャすることで最終的なルックの映像を書き出すことが可能となる(Mayaにおけるリファレンスの状態に近い)。実際のシーンでは、キャラとカメラの周辺にReflection ProbeとLight Probeが設定されており、環境光や反射を表現している
「Unity上のライティング設定例」(1つ上の画像)から背景とマットペイントのシーンを無効にした状態。バックグラウンドのHDRIによってライティングが施されていることがわかる。「現状、リアルタイムCGは影の表現に課題が多いのですが、間接光(GI)に関しては、LightProbe(近似法)でかなり近い印象を表現することが可能です」(加治佐氏)
Recorderによる動画キャプチャ作業。Recoderは、タイムラインから簡単にキャプチャするためのツールであり、OpenEXRやMP4など主立った形式にひととおり対応している(アセットストアから無償でダウンロード可能)