「ヒーリングっど♥プリキュア」後期EDのメイキング記事が公開されています。
https://cgworld.jp/feature/202102-HGPED.html
<1>プリキュアIPのマルチ展開を見すえたリアルタイムCG制作
制作は2020年3月よりスタート、リアルタイムCGはUnreal Engine 4によって作業が行われた。
大まかなスケジュールは下記の通り
- 3月:プリプロダクション/コンテや表現など演出プランの作成開始
- 4月:R&D/東映アニメーションよりアセットの提供を受けて検証、リアルタイムCGへの最適化
- 5〜7月:本制作
- 8月:最終仕上げ→O.A
GUILD STUDIOでは14名が制作に参加
- ディレクター:1名
- プロダクション・マネージャー:1名
- エンジニア:2名
- コンセプトアーティスト:1名(イメージボードを作成)
- モデラー:2名(キャラクターモデルの最適化を担当)
- アニメーター:4名
- FXアーティスト:1名
- 背景/コンポジット/編集:1名
- シーン制作:1名(UE4による画づくり)
プリプロダクション
UE4のシーケンサーを用いてオフライン編集を行うようにVコンテが作成された。手順としては、ダンスのモーションキャプチャデータをそのまま流し込み、大まかなレイアウトをとる。ショットごとにサブシーケンスを作成し、それをマスターシーケンスに並べた。
タイムシート作成
リストだと作業時に把握しにくいため、ムービーでタイムシートの内容を指定したものである。タイムシートとは、楽曲のセクション、小節、拍のタイミングを視覚化したリストである。
イメージボード
全シーンのイメージや演出案を記載した資料を用意し、東映アニメーションに確認してもらったという。曲のセクションごとのシーンや演出イメージなどが、この段階でほぼ決まっていたことが窺える。
<2>アニメ本編の魅力をリアルタイムCGへ継承させる
東映アニメーションからは、前期ED向けに制作された4キャラ分のモデルと、後期EDダンスのモーションキャプチャデータが提供された。提供されたモデルはプリレンダー用途で制作されているため、まずはUE4用に最適化の作業(UVの再展開、マテリアル数のコンパクト化(100以上から約17まで削減)など)が行われた。
東映アニメーションから提供されたキュアグレース
GUILD STUDIOにて、UE4向けに最適化した後のモデル。(1)モデルの整備と最適化、(2)アウトラインやセル表現のためのマスクMapの作成、(3)マテリアル数を削減するためにUVの最適化とパッキングを実施
提供されたモデルではPencil+ for Mayaが用いられていたが、UE4版Pencil+はまだ存在しないため、GUILD STUDIOがこれまでに手がけてきたトゥーン調ルックの知見を活かしてノーマルマップやデプスマップ、各種テクスチャを組み合わせて本編のルックが再現された。
キャラクタールックの変遷
3DCGエフェクト
後半に登場するシャボン玉の表現などの3DCGエフェクトは全てHoudiniで作成している。
背景制作
本作の3D背景はHoudiniによるプロシージャルモデリングで作成している。
ライティング
地面、空はライトを当てずEmissiveで色付け(色はマテリアルのみで変更可能)。黒くなっている箇所は、立体感とサブサーフェス、リムライトの効果がほしいためライトを当てている。
<3>リアルタイムCGだと気づいてもらえないという、嬉しい誤算も
アニメーションについては、キャプチャデータをベースにMayaで作業が行われた。
キュアグレースのフェイシャル用ピッカーUI。様々な顔に対応するため、フェイシャルだけで多数のリグが用意されている。細かくカテゴリ分けされているため、コントローラー/ピッカー共に使いたい部分だけ表示/非表示することができるようになっている。
全員でポーズを決めるショット。モーションキャプチャデータを編集するアニメーション作業は、全てMayaで行われた
手のポーズ。提供されたキャプチャデータの手のポーズが綺麗だったため、ベルを持つ動きや細かな調整を除き、できるだけ基のデータを生かすようにされた。
セカンダリ修正の例。セカンダリはツールで揺れを作成した後、めり込みを手作業で修正していった。多くのパーツが揺れるため、1フレームごと送りながら、めり込み有無の確認作業が行われた。
目のハイライト調整例。目を開けているときは基本的に非表示(パラメータは0)にしておき、目を閉じた時にハイライトを表示させている。大きなハイライトの位置が異なるものが2種類用意されており、キャラクターが映る角度によって任意のハイライトを表示させている。
影やハイライトの情報をUE4へ書き出した例。Mayaシーン内にVisibility情報のみを書き出すためのジョイントを用意し、FBXとして書き出しシーケンサーで反映する。