『NUKE アーティストセミナー 2018 〜国内外制作スタジオからNUKEの最新事情~』

2018年6月、ワテラスコモンホールにて、『NUKE アーティストセミナー 2018〜国内外制作スタジオからNUKEの最新事情~』が開催されました。こちらの記事では、セミナー内容の一部をご紹介致します。

 

今回のセミナーでは、Foundry社 プロダクトマネージャーのJuan Salazar様、ならびにクリエイティブ・スペシャリストの藤田 雅子様より、NUKE製品の最新情報紹介や
株式会社デジタル・フロンティア CG制作部 ディレクターの土井 淳 様より、映画「いぬやしき」VFX制作事例紹介及びDNEG社 コンポジティング スーパーバイザー Raphael Hamm 氏より、ご自身の最新作におけるNUKEの合成技術紹介をご講演頂きました。

 

まず始めに、Foundry社Juan Salazar様より、NUKE11.2に搭載される機能についてご紹介頂きました。ご紹介頂いた内容は、藤田 雅子様により逐次日本語訳が行われました。

NUKE11.2では、アーティストのワークフローの改善を目標とした機能の更新が多数行われているとのことで、最初にNUKE STUDIOのUIについてのご説明でした。プロジェクトパネルのソート、プロジェクトビンの表示切り替え、サーチ機能の性能の向上、プロジェクトパネルおよびシーケンスパネル上でのショットの色分け機能が追加され、プロジェクトファイルの管理がより行いやすくなっています。

NUKEでは、NUKE10で追加されたSmartVectorツールが更新され、より使用しやすくなりました。NUKE10の時点では事前レンダリングが必要となり、またその事前レンダリングに時間が掛かる問題がありましたが、NUKE11.2より、GPUを最適化して瞬時にレンダリングやVectorDistortに接続することで直ぐに結果の確認が行えるようになりました。各knobの変更にも直ちに反応し、結果を更新します。

また、SmartVectorツールで、手前にさえぎるものがあった場合により簡単に処理できるようにするために、SmartVectorにMaskインプットが追加されました。

また、基本機能の改善も行われています。Tabメニューに「お気に入り」を追加することが可能になりました。使用したいノードをあらかじめ登録しておくことで呼び出しを素早く行えます。また、ウェイト機能も追加され、使用頻度の高いものをより上の方に表示させることができます。

さらに、一部の文字の検索も可能になりました。例えば、ScanlineRenderノードであれば、「SR」で検索することができるようになりました。その検索機能では、大文字、小文字を認識することができて、3文字程入力することで絞り込むことができます。カスタム化したものを含む、カテゴリからの検索も可能です。

LiveGroup機能に関する更新点として、Groupノード等でのknobを追加するフローが改善されました。以前はかなりのクリック操作が必要でしたが、プロパティのEditモードボタンをクリックすることで、プロパティのドラッグ&ドロップで内部に含まれるknobを追加することができるようになりました。ドラッグ&ドロップしたknobはリンクが張られます。もちろん新規のパラメータも作成することができ、どちらが新規で、どちらがリンクしたパラメータなのかを色分けすることで確認ができます。各knobの一括操作、削除、非表示化等、柔軟な操作が行えます。

このほかにも、ローカライゼーション機能の改善、Pythonコールバックによるファイル制御の追加、ARRIとREDカメラのSDKに関するアップデート、DeepCompositeのパフォーマンス改善等が行われています。

 

 

次に、株式会社デジタル・フロンティア 土井 淳様より、映画「いぬやしき」でのVFX制作事例をご紹介頂きました。

映画「いぬやしき」では、新宿の空中戦と、デジタルヒューマンによる表現を中心にVFXの制作が行われました。「座頭市0」で使用された技術を実際の制作で活用し、実在する人間をデジタルヒューマンに置き換えるということは初めての試みだったとのことで、そのデジタルヒューマンの制作および合成までの一連の流れをご紹介頂きました。

 

まず、元となるメッシュとテクスチャは、台湾にあるNext Media Animation社のLightStageを使用してスキャンされました。テクスチャはAlbedo、Specular、Normal、Displacement等が取得できますが、解像度が足りないため、UDIMで展開し、MARIを使用してディテールアップが行われました。機械部分や体部分等、すべての要素を合わせて、1000枚近くのテクスチャが使用されています。モデルの追加や編集と、髪の毛の生成も行い、実際の環境に沿ったライトで質感を確認しました。モデルとテクスチャに関しては、日々のメイクや髪の毛の伸び方等の細かい差異に対応する、ショット毎に切り替え可能な複数の汚しのテクスチャを用意するといった作業も必要に応じて行われました。

また、こちらの事例のデジタルヒューマンでは、ZIVA dynamicsを使用した筋肉の表現も追加しました。実際の動きと比べると、呼吸による動きなど、細かい動きとは差がありましたが、すべてを差し替えるようなショットでは、筋肉や脂肪の動きをよりリアルに見せることができました。

このような人間の体と、機械のパーツを持つ複雑なデジタルヒューマンを合成するために、CGによる置き換えがどの部分で必要になるかを確認し、絵コンテの段階で、どのように撮影するかを決定しました。また、撮影された素材に含まれるCGに置き換えるために付けたマーカーは、NUKEのSmartVectorツールセットを使用して消し込みが行われました。

 

また、CG側のレンダリングも、テクスチャが膨大なため、更新作業を簡略化するために各ショットでのCGに差し替える要素をパターン化し、すべてのメカ部分が含まれた1つのアセットから、必要なパターンの部分だけを抽出してシーンを構築できるようにしました。

ライティング設定は、元のHDRIからキーライトの部分のHDRIと、キーライト部分を暗くしたHDRIを使用しました。撮影のセットをスキャンしたものにSphericalMapでキーライトを暗くしたHDRIを張り付け、キーライトがある位置にエリアライトを置き、キーライトのHDRIを読み込みます。これにより、撮影環境に近い形でのライティングが行えます。ライトを分けたことで、AOVでライト毎のパスが出力できます。

 

NUKEでの合成では、デジタルヒューマンへの差し替え、切り替えと、なじませるための調整を中心に行っています。実写からデジタルヒューマンへの切り替えがあるショットでは、Rotoノード等による微調整が行われました。切り替わりのタイミングで発生した微妙なずれは、実写をトラッキングし、アニメーションを付けた顔に実写の素材をマッピングして、切り替わる部分の3フレーム分だけを追加でレンダリングし、素材として使用しました。

一部のカットでは、このマッピングの手法を用いて、実写の顔の部分だけを動かし、レンダリングした顔に置き換えるようなことも行っています。ただ、単純に置き換えるだけでは、顔が全く変形しないため、NUKEのGridWarpノードで変形を追加し、Rotoノードで影を追加しています。

顔を手で掴むショットでは、頬が指によってへこむ動きをつけるために、まず、頭全体の動きのマッチムーブ、開いた顔部分のアニメーションを付けます。その後、デジタルヒューマンの表情を付け、マッチムーブさせた手をあてて、接触部分をデフォームさせることで表現しました。

新宿での空中戦に関しては、航空写真から作成したデータを参考に、飛行コースを設定し、プレビズを作成して確認が行われました。新宿の見たことのある景色を見たことのない見せ方で魅せること、ランドマークができるだけ映り込むようにすること等に気をつけつつ制作が進みました。また、実写のカットを合間に入れることで、よりリアルな新宿を表現するようにしているとのご説明がありました。

この映画の制作では、情報量を詰め込むこと、CGで効率的に作成した後にランダム感を出して、よりリアルに見せる、ということをアセット、コンポジットの両方で行われたとのことでした。

 

 

次に、ロンドンのDNEG社のコンポジティング スーパーバイザーRaphael Hamm 氏より、ショットをどのように発展させるかについて、DNEG社のチームで制作した4作品からご紹介頂きました。

最初に、コンポジットを行う際の留意点として、クライアントの注文に対して、クライアントが、本当に必要としているものを正しく理解しなければならないという点についてご説明頂きました。正しい注文内容を確認するのはVFXスーパーバイザーの役割ですが、シンプルな注文内容でも、実際に求めている内容は他のものだったということは多々ありますので、それとはまた別に、アーティストとしてプロジェクトの性質を知ることはとても重要とのことでした。

 

最初にご紹介頂いたプロジェクトは、ターミネーター ジェニシスです。DNEG社の担当は950ショット、チームの人数も最大500人と大規模で、とても難しいプロジェクトでした。Raphael Hamm 氏は、ヘリコプターチェイスのシーンを中心に制作されました。

あるショットでは、2.5Dの背景のセットアップが必要になりました。超高層ビルの背景を作成し、2.5Dで張り付け、ライトのアニメーションを付けて、写真に見えないようにしました。また、ショット内容の床のライティングが強いので、ソースになるライト自体を追加し、複数のグレーディングを行い、また追加したライトのための小さなリフレクションもショット内に追加しました。このリフレクションもNUKEで作成されており、ショットのカメラを水平にひっくり返したカメラでレンダリングし、使用しています。

街中でのヘリコプターチェイスに関して、サンフランシスコの街の大部分を背景用にCGで作成する必要がありました。CGによる背景セットを制作する場合は、クライアントに最終の背景を見せるのに時間が掛かり、差し替えた時に混乱を招きやすいので、最初の方でテクスチャ付きのセットを作るようにしています。ここでは、NUKEのプロジェクションでセットアップし、最初のバージョンを作成することにしました。150の建物と200程の画像を使用して、シンプルなジオメトリに投影しました。2週間程かかりましたが、このデータを使用して、アップになる場所やこの段階のセットアップで問題ない場所のチェックを行うことができました。

ヘリコプター内部のショットは、カメラをトラッキングし、レンダリングした素材の上にプレートを載せた後、グレーディングを行います。NoOPノードを使用して追加したノブにノイズのエクスプレッションを追加し、その不規則なカーブとLuminanceのKeyerノードを、グレーディングのマスクに使用しています。これにより、キーライトに変調性を与え、スピード感を出すことができます。また、このシーンには、さらにスピード感を追加するために、NUKEのパーティクルをアニメーションしたCardから発生させてレンダリングし、追加しています。

最後に、特別なエフェクトを追加します。これらは最後の仕上げで行いますが、多く加えすぎるとショットを壊してしまいます。具体的には、ヴィネット、色収差、レンズフレア、カメラシェイク、レンズの汚れ等です。ほぼCGで構成されているため、人工的な要素を取り除くために、よりリアルなレンズの汚れを追加するlensdirtツールを開発しました。簡単なRotoシェイプを作成してから、ぼかしてテクスチャにします。1ピクセル単位のノイズを作成し、その部分にテクスチャを配置するようにします。2つのMultiplyノードの計算で差を大きくし不規則な明るさになるようにします。色調補正を加えた後、Godrayノードを使用して色収差を追加しています。

 

次に、「ミス・ペレグリンと奇妙なこどもたち」での事例についてご紹介頂きました。
このプロジェクトでは、クリーチャーが広間に登場するショットと屋上から逃亡するショットを担当されたとのことです。

まず始めに、広間でクリーチャーに登場人物が捕まったショットからご紹介頂きました。クリーチャーによる建物の破壊等はすべて撮影で行われたため、主な作業はCGのクリーチャーをプレートに合わせることでした。最初に役者がワイヤーでつるされているのでそれの除去を行い、ブルースクリーンの天井を置き換え、クリーチャーを追加します。その後、クリーチャーと接している役者の服の部分をワープさせて変形を加えました。

屋上で登場人物がクリーチャーから逃げるシーンでは、子供たちとの撮影には制限があるため、撮影はできるだけ現実に近い状況のセットのスタジオ内で行われました。その背景をVFX側で差し替える際に、セットで作られた雨が背景から取り除かれてしまいました。そのため、カメラも動きも異なる60ショットにそれぞれに合う形で雨を戻す必要がありました。そこで、NUKEのパーティクルを使用し、RainBoxツールを開発しました。カメラを接続し、雨のルックをプレートと合わせるだけで、雨が発生するようにしました。

※画像はRainBoxツールのイメージです。実際に使用されたものとは異なります。

屋上でクリーチャーが登場するショットでは、背景の削除をRotoで行い、背景、背景用の雨、クリーチャー、クリーチャーの前に来る雨を順番に追加しました。このショットでは、クリーチャーに接触する雨を追加で作成する必要がありました。これも、NUKEで行いました。クリーチャーのアニメーションのキャッシュを読み込み、一部の衝突させたい場所のみを残したキャッシュを作成し、パーティクルのエミッターに使用しました。調整しやすくするため、15個に分けてセットアップが行われました。

「ファンタスティック・ビーストと魔法使いの旅」では、DNEG社の通常のパイプラインとは異なり、Houdini-Mantraと、NUKEのワークフローで作業することになりました。理由は、ファンタスティックな野獣たちを作成する必要があったからです。シミュレーションがたくさん必要な「オブスキュラス」と羽の生えた「サンダーバード」を作成する必要がありました。

「オブスキュラス」は、暗くコントロールのきかない存在とされていて、どのような姿かははっきりと決まっていませんでした。そのため、姿を決める所から制作が始まりました。単語やイメージから想像し、動きは動画で検索して見つけた「Nokta」という名前のクリップから、エフェクトのタイミングは役者の方の演技から、作成しました。承諾されたデザインと差が出ないように、Houdini内でエフェクトが作成されました。

このプロジェクトでは、大規模な20世紀のニューヨークの背景のセットを作成する必要がありました。大量のリファレンスから、担当ショット向けのコンセプトアートを基に制作しました。撮影側は、複数のショットのセットを兼ねたスタジオを使用したため、該当のショットから不要なものを消す必要がありました。

レンダリングでは、NUKE上でリライティングが行えるようにパスを出力しました。ライトグループ毎に別々のReadノードを読み込むことで、細かい調整を行うことができました。また、MatteパスはMultiplyで組み合わせることで、より細かい部位のマスクを抽出できるような形で出力されました。複数ある建物の1つの窓のみ変更するということが可能になりますが、この制御には多数のMergeノードとShuffleノードが必要になると予測されたため、操作が1つのノードで行えるようにノードが開発されました。

街の中にある看板はNUKEで作成されました。看板はクライアントとのやりとりで追加の調整が発生しやすいため、NUKE側で細かい調整が行えるようにしました。この方法では、看板のライトの影響が周りに与えられないため、作成した看板を黒でレンダリングし、ライティングTDに追加のライトパスを出力してもらいました。「オブスキュラス」の光も、コンポジット側で動きが大きいときのみにつくように調整しています。

最後は、「インターステラー」での合成についてです。このプロジェクトでは、全く異なるタイプの作業が発生しました。できる限りVFXを避けようとしている傾向にあるプロジェクトで、フォトリアルで正確、物理的に正しいものを作るようにしなければなりませんでした。担当シーケンスは爆発のシーケンスと、宇宙船「エンデュランス」の救助シーンです。撮影ではミニチュアが使用されました。

機体の中から宇宙船を眺めるシーンでは、一度流れがきまると、とても単純な合成が行われました。機体内部と役者は撮影されていますが、外に映る宇宙船は映っていません。宇宙船を窓へ合成するために、まずプレートのマッチムーブを行い、そのカメラをもとに、Mayaでカメラをアニメーションさせ、その動きをミニチュアのモーションコントロール用にスクリプト化して渡し、その動きで撮影されたミニチュアのプレートを、窓に合成しました。

他のショットはもう少し複雑でした。異なる2つのミニチュアを合成し、かつ背景に惑星を追加するショットです。追加する惑星は、カメラの位置からの見え方や、カーブが本当に正しいかどうかを確認する必要がありました。そのため、NUKE内で「PlanetGenerator」ツールを作成し、それを基に、惑星を配置するようにしました。ツールは、カメラツールと惑星を作成するツールに分かれています。惑星ツールの方はテクスチャつきの回転しているSphereで、雲と昼/夜の切り替えを行うためのチャンネルが用意されています。カメラは、位置を指定することで対応した座標に飛ばすことができるようにセットアップされています。また、マッチムーブしたデータにリンクさせ、動きに一致した背景を作成することができるようにしました。レンダリング結果そのままでは使用できないので、雲や昼/夜のチャンネルを利用してグレーディングして、フォトリアルに仕上げました。

※画像はPlanetGeneratorツールのイメージです。実際に使用されたものとは異なります。

NUKEは素晴らしいツールがあり、速さもあり、そして簡単に学習可能です。新しいツールを作成し、驚くようなイメージを作ることも可能です。皆さんもぜひその創造性で新しいイメージを作成し、そしてシェアしてください。