[PR]
2021年11月8~12日にオンラインで開催された秋の恒例イベント「CGWORLD 2021 クリエイティブカンファレンス」では、テレビアニメ『蜘蛛ですが、なにか?』の制作に携わったexsaが登場。「『蜘蛛ですが、なにか?』あにメイキングセミナー」と題して、同アニメのワークフローに沿った各工程の解説や事例などを紹介するセッションを行なった。
なお、本セッションは、2021年9月よりAMD CPU搭載の「Endeavor Pro9050a」をリリースしたエプソンダイレクト提供でお送りする。安定性とパフォーマンスを兼ね備えた同製品の検証をexsaが徹底検証している。ぜひ検証結果もご覧いただきたい。
-
AMD(Advanced Micro Devices)
50年以上の歴史をもつアメリカの半導体企業。「Ryzen」や「EPYC」シリーズなどCPUとともに、「Radeon」シリーズによるGPUの両方を開発する。CPUとGPUを1つに統合したAPUも手がける。さらに、高速レンダラーの「Radeon ProRender」も開発している。
www.amd.com/ja
-
エプソンダイレクト「Endeavor Pro9050a」
高負荷なクリエイティブワークにおいてもストレスのないAMD Ryzen 5000 シリーズ・プロセッサーを標準搭載。最新のAMD B550チップセットを採用し、PCI Express Gen4にも対応。クリエイティブ制作に合わせ、NVIDIA GeForce RTX 3090 24GBからNVIDIA Quadro RTX 4000など、豊富なラインアップから選択可能。重量化するグラフィックスボードを上下で挟み込むように固定する「ボードロックブラケット」の採用と、最も負荷がかかるPCIスロットの固定を「ネジ固定方式」にして信頼性を高め、荷重による端子の歪みや接触不良による動作不良を防ぐ構造にした。公的な規格の基準を満たすだけではなく、長年培った製品づくりと当社の基準を満たし、日々品質を高める活動により、圧倒的なパフォーマンスと長期稼働をご提供。安定したクリエイティブ環境を実現している
製品URL:shop.epson.jp/pc/desktop/pro9050a
-
『蜘蛛ですが、なにか?』
2021年1月~7月に放映された『蜘蛛ですが、なにか?』は、主人公が最弱クラスの魔物である"蜘蛛"という、一風変わったなろう系ライトノベルを原作とするテレビアニメ。作品中ではおおまかに「蜘蛛パート」と「人間パート」に分かれており、exsaでは蜘蛛パートでの3D映像を担当。制作期間は約1年2ヵ月で、3DCGの総カット数は2698カット、総尺数は242分48秒(1話20分で換算すると約12話分)となった
今回のセッションでは、3DCGディレクター 3DCG監督の山口一夫氏、3DCGコンポジットディレクターの山﨑雄太氏、3DCGアニメーションディレクターの内田崇仁氏、3DCGモデリングディレクターの小田慎一氏、ツール開発を担ったゲーム・ツールプログラマーのコカー・ジェローム氏が参加した。
設定画にない状態も想定してバランスの良い形を探る
トークセッションでは、1番目として小田氏が「モデリング」について紹介。最初に「キャラクター制作」にフォーカスし、主人公の「蜘蛛子」やモンスターなどのモデル制作のながれについて説明した。
モデル制作ではまず、キャラクターやモンスターの設定画を基に大まかなシルエットを作るところから開始し、徐々にディテールを追加していく。最終的には「ジオメトリにターボスムーズをかけてスムージングする」ため、「設定画にある情報を細かく拾えるようにジオメトリを編集する」(小田氏)という。
▲蜘蛛子、地竜、アークタラテクト、地龍アラバの設定画
さらに、予めの作業として小田氏が大事にしたのは「設定画の色調のみで構成された2階調ないしは3階調のマテリアルを作成し、アサインすること」と「Pencilラインの設定」の2点。「実線や手書きの線情報(補助線)をどこまで再現するか」を踏まえ、レンダリング画面と設定画を見比べながら、UV/テクスチャに着手する前段階で再現性としての落としどころを探ったそうだ。これにより、後工程ではテクスチャマップのみを作成し、各色調のスロットにマップを差してテクスチャとマテリアル、Pencilの設定を微調整するだけで「モデルやルックがほぼ完成する」ことになる。
▲実線・補助線の作成例。細かなラインの再現については、ジオメトリ、スキンに対して90度に差し込んだ板ポリを配置。Pencilラインの設定に交差を入れることで、設定画にある線情報を再現した
▲色の設定に関する仕様は、色指定表をビットマップとして読み込み、クロップから座標を設定し、色指定表から色を拾うように設定。各ロケーションなどに応じた色指定は、それぞれの色指定表に適宜差し替えることで対応した
また、3Dモデルの制作では、例えば蜘蛛子の設定画がうつぶせ状態のみだったことから、小田氏は「直立した状態を想定してバランスの良い形を探る必要があった」とのこと。当然、そこはモデリングにおいて苦労した点ではあるのだが、同時に「やりがいを感じる点でもあった」と話す。
▲蜘蛛子やモンスターの3Dモデル。蜘蛛子に限らず、他のモンスターでも「設定画にない派手なアクションやポーズを取らせたときのバランスやシルエットを探りながら、モデルを完成させた」(小田氏)そうだ
次に、リグデータの作成について。本作では、大きさや骨格の異なるさまざまな種類の生物が登場するため、モーションを付ける際の利便性を考慮したモデリングを作成する必要があった。そのため小田氏は、リグの構成で「モーション側と意見交換をした」ほか、動かした後での「調整にも何度か対応した」と語った。
また、それぞれのキャラクターは姿や大きさ、動きにちがいがあるため「リグ設定はCATとBipedを使い分けた」と説明。さらに補足として、蜘蛛子は進化過程やバリエーション全てに共通したリグを設定。リグを統一することで、形態が変わっても「蜘蛛子のアニメ的な動きを維持できた」ほか、「効率化もはかれた」とのことだった。
▲各キャラクターのリグデータのイメージ。リグを使い分ける基準としては、蜘蛛子のような多足モンスターはCAT、それ以外はBipedを選択した。ただし、それでも対応できない動きが発生したモンスターについては、フルボーンのデータを別途用意した
▲アニメの動きは多様でバラエティに富むため、蜘蛛子のリグ構成は「かなり細かく調整できるように仕込んだ」(小田氏)
小田氏はもう1つ、「3DBG(3D背景)制作」についても説明した。小田氏によれば、通常の背景制作ではロケーションの設計からアセットの作成、ルックの仕上げまでに「かなりの時間を要する」という。しかし、本作では「製作期間を考慮し、短期間で効率の良いモデルデータを作成・提供する必要があった」ことから、まず市販のアセットを購入し、それを「アニメの背景として成立する素材に加工し、それを流用する」という方法を選択した。
これにより、「配置から置き換えまで、設計にかかる時間が短く済んだ」や「演出で使用するアセットやプロップを短期間で作成できた」などのメリットが生まれたと小田氏は語る。さらに、さまざまなカットで利用できる「汎用ステージ」も、アセットがバラされた状態で配置されたものを作成したため、カット制作の際に「背景を自由に構成・変更できた点もメリットだった」と付け加えた。
▲アニメ前期のメイン舞台となった「エルロー大迷宮」。雰囲気の異なる「上層」、「中層」、「下層」の3つの層で構成されている
▲汎用アセットを全ての層で共通して使用。さらに、各層で必要となる別要素のみをユニークアセットとして1からモデルを作成することで、作業の効率化をはかった
ルックづくりに関しては、CGとアニメ作画のどちらにもなじむように「中間的なルックを目指した」と小田氏はいう。ただし、基本的には全ての層で汎用アセットを使用しているため、ルックづくりではコンポジットを主体として「各層の特徴や雰囲気、美術設定のイメージに近づけた」そうだ。
また、アセットの制作期間を短縮できたことで「設計とルックづくりに時間を割くことができた」と小田氏は分析。制作において非常に効率的に働いたことから、アセット購入は「正解だった」と結論付けた。
▲エルロー大迷宮の各層の3Dモデルに対して、必要な要素(エレメント)のレンダリング/コンポジットまでを行ったイメージ画像。出力したエレメントの数は各層で異なるが、エレメントを使用してベースとなるコンポジットデータを作成することで、各層の印象や空気感を設定に近づけた
蜘蛛でありながらも、人間のような雰囲気を出す必要があった
2番目は、内田氏が「モーション制作工程」を説明した。まず、アニメのCG制作では、全編フル3DCGである場合を除き、作画とCGが同一カットに混在するケースが多々ある。そこで本作では本格的な制作に入る前に、各カットを「作画Only」、「3DCG Only」、「3DCG+作画」の3種類に分類してから作業を進めた。内田氏によれば、これが円滑な進行の助けとなり「制作にかけるリソースを適切に管理/調整できた」そうだ。
次に、モーションが担当する作業には、大きく分けて「レイアウト」、「アニメーション」、「原図(※今回は割愛)」の3つがある。この3つの行程の後に、コンポジット工程にバトンタッチしていくイメージとなる。
レイアウト工程では、「キャラクターの視認性に考慮した配置」、「カメラワークの推移」、「背景とキャラクターの占有率のバランス」、「魅力的なキーポーズの模索」、「画角/アイレベル/mm数/アングルなどのカメラ要素」などに配慮しつつ、カットのながれを構成する。アニメーション工程では、「レイアウト工程のブラッシュアップ」、「フェイシャルの作成」、「中割りの作成」、「揺れモノの作成」、「コマ打ちの精査」などを行い、動きの要素を固める。
▲後期オープニング カット23のレイアウト動画とVコンテ。敵キャラクターのアリエルと蜘蛛子のポジションが代わる代わる推移していく構成となるため、「それぞれのキャラクターの視認性や魅力的に見えるような配置に十分注意した」(内田氏)
▲後期オープニング カット23のアニメーション動画とVコンテとレイアウト動画。アニメーション工程で内田氏がとくに意識したのは「モーションのタイミング」。アニメらしく動くように「中割りでタメやツメを意識しながら制作する」ほか、「コマ打ちにも十分注意する必要がある」という
▲キャラクターだけでなく背景にも工夫が施されており、「地面」と「円形の背景」の要素を分けて出力し、地面のモデルに対して画面奥方向にスライドを入れることで、疾走感を演出している
次に内田氏は、「蜘蛛子のアニメーション」を中心に、モーション制作時のポイントを紹介した。そもそも、魅力的なアニメーションを制作するためには「キャラクター性」を意識する必要があり、本作であれば蜘蛛子は元々人間だったことから「蜘蛛でありながらも、人間のような雰囲気を出す必要があった」(内田氏)。そのため、内田氏は「その表現を3DCGでどのように描くか」という点を大きく意識したそうだ。
そこで本作では、蜘蛛子の人間性を表す大きな要素の1つとして「表情」に着目。豊かな表情表現で人間らしさを演出するために、蜘蛛子の喜怒哀楽を表現したアニメーション込みの「フェイシャルリファレンス」を用意した。これをクオリティサンプルのベースとすることで、フェイシャル表現の「クオリティの平均値を上げる」(内田氏)ことができるわけだ。さらに、効果的なカット制作に落とし込むため、感覚的に任意の表情を作れるツールを自社のエンジニアに用意してもらった。
▲蜘蛛子のフェイシャルリファレンス
▲感覚的に任意の表情を作れるツールのイメージ。顔のパーツごとに設定できるうえに、フェイシャルリグでの細かい調整にも対応するため、表情豊かな蜘蛛子の作成の「大きな助けとなった」(内田氏)
逆に、蜘蛛らしさのわかりやすい要素の1つには「多足」がある。ただ、蜘蛛子のリグはCATベースで作られており、多数のコントローラが付いていたため、そのままでは「上手く動かせない」や「使い方がよくわからない」といった状況が生じる可能性があった。
そこでここでも、自社のエンジニアに内製ツールの作成を依頼。このツールによって「リグを動かすための複雑な操作を簡略化した」ことでアプローチから結果までの時間を短縮でき、結果として「効率化とクオリティアップを目的とした試行回数を増やすことができた」(内田氏)。
▲蜘蛛子のリグのイメージ
▲自社のエンジニアが内製した「蜘蛛子専用選択支援/ピッカーツール」
もう1つ、内田氏は「モーションキャプチャの活用事例」も紹介。第4話で蜘蛛子が猿の群衆と死闘を繰り広げるシーンを例に挙げた。
このシーンで内田氏は、最初に絵コンテを確認した段階で「3DCGモーションはかなりの物量が見込まれる」と判断したことから、シーンを効率的に制作するための方法を考慮する必要があったという。そこでexsaの関連会社であるStudio Tantaの施設内でモーションキャプチャの収録を実施。モーション収録後は、収録データ(素あがりデータ)の中から用途に合うデータを選択し、調整したものを使用することでカットを制作した。
▲モーションキャプチャの収録風景。exsaの社員がモーションアクターを務め、必要なモーションを収録した
▲収録したモーションの素あがりデータ。30弱のバリエーションを収録した
▲モーション収録後の大まかなながれ
▲さらに、群衆として運用するため、リグを削除してメッシュを同一化した群衆用モデルを準備し、ポイントキャッシュとしてアニメーションデータをながし込む。ポイントキャッシュによって動いているメッシュをコピペすることで、比較的軽いデータで大量の群衆を作成できる
最後に内田氏は、モーションキャプチャを使用するメリットとして「ベースモーションを大量に準備できる」や「一定以上のクオリティで制作を進められる」などを挙げた。一方で、反省点としては「データ展開の行程までに多少の時間を要した」ことを挙げた。さらに、モーションキャプチャには得意・不得意な分野があることから、アニメ制作にモーションキャプチャを導入する際には「分野を正しく見極めたうえでの検討が必要」と指摘した。
次ページ:
煙エフェクトはベースモデルを流用することで効率化をはかった
煙エフェクトはベースモデルを流用することで効率化をはかった
3番目は、山﨑氏が「エフェクト/コンポジット制作工程」を紹介。まずは「『煙』汎用エフェクトの作成方法」を解説した。
煙エフェクトの制作工程としては、まずはオブジェクトのアニメーションを作成し、そのアニメーション付きのオブジェクトをエミッターとする。そこから、そのエミッターをtyFrowに読み込み、複数のパーティクルとして発生させる。その後、スピードやサイズ、方向などを調整し、全体の形状を整えていく。
▲煙のオブジェクトのイメージ。作成では、まず天球体にディスプレイスモディファイヤを追加。その後、3ds Maxに標準で入っている細胞テクスチャを使用して凸凹感が出るよう調整する。さらに、リラックスモディファイヤなどで凸凹感に柔らかさを加えたりもする
▲煙の動きの調整例
煙エフェクトの形状などが決まったら、次はマテリアルの設定となる。マテリアルは、グラデーションマップを使用して白黒のマテリアルを設定すると同時に、ノイズなどで細かな凸凹を加えることでディテールアップする。なお、注意点として山﨑氏は「アニメ作品なので明暗がハッキリした煙を目指し、アニメに馴染む質感に調整している」と補足した。
また、山﨑氏によれば本作ではバトルシーンが多く、バトル時の砂煙やブレス時の爆発といった煙のエフェクトを「多岐にわたって使用した」そうだ。そのため、3DCGカットで使用した煙エフェクトの大半は、ベースモデルを使って作成。使用用途の拡大にともなって作業量も増えることから、「流用しやすいようなやり方で作成する」(山﨑氏)ことで効率化をはかった。
▲マテリアル作成のイメージ。右図は、マテリアル設定後にAfter Effectsに素材をもっていき、煙らしい色味に調整したものとなる
次に山﨑氏は、後期オープニングのカット23を使用して「エフェクト/コンポジットの制作工程」を解説した。山﨑氏によれば、このカットはアニマティクスが完成した段階で「製作日数の残りが数日程度しかなく、スケジュールがかなりタイトだった」ことから、他のカットにはない「少し特殊な制作方法を採用している」そうだ。
まず、後期オープニングのカット23はカメラが大きく切り替わるなど、「作画的な疾走感のあるシーン」(山﨑氏)となる。そこで、制作時は短尺でスピード感を出すためにPhotoshopのビデオレイヤーを使用し、エフェクト素材をムービーの上から感覚的に作成した。ちなみに、Photoshopを利用した理由について山﨑氏は、「単純に使い慣れている」という点とともに、下に敷く動画を読み込んだ際に「他の動画ソフトよりも軽かった」という点を挙げた。
▲Photoshopで作成したエフェクト素材のみのイメージ
色分けされた手書きのエフェクト素材は、その後はAfter Effects上に読み込んで色を変更し、グロー効果やブラーなどの処理を加える。さらに、蜘蛛子に対しては、リム素材を使用してビームの光源影響による逆光効果を追加した。その後、After Effects上で簡単なフィルター処理を行って完成となる。
▲エフェクト素材をPhotoshop上でハッキリした色に色分けしている理由は「After Effects上での色調整が簡単になる」(山﨑氏)から。これにより「ビームの色を変更する」などの修正にも対応しやすくなっている
群衆システムは「アクター」、「クラスター」、「エリア」で構成
最後は、ジェローム氏が「エンジニアリングでアニメ制作を支援した事例」を解説した。本作では、コンポジットやアニメーターの作業を支援するツールをいくつか開発しており、「モーション制作工程」で紹介したフェイシャルツールやフッテージの差し替えツールなどはその1つとなる。
これに加えて、作品の後半では多くの兵士が戦う戦争シーンのカットが必要になったことから、新しい挑戦としてゲームエンジンを使ってそのようなシーンを簡単に作成できる「群衆システム」を開発。今回、ジェローム氏はその群衆システムの概要を紹介した。
ツール制作のプロセスとして、まずは「使う側の要望」を確認する。今回の場合は依頼時に「背景で戦っている大量のモブ兵士を楽につくりたい」、「キャラやモーションの入れ替えをすぐできるようにしたい」、「モブの体形にランダム性をもたせたい」、「派手に吹き飛ばしたい」といった要望があったそうだ。これらの要望からジェローム氏は、制作ツールで注意すべきポイントとして「大量のモブ兵士を簡単に配置・増減できる」、「背景なので、見た目は最低限で問題ない」、「戦っているので、単純なランダム配置ではない」といった点を推察した。
次に、これらのポイントを踏まえて群衆データの構造を検討。今回のシステムでは、「アクター」、「クラスター」、「エリア」という3つのレイヤー構造に決定した。
▲群衆システムのデータ構造のイメージ
アクターは、1つのキャラクターデータを管理するもので、同システムでは一番小さい単位となる。用意されているモデルからランダムでピックアップされ、味方同士で戦わないようにするための「敵/味方設定」があるほか、武器の入れ替えにも対応している。
クラスターは、複数のアクターが戦っているシーンになる。最終的にランダム配置するのはアクターではなく、このクラスターになる。クラスターのデータはUnity上のタイムラインで組み込めるほか、モーションキャプチャや3ds Maxで作成したアニメーションデータも利用できる。
そのほか、ループ可能なアニメーションにすることで、再生時にランダム感を出すことが可能。また、当たり判定の情報を使用し、ランダム配置時にクラスターが重なることを防ぐしくみも導入されている。
最後のエリアは、クラスターを生成する範囲で、クラスターの数や配置を管理するしくみとなる。エリア内では、クラスターの完全ランダム配置が可能で、その後の手動による配置調整にも対応。これにより、群衆を生み出すことができるようになる。
▲アクターは、サイズのランダム感を出すため、違和感が出ない範囲で体型と身長の調整にも対応。5体のキャラはまったく同じモデルを使っているが、体型と慎重にスケールをかけることで、バリエーションを生み出せている
もう少し詳しい群衆システムの中身において、まず見た目には「UnityChanToonShader」を使用。影は基本的にテクスチャに入れており、マテリアルは「頭」、「身体」、「武器」の3つに分割。さらに、それぞれに「BaseMap」、「1st ShadeMap」、「RimLight Mask」の3つのテクスチャを用意した。
アウトラインには「Pencil+」を使用した。3ds Maxのアウトライン設定ファイルをそのまま活用できる点で便利だが、Pencil+には「ポリゴン数が増えると重くなる」(ジェローム氏)というデメリットがあるという。そこでジェロームは、最終的なレンダリングをPencil+にまかせつつ、Pencil+のクオリティには及ばないが「リアルタイムで確認できるようなアウトライン」を検討し、ポストプロセスアウトラインを利用することにした。
また、カメラワークでは「MeshSync」というプラグインを使用し、3ds Maxからカメラデータや背景、レイアウトのハイパーオブジェクトをUnityにインポートした。
▲「リアルタイムで確認できるようなアウトライン」の検討では、反転メッシュや法線エッジ検出、深度バッファーエッジ検出なども試したそうだ。しかし、「線がつながっていない」、「ノイズが入る」などの理由で却下された
出力では、Unityを使ってカラー、アウトライン、影をレイヤーに分けて出力する。出力用のスクリプトは社内で作成したそうで、ジェローム氏によれば「タイムラインでコントロールできる」、「Pencil+とボスプロセスのアウトラインを切り替えられる」といった機能を備えているそうだ。
なお、ここでジェローム氏は「半透明をしっかり出力する」ことをポイントに挙げる。なぜなら、カメラの背景の色が「半透明で映ってしまう」という問題が発生するケースがあるからだ。
この問題の解決策としては、まず同じフレームを白い背景と黒い背景でレンダリングする。次に、各ピクセルに特殊な計算式を適用。これで「きれいな半透明を作ることができる」(ジェローム氏)という。また、各フレームでこの作業をCPUにまかせるのは効率が悪いため、ジェローム氏は「Computer shaderを用いてGPUにまかせている」とアドバイスした。
▲半透明問題の解決策のながれとピクセルに適用する計算式
▲Computer shaderのソースコード
これに加えてジェローム氏は、最初にあった「派手に吹き飛ばしたい」という要望に対応する方法についても触れた。ながれとしてはまず、各モデルにラグドールを入れるとともに、当たり判定用のオブジェクトを用意。コリジョンが発生したらアニメーションを止め、ラグドールと物理処理をオンにして吹き飛ぶためのフォースを与えるしくみとなる。
ただし、吹き飛ぶ際に武器をもったままでは不自然なので、武器を落とすしくみを導入。これに加えて、一緒に戦っているキャラクターもそのまま武器を振っていては不自然なので、クラスターのタイムラインを止めてそのクラスター内の他キャラクターを待機モーションに切り替えるしくみも入れ込んだ。
群衆システムのまとめとして、ジェローム氏はメリットに「配置が楽」、「大量のキャラクターでもすぐにプレビューができる」、「レンダリングスピード」、「1ボタンで全モデルや武器の入れ替えが可能」という点を、デメリットに「データの準備に手間がかかる」、「Unityの理解がある程度必要」という点を挙げた。また今後の改善点としては、「データの準備時間の短縮」、「Unityを理解していなくても使えるようにする」、「(AIで行動するような)群衆シミュレーションの実現」などを挙げた。
Endeavor Pro9050aが圧倒的な性能を発揮する結果に
最後にもう1つ、ジェローム氏は群衆システムを利用した「パフォーマンス検証」についても紹介した。この検証では「ジェローム氏のPC」、「exsaの最新ワークステーション」とともに、エプソンダイレクトのAMD製Ryzenシリーズを搭載した「Endeavor Pro9050a」を使用し、複数のテストを実施した。
▲検証で使用した各マシンのスペック
▲エプソンダイレクトの「Endeavor Pro9050a」は、16コア32スレッドのAMD製CPU「Ryzen 9 5950X」やNVIDIA製のGPU「GeForce RTX 3090」などを搭載。圧倒的なパフォーマンスはもちろん、ホワイトカラーのボディもなかなか魅力的だ
まず、ボスプロセスアウトラインを使った「プレビューレンダリング(GPU)」のテストでは、GPUの負荷を検証。GeForce RTX 3090を搭載するEndeavor Pro9050aがその性能をいかんなく発揮し、ジェローム氏も「想定以上の差が出た」と舌を巻いた。
CPUの負荷が大きい「Pencil+レンダリング(CPU)」のテストでは、複数のモブ数で検証を実施。500体の場合で、Endeavor Pro9050aがジェローム氏のPCよりも3倍近いスピードとなった。
最後に、再生したときの最初の「起動タイム(SSD+CPU)を計測した。最初の起動時はオブジェクトの生成やランダム配置の処理などが発生するため、SSDとCPUの性能が影響するテストとなるのだが、1000体の場合でPCIe 4.0に対応するEndeavor Pro9050aがジェローム氏のPCの半分以下の時間で起動。この結果に対してジェローム氏は「Endeavor Pro9050aがかなり欲しくなった」と実感を込めて語った。
▲「プレビューレンダリング(GPU)」テストの結果
▲「Pencil+レンダリング(CPI)」テストの結果
▲「起動タイム(SSD+CPU)テストの結果