2018年に公開されたテスト映像が大きな話題を呼び、2020年後半に完全版の公開が予定されている『Windup』。SIGGRAPHのCOMPUTER ANIMATION FESTIVALをはじめ、名だたる国際映画祭へのノミネートを果たし、世界的に大きな注目を集めている。ここでは作者によるメイキング資料と追加インタビューをベースに、制作背景や要となるリアルタイムレンダリング技術の一端を先んじて紹介する。
※本記事は月刊「CGWORLD + digital video」vol. 264(2020年8月号)からの転載となります。
TEXT_岸本ひろゆき
EDIT_藤井紀明 / Noriaki Fujii(CGWORLD)、山田桃子 / Momoko Yamada
All images from WindUp © Unity Technologies 2020
『Windup』日本語サイト unity.com/ja/demos/windup
イービン監督の経歴と本作にかける想い
『Windup』はUnity Technologiesによる9分の短編映画で、監督は現在同社でクリエイティブディレクター/アートディレクターを務めるYibing Jiang/イービン・ジアン氏。2018年3月にGDC発表用のテストシーン動画が公開され、2020年2月に完成を迎えている。
-
Yibing Jiang
Unity Technologies
@yibing_art
www.yibingjiang.com
本作はプリレンダリングに基づく長編映画的な制作手法ではなく、AAA規模のゲーム開発の手法を採用して制作が進められた。「Disneyアニメーションスタジオ在籍中にSIGGRAPHで見た『Real-Time Live!』でリアルタイムレンダリングの可能性に気づき、すぐにDisneyからNaughty Dogへ転職しました。そこでは4年ほど『Uncharted 4:A Thief's End』『The Last of Us Part II』のキャラクターシェーディングを担当しました」(イービン氏)。最先端のリアルタイムレンダリング技術を数多く学んだ上で、それらを用いてアニメーション映像作品をつくり上げるべくUnityへ移籍したのだという。
イービン氏は監督のほか脚本・アートディレクター・シェーディングでクレジットされており、ストーリーとビジュアルの両面で根幹を担った。「良い映画には良い脚本が必要であることは誰もが知っています。ストーリーが観客の感情を引き出さなければ、どれだけグラフィックがクールでもそれは悪い映画です。しかし映画はまた視覚芸術であり、お話が良くても未熟なビジュアルでは失敗した映画になってしまいます」(イービン氏)。このため、理想的な映画をつくるには困難が伴い、だからこそチームづくりなどの事前準備が映画をつくるための最も重要な側面だと氏は語る。
脚本制作時、最初に訪れたアイデアは「木の穴に座っている少女」のイメージだったという。これを膨らませながら脚本と同時にビジュアルイメージを決めていくが、そうなると重要になるのが木そのもののデザインだ。写実的な木も面白いが、枝・葉・樹皮などの要素が多く、環境アセット全体が複雑になりすぎる。技術的な問題として、レンダリングの負荷が高くなりすぎることが考えられた。そのため、ディズニー映画『眠れる森の美女』『不思議の国のアリス』の背景美術などで知られるアイヴァンド・アール氏のスタイルからインスピレーションを得て、リアリズムとイラストレーションアートの融合を試みた独自のスタイルでテストシーンを制作した。この時点で主人公Kikiの制作、キャラクターと環境を調和させるライティングなどの検証も行われている。
進化するリアルタイム技術を継続的に習得していくこと
チーム編成は難航したが、イービン氏の元同僚が脚本やテストシーン、リアルタイムレンダリングに興味を示し、それぞれの余暇を介して参加することとなった。「知り合いのトップアーティストに、プロジェクトへの興味をもってもらうことがとても重要だという教訓を得ました。今回のコラボレーションを通して、作品のクオリティは新たなレベルに押し上げられ、また彼らのことをより多く知ることができました」(イービン氏)。チームの大部分はUnityのフルタイムメンバーではなく、機材も各メンバーの自宅のマシンが用いられた(参考として、イービン氏のマシンは3年前に購入した約1,300ドルのPCで、Core-i7 4GHz、32GB RAM、GTX1080 Tiという構成)。
プロジェクトのデータはSVNを用いてオンライン上で管理・共有され、成果物のレビューやコミュニケーションにはSyncSketchが用いられた。Unityのバージョンは2019.2で、全員の環境をハイエンドマシンに揃えられないこと、機能的に開発段階であったことをふまえ、リアルタイムレイトレーシングは用いていない。「良い仕事をするためには、性能の良いマシンを用意することよりも、継続的な学習によるアーティスト自身の進歩が重要です。リアルタイムレンダリングの技術は、エンジニア・プログラマー・テクニカルアーティストの尽力により、常にアップデートされています。これらの技術をマスターすることによってのみ、作品の品質は徐々に向上していくと考えています」(イービン氏)。
コンセプト&試作
脚本制作と同時並行でビジュアルイメージを固める
コンセプトアートの一例。ビジュアルイメージは脚本制作と並行して固めていった。「脚本の最初期段階から、キャラクターの外見や場面ごとの情景を思い浮かべ、オンラインで参考写真などを大量に収集しました。そしてイメージを膨らませながら作業を進め、脚本が出来上がるにつれて物語と一致していない画像の取捨選択を進めます。そのようにして、脚本制作と同時におおまかなビジュアルスタイルを映画制作開始前に固めていくことができます。これが大きな時間の節約になりました」(イービン氏)
最初にイメージとして浮かんだという「木の穴に座る少女」のコンセプトアート
テストシーンでリアルタイムレンダリングの可能性を探る
映画全体のトーンの確認や、本制作時の技術的な問題点の洗い出しを行うために、テストシーンが制作された。「インディーズの映画製作者にとって、大きな製作費や大規模な制作部門を手に入れることができないというそもそもの重要な問題があります。そこで、テストを制作して投資家や将来のユーザーにその作品の可能性を見てもらいます。コンパクトな予算で最終形に近い完成品をつくるこの工程は、就職活動で試されるのに似ています」(イービン氏)。こうした試作では現段階の作品の様子や技術的なボトルネックの突破などが示されるが、本作ではリアルタイムレンダリングをセールスポイントとして制作された
リアルタイムレンダリングの品質をテスト
[[SplitPage]]キャラクター制作
柔軟に更新を重ねたキャラクター制作
Kikiのデザイン画
モデリング。前髪の形状など、制作中たびたび変更が加えられた
完成。父親も含めて、その後の工程を受けてブラッシュアップや技術的な問題の回避のために細かくデザイン変更が重ねられたという
マニュアルソートによる髪の毛表現
メッシュ形状がある程度決まったところで、髪の毛をつくり込んでいく。この際、重要になるのが半透明オブジェクトのソート方法だ。品質に優れる一方負荷も高いOIT(Order Independent Transparency)、軽快だがノイズなどの問題があるディザと比べ、品質・負荷のバランスがいいマニュアルソートが採用された。欠点は、制作の手間がかさむことだ
髪のメッシュはショットによって10前後に分けられ、見た目に合わせて手動でプライオリティが調整される
ノーマルマップは十分なテクスチャサイズが必要になる一方、効果が実感できるのは髪の毛にカメラがかなり寄ったときに限られる。ラフネスに図のようなノイズパターンを用いることで髪の毛が多いように見せている。また、毛束から逸脱した細かい毛はXGenで表現した
重なり合う髪の毛は、HDRPのLitシェーダのAlpha Clippingを使い、不透明オブジェクトとして描画している
セーターの質感を追求
セーターは、デザイン上はシンプルなため複雑なシワなどをモデリングする必要はなかったが、だからこそ他のディテールでリアルさを引き出す必要があった
ウールの質感を部分的に変えるためにエリア分けされている
イービン氏が作成したディテールテクスチャの例。 Maya、ZBrushで制作し、法線・AOなどのマップを256×256ピクセルで出力して貼り付ける
けば(Fuzz)は板ポリをルーズに配置して表現している。このポリゴン数がキャラクター自体のポリゴン数を超えてしまわないよう注意し、LOD(0~2)を設定してカリングしている
背景&植生
Houdini Engineを活用したプロシージャルアセット
背景に這う木の根はプロシージャルに作成している。そのしくみはTAのChris Kang/クリス・カン氏がHoudini Engineを用いて制作した
Unity上で這う経路や太さ、捻れ具合などを設定。「モデラーやアニメーターなど、誰でもUnity上で根の方向、変形、UV情報をリアルタイムで調整することができます。シーンを構築する時間を大幅に短縮し、よりイテレーションを回しやすくなりました」(クリス氏)
根だけでなく電線類の作成にも使われている。本数やたわみ具合を調整することが可能だ
アニメ映画相当の植生アニメーション
「ポリゴン数を減らすために相貫させて表現するビデオゲームとは異なり、アニメーション映画では映像表現として植生のクローズアップや葉の動きもあるので、葉の1枚1枚まで緻密にモデリングしています」(イービン氏)。こうした課題に対して、制作中に機能が充実してきたShader Graphの機能を利用し、頂点アニメーションとHDRPのライティングモデルとの互換性をもった新たな植物用シェーダで表現した
木の枝、葉のモデル。アルファマップで抜く等ではなく実際にモデリングされており、頂点数は多い
HDRPによるレンダリング
マテリアルライブラリ
AAA規模のゲーム開発と同じように、準備期間中にマテリアルを事前に大量に作成し、一望できるようにテスト用のマップに配置
適用したアセットの一例
頂点カラーを設定した平面にレイヤードシェーダを割り当て、1つの平面状で同じ素材の異なる劣化度合いを見ることができるようにしてある
[[SplitPage]]リギング&アニメーション
リギングと形状破綻への対応
リギングされたKikiアセット。フェイシャルコントローラの選択UIに、Malcolmリグで知られるAnim Schoolが提供している「AnimSchoolPicker」を採用。後述するような布の柔らかな形状変形を表現するためにできるだけ多くのジョイントを使用し、FBXでUnityへ渡している
フェイシャルはジョイントによるアニメーションとブレンドシェイプが併用された。さらに、顔・布そのほかに現れる形状破綻に対しては、PSD(Pose Space Deformation)やRBF(Radial Basis Function)を用いて自動修復されるしくみになっている
Mayaで制作したアニメーションをUnityで受け取る
Mayaによるアニメーション作業。ショット単位だけでなく「走り」など、より汎用な単位でも出力された。「Unityへアニメーションをインポートする際に注意したいのは、Unityがゲーム開発のためのものだということです。そのためデフォルトではアニメーションデータに圧縮がかかるようになっていますが、これをOFFにして読み込む必要があります」(リギングアーティスト・Victor Vinyals/ヴィクター・ヴィニャルス氏)
Unityによるショットワーク。エディタは使いやすく、アーティストからも好評だったとのこと
シミュレーション結果をジョイントにベイク
作中の布は、まずnClothでシミュレーションし、その結果をジョイントにベイクしてアニメーションさせている
Kikiの補助ジョイント。ゲームエンジンとMayaとのアルゴリズムのちがいから、ボディジョイント以外の書き出し用ジョイントは全て1つの階層に設置されている
セーターへのシミュレーション結果のベイク。変換にはWebber huang/ウェバー・フアン氏のプラグインが使用された。ボーン数が多いほど変換精度は高く、ロスが少なくなる
ショットワーク&レンダリング
ゲーム開発のスタイルを取り入れ自由度を向上
「一般的なアニメ映画の制作プロセスを列挙してみると、一見単純明快なように見えます【A】。しかし実際にはこのようにはいきません。良い映画をつくるためには、何度でも検討を重ねやり直しをする必要があるのです」(イービン氏)。制作工程が進むにつれて、カット割りが再検討されることもあれば、今まで見えていなかった技術的な課題が明らかになることもある。ショットワークからアセットへ、またはコンセプトへとステップは行きつ戻りつすることになり【B】、また序盤では手空きになる部門が発生したり、終盤では不眠不休の作業へとつながる。本作ではAAAゲームタイトルの開発スタイルを採り入れ、リアルタイムレンダリングによって各部門が常に最新の結果を見ることができるようにすることで自由度の高いプロジェクト運用を実現した
Unityの特性を活かしたショットワーク
Unityでのライティング作業。「多くのAAAゲームでは1つまたは複数のAOデカールを用いて落ち影を擬似的に表現していますが、映画内の効果として私たちの要求を満たすことができませんでした」(イービン氏)。そこで、HDRPの新バージョンで搭載されたシャドウレイヤーを切り替えることで、キャラクターのライティングと落ち影を分離してそれぞれ調整して対応した
カメラはMayaからFBXで出力される。このとき、命名規則とプログラマーによる対応で自動的に焦点距離・フレーム番号を読みとるしくみが構築された
各部門が並行して更新し続けるシーン制作
シーン制作では、まずカメラマンが単純な歩き・走りのループでキャラクターの移動経路を確認し、並行してマテリアルライブラリから質感設定を開始
続けて植生が追加され画角・ショットのつながりなどが整理される
アニメーションは順次更新され、ライティングではスポットライトが多数追加されていく。アニメーターは芝居に合わせて実際に演技をして動画を撮影、それを参考に精度を高めていく
さらにライティングを充実させ、ちりエフェクトや頂点アニメーションの加わった植生を追加。各部門がぞれぞれに担当部分を常に更新しながら作業が進められた
シャドウマップの設定
キャラクターライティングを担当したVina Kao Mahoney/ヴィーニャ・カオ・マホーニー氏(ドリームワークス所属、Unity Technologiesライティングコンサルタント)は映像業界では大御所な一方、本作までゲームエンジンは未使用だった。「いくつかのシーンでキャラクターの影がギザギザに見えてしまい、彼女はシャドウマップの解像度を上げようとしましたが、目立った効果は得られませんでした」(イービン氏)
本作ではライトマップ解像度を8Kに設定していたが、これは全ライトの総和であり、合計がこれを超える場合にはリサイズされてしまい、意図した解像度は得られない
重要でないライトの解像度を下げることで、効果的に影の解像度を上げることができる
高負荷なテッセレーションへの対応
テッセレーションはメッシュを細分割してディテール感を高めてくれるが、負荷も高い。「ハイコストな機能を使えば上手くいくだろうという考えは、非常に一般的な間違いです。シーン制作開始時にはこれを用いるのが好きな担当がいて、非常に重たい、またはクラッシュしてしまうデータを作成しました」(イービン氏)
そこでPixel Displacementを用い、ライトのRender ModeをForcePixelにすることで、地面や壁などのほぼ平らなオブジェクトではテッセレーションと遜色ない仕上がりを低コストに得ることができた。最終的には、1シーンで最大2までのテッセレーションシェーダしか存在できず、広い範囲で用いないという規定を設けることとなった