記事の目次

    物理シミュレーションとアートディレクションを高次元で融合させることによって創り出されたフレーム単位でつくり込まれた流体表現。

    ※本記事は月刊「CGWORLD + digital video」vol. 246(2019年2月号)からの転載となります。

    TEXT_福井隆弘
    EDIT_沼倉有人 / Arihito Numakura(CGWORLD)、山田桃子 / Momoko Yamada

    © Coca-Cola(Japan) Company, Limited

    アクエリアス 1日分のマルチビタミンTVCM『ヒトは失う』篇
    クライアント:日本コカ・コーラ株式会社監督:佐藤有一郎(CONNECTION)/オフライン編集:浅見恭平(CONNECTION)/オンライン編集:辻 高廣(CONNECTION)/3DCG:ルーデンス/制作プロダクション:MONSTER(ティー・ワイ・オー)
    www.aquarius-sports.jp/vitamin

    テクノロジーとアートを極限まで高め合う

    TVCMやYouTubeで放送/配信中のアクエリアス 1日分のマルチビタミンTVCM『ヒトは失う』篇。運動を通じて失われていく水分や栄養素、そしてこの商品によって失われた水分や栄養素が補給されていく様が、演者の動きと絶妙にインタラクションした流体表現によって描かれていることがひとつの魅力となっている。そんな本作の3DCGを手がけたのが、今年で設立29年目をむかえる実力派老舗プロダクションのルーデンスだ。『パコと魔法の絵本』(2008)、『告白』(2010)、『渇き。』(2014)といった映画やTVCMを中心に得意とするフォトリアルなVFXを制作してきた同社だが、加えて近年は企画、演出、編集までを含めたオールインワンの画づくりを精力的に行なっているとのこと。

    左から、加藤美智子氏、高橋麻紀氏、泉川健二氏、政本星爾TD、原 恭平氏、林 達郎プロデューサー、山下照雄氏。以上、ルーデンス
    www.ludens.co.jp

    本作では、Houdiniをメインツールとして、演者・森星(もりひかり)のしなやかで躍動感あふれるダンスモーションに対して、水分やマルチビタミンを象徴する流体表現が絶妙な一体感をもって描くことにチャレンジした。一連の3DCGワークをリードした政本星爾テクニカルディレクターは、本作の流体表現について次のように語る。「難易度の高いオーダーに応えるために随所にR&Dとアートワークが施されているんです。そもそものところで全てをシミュレーションで表現しようとすると、マシンが動かなくなるほどのハイディテールが求められました。実はハイディテールの水(流体)をコントロールすることは、いつかチャレンジしてみたいと8年ほど前から構想を温めていたので絶好の機会でした。ただ、ハイディテールですし、各カットごとに複雑な表現が求められたので、いざ制作を進めると苦労の連続でした。会社にも迷惑をかけたと思いますが、国内でもトップクラスの水表現をつくりだせたと思っています」。林 達郎プロデューサーも苦労はしたが、結果的に良いプロジェクトになったとふり返る。「CM制作はスケジュールがタイトなため、実写素材の併用が効率的なのですが求められているものはフルCGでなければ表現出来ないと判断し、今回は真っ向勝負となりました。最終的には達成感のある良い仕事になりました。成長を続けていく上では、こうした難しいプロジェクトにも取り組んでいくことが大切だと改めて思いました」。

    01 流体表現のR&D

    物理シミュレーションと画づくりを両立させるために

    ルーデンスに本作のオファーが届いたのは昨年7月のこと。まずは、佐藤有一郞監督(CONNECTION)と打ち合わせを重ねながら、本作で求められる流体表現のセットアップを進めたという。「佐藤監督からのオリエンを受け、手始めにダンスや運動をする人物写真に対してCGエフェクトを合成した静止画サンプルを試作しました」(政本TD)。

    佐藤監督は、ものすごく繊細でとにかく美しい表現にすることを強く求めていたという。また本作では、水分だけでなくマルチビタミンという栄養素についても流体で表現する必要もあった。そこから導き出されたのが、多彩なダンスモーションを手持ちカメラで様々なアングル、カメラワークで切り取り、テンポ良くつないだシークエンスに対して、物理的な正確さをベースにしつつも、最終的な見た目としての美しさとインパクトをもった流体表現に仕上げるということであった。言い換えれば、確かな技術力とアートディレクションの両面からハイレベルなものが求められたわけだ。「各カットごとに、流体の動き始めから収まり方まで、終始綺麗な見え方になるよう細かく調整しています。そして総尺15秒に対して、CGカットは13にも達しました。1秒ほどのカット内で水が飛んで広がり、水の膜が形成された後に千切れながら消えていくという様子を描くことになったのですが、ディテール感や演者の動きとの整合性を保ちつつ、全てのフレームで静止画グラフィックに引けを取らない見た目としての美しさを追求していきました」とは、一連のHoudiniワークをリードした泉川健二氏。水表現としての物理的な正確さとアートディレクションを両立させるにあたっては、水が飛散して消えていくというベースとなる動きを事前にシミュレーションしたシミュレーションをさらに施すという2段階で制作することに。そして、このアプローチで指針となったカットの目処が立った時点では、あとは量産するだけと思ったという。しかし、演者の腕の動きで空中の水滴を弾いたり、ダンスする全身のシルエット状に流体が残るなど、カットごとに求められる動きが大きく異なったため、カットごとに仕組みの作り替えや、特定のカット専用のR&Dを改めて行うことが必須のカットもあったため、終盤まで苦労が続いたそうだ。

    初期に行われた、FLIPで直接人物から水を出す方法のシミュレーション結果の例。そこそこの演算時間を費やしても、ディテールや水の芝居がまったく足りず、物量とコントロールを両立させる上では別の方法を探る必要があった


    水の事前シミュレーション作業の例。ルーデンス内では「unitWater」と呼んでいたとのこと。図は腕や体から出る種類の流体。制作当初は表面張力の自然な成り行きで水膜の動きを作成していたが、演出に対応する上ではベースの事前シミュレーションにも制御のしくみが増えていった

    OBJのトップ階層。unitWaterのシミュレーションにも2つの工程があり、メインのシミュレーションでベースの水の動きを作成し、セカンダリのシミュレーションで先端からツノのように分かれて伸びる水を味付けと して加えている。「ここの階層では水に穴が空くタイミング、量、穴が発生し始める位置を完全にコントロールした上でSeedちがいでも生成できるようにしています」(泉川氏)

    FLIPのDOP内。初速と穴のコントールをSOPソルバーで行いつつ、Surface tensionを追加



    • 穴のコントールを行うSOPソルバー。基本的にWrangleの集合である。各Wrangleで穴を空けるタイミング、場所、穴の浸食進行、穴が空いた後の表面張力によって残るパーティクルの保護。穴が空く動きが表面張力として自然に見えるように疑似的なフォースを発生させている



    • ROPの構成例。上述したコントロールに対してSeedちがいの水を複数出力。本番シーンのビューポートで確認に用いるlowパーティクルのキャッシュもここで出力している


    unitWaterを基に、本番ショットにおける演者の動きに合わせて流体の芝居をつける段階の作業例



    • OBJのtop階層



    • emitterのSOP。この段階で発生源の動きを解析して水膜を出すのに、ちょうど良いVelocityになるように調整



    • 【B】で作成したemitterから全フレームでパーティクルを出し続け、どこから出た水が、どういう慣性がかかり、どこへ飛んでいき、どう逆さ重力に巻き込まれるかを計算



    • 【C】のパーティクルのキャッシュとunitWaterのキャッシュを読み込み、本番の水膜の動きを作成



    • 【D】の左腕部分を拡大表示したもの



    • 水をメッシュ化。膜の端が表面張力で厚くなるニュアンスなどもここで疑似的に加えている

    次ページ:
    02 3DCGワーク

    [[SplitPage]]

    02 3DCGワーク

    見た目としての美しさと動きとしての魅力を追求する

    本プロジェクトでは、政本TDが監督とのやりとりを行い指針カットでのワークフローの確立と汎用カットへの展開を担当、泉川氏が汎用セットアップでは不可能である特別な表現をカットごとに異なるアプローチで制作するという分担で進められた。そして両氏に加えて、実写プレートのマッチムーブ作業に2名、ディスプレイカット用の商品ボトルの3DCG制作に1名、そしてクランチタイムのショットワークのヘルプに1名のほか、若干名が部分的に制作に携わったという。

    流体表現に求められた物理シミュレーションは基本的にFLIPを使用。前述のとおり、CGカットは13に達したが、求められる動きがカットごとに千差万別だったため、基本的には全てのカットでR&Dを行なったという(求められた表現の高い難易度が存分に伝わってくるエピソードだ)。「水が飛散すると最初にツノのような形が発生します。そして面(水の膜)が出来た後に、膜に穴が空いて崩れながら消えていくのですが、穴が綺麗に空くように様々なアプローチを試しました。基本的には表面張力でコントロールしているのですが、表現や尺に応じて最終的には穴が空くタイミングを制御するために、別の仕組みを作成しました。演者の腕に当たって流体が飛散するという表現については、Houdiniのコリジョンが求めるクオリティに達しなかったので、それについてはSOPソルバーで別の仕組みを作りました」(政本TD)。

    また、制作が進む中で当初の想定よりもハイディテールが求められていったため、水の屈折率については現実に正しい数値を入れるだけではなく、必要な画に応じて合成も併用する前提で複数パスに分けるなど、フレキシブルに変更していったという。「試行錯誤のくり返しでしたが、Houdiniのプロシージャルなワークフローは何かと都合が良かったです。飛散した流体が、演者のシルエット状にうっすらと残る表現では、一発でシミュレーションすると微調整が行えなくなるので複数のシミュレーション結果をコラージュしました。意図した動きに仕上がったら、まとめてメッシュ化してエクスポート。Mayaに読み込みV-Rayでレンダリングしていました。現実では水を意のままに操ることはできませんが、今回は綺麗なシルエットを保ちながらアニメーションさせるということを深く追求することができました。この経験をぜひ活かしていきたいです」(泉川氏)。

    腕の軌跡に対して置いていかれるような動きをする水の膜の作業例

    unitWaterとして、空中に残されて漂うのに適した水膜を用意

    発生する場所、タイミング、レイアウトを自由に演出できる水膜であることが目的になったため、Houdiniによるシミュレーションではなく、Mayaで発生領域を直接モデリング、アニメーションさせることに。発生領域を通過する演者の手足を自動追跡するしくみをMayaで作成しつつ、Houdini上で通過後にunitWaterが発生するしくみを構築。unitWaterのキャッシュから水膜が作られるしくみはフルシミュレーションのHIPからの改造版である。パッと見では同じ組み方に見えるが、入力するものが発生エリアを示す変形プレーンへと変更されている



    • メッシュを張る



    • 【左画像】の拡大表示。上に昇っていっているのが、ビタミン化した水滴の表現

    2種類の水膜メッシュを読み込んだ状態


    中盤に登場する演者のシルエット状に流体がうっすらと残る表現の作業例



    • かなり短い尺の中で、水の動きは感じつつ、同時に人間のシルエットであることを認識させる必要があったため、パーツごとにVelocityの値などを個別に調整できるようにセットアップを構築



    • SDFを用いて作成した人物シルエットのノーマル方向への重力フォースを作成し、任意のシルエット形状になるように調整

    作成したパーティクルキャッシュをメッシュ化


    右腕が水滴や水膜に衝突するカットより。当初、FLIPで水滴を作成して直接コリジョンさせてみたところ、まったく画にならなかったため、このカットでも事前シミュレーションを適用させることに。ただし、汎用セットアップよりもコリジョンが重要になるため、アプローチは似ているものの、しくみとしてはまったく異なるものを構築したという



    • 事前シミュレーションにて、1粒の水滴が弾けて複数の水滴になるようにセットアップ。FLIPで表面張力と初速によって表現する。seedちがいで複数パターンのキャッシュを取得。このカットでは加速度ベースで合成するため、キャッシュを作成する際、加速度に動きを分解して記録しておく



    • 適用先のシーンでのキャッシュの読み込み部分。キャッシュを全フレーム、全種類、1つのデータテーブルにまとめられているため、後の計算では読み込みがいっさい不要となっている

    空中でPOPソルバーにて水滴を浮かべ、人物の腕と衝突させている。本文でもふれたように、Houdiniのコリジョンが期待した精度を出せなかったことに加え、水滴のはじけるキャッシュデータとコリジョンの動きを上手く混ぜる必要があったことからコリジョンをSOPソルバーで加速度に分解して再現するという手法がとられた。弾ける動きのキャッシュとコリジョンを加速度レベルで混ぜ合わせることで一度のシミュレーションで作成したかのような自然な動きに仕上げている

    カット頭から存在する、水が蒸発して浮遊している栄養素のパーティクルや追加演出でリクエストがあった水の膜を追加。栄養素のパーティクルは全カット通じて同じしくみで作成されている。演出として、栄養素の発光はあくまで屈折を通じて明るい色をたまたま拾ったものというルールがあった。そのまま屈折表現をしても上手く表現できなかったため、綺麗な明滅をつくるべくパーティクルにはこの段階で色情報やflicker信号がアトリビュートとして仕込まれている。そして、コンポジット作業時に屈折素材とかけ合わせることで明滅。flicker信号には、空間のエリアごとに黄色気味や赤色気味、あるいは指し色の青が入るようにするなど、明滅を人の目に気持ちの良いものにする役割がもたされた


    商品(飲み)カット用の流体表現の例



    • ボトル周囲の水の表現は、演者に絡む表現の1案だったものをベースにカスタマイズ。元の案では長い1枚の水のシミュレーションを巻き付ける手法を採っていたが、ボトルのスケール感に対して繊細さに乏しく、細かなリテイクに耐えられないと判断。根本から構築し直された



    • 最終版では、表面張力などを繊細に調整した高解像度の水のシミュレーションを複数個用意し、コラージュのようにボトルの周囲に巻き付けるというアプローチを採用。これによりカメラ方向からのシルエットを意図した形状にコントロールしつつ、細かな細部のつくり込みやリテイクに対応できたという



    • 演者から発生した浮遊する水滴表現。人物の表面上を流れるようなフォースを作成し、任意のタイミングで法線方向にランダムに押し出すことで、水滴が体の周囲をまとわり付く表現を作成



    • 演者に対して、複雑に水滴が絡まる表現を実現するべく、演者の白黒マスクを用いてより正確な人物モデルを作成するセットアップを構築。トラッキング用のラフモデルを膨らませたOpenVDBデータと、白黒マスクのシルエットをカメラ方向へ押し出したOpenVDBデータを掛け合わせて、カメラ方向から見て、実写プレートにマッチするシルエットになるように調整された


    カットオリエンテッドのライティング作業を極力避けるべく、全カット共通で使えるレンダリング用の背景セットアップを事前に構築。スタジオで撮影したHDRIと、実写プレートをプロジェクションした部屋モデルをアセット化し、トラッキング用のカメラを置いた段階で、おおまかに実写プレートとマッチする環境が作成された


    水の膜は限りなく薄い表現が求められた結果、当初の想定よりも視認性が悪くなったため、屈折率ちがい等で複数タイプのパスを準備することに。反射と屈折も別パスで出力し、コンポジット作業で一部のエッジを目立たせる等の処理が行えるように下準備された

    次ページ:
    03 コンポジットワークほか

    [[SplitPage]]

    03 コンポジットワークほか

    演者の動きをフレーム単位でトラッキングする

    先述のとおり、手持ちカメラによる自由なカメラワークによって撮影された本作。これらのマッチムーブ作業は、boujouPFTrackで行われた。特筆すべきなのが、通常のカメラトラッキングに加えて、演者というオブジェクトのトラッキングのために、ターゲットとなるCGキャラクターモデルを用意し、リギングとスキニングを施したもの用意。それを使って、演者の動きをトレースしていったという。「頭身高めのキャラクターモデルを用意していたのですが、演者さんのプロポーションの方が高く(手足が長く)て驚きました。まずは撮影場所となった部屋を3Dで再現したものを使ってカメラトラッキング。その上で演者さんの動きをトラッキングしていきました。最終的には1フレームずつ手付けで調整しています。演者さんの身体から水分や栄養素が放出されていく表現を描く上では基準となる身体のポジションがズレてしまうと一気にリアリティが損なわれてしまうので苦労しましたが、1日1カットのペースで作業を終えることができました」とは、一連のマッチムーブ作業をリードした加藤美智子氏。

    3DCGのレンダラはV-Ray for Mayaを使用(環境はカメラトラッキング用に作成した背景セットから作成したHDRIを使用)。シミュレーションに加えて、レンダリングも相応に高負荷になったはずだが、約30台で構成されたレンダーサーバを利用しつつ、各アーティストは3カットほどの作業を同時並行で行うことで、無駄な待ち時間を生じさせることなく制作を進められたそうだ。なお、物理シミュレーションについては、GeForce GTX 10シリーズを搭載したマシンを別途用意。そこへHoudini ENGINEを介してジョブを投げるというデータフローを構築していたとのこと。コンポジットワークにはNUKEを使用。本作のようにノードツリー等のデータ構造が共通していたプロジェクトにとっては好相性だったそうだ。

    カメラトラッキングの作業例。カメラワークに対するマッチムーブが合っていないと自ずとオブジェクトがずれていくため、撮影セットの図面や実際に採寸したデータから背景セットを簡易的にモデリングし、正しい空間になるようにトラッキングの精度が高められた。「寸法の合ったシーンモデルを作成したことでカットによってはオブジェクトトラッキングの要領でカメラを作成したものもあります。ですが、かなり自由なカメラワークのため、ボケなどでトラッキングツールが解析できなかった箇所は手付けで追い込みました」(加藤氏)。左図は、結果をわかりやすくするために3Dモデルのみの表示にした状態でロケーターと3Dモデルの位置情報を照らし合わせながらトラッキング作業を行なった例


    演者に対するオブジェクトトラッキングの作業例。カメラ前を横切る腕など、どうしてもレンズディストーションが強く出てしまう箇所はボーンにスケール値を入れたり、ポイントアニメーションでフォロー。通常、この手法では皮膚が滑って見えてしまうが、今回はHoudini上で人物のシルエットを抜くセットアップを事前に構築することで、その問題を回避した。「当初は、演者さんの様々な動きに対応できるようにとリグを組んでいたのですが、動きがかなり自由だったため、カットによってはリグのコントローラが邪魔をしてしまい、カクつく原因になってしまっため、途中からシンプルなリグに組み直しました。また、実写撮影時にはメインのカメラとは別アングルでもリファンレンス動画を撮影をしておくことで、わかりにくい動きはそこから割り出すようにもしました」(加藤氏)



    • 演者の身体に合わせてリギング



    • 流体シミュレーション向けにカットのイン点よりも前フレームにおける予備動作部分も動きをつくっておく必要もあった

    演者の動きに合わせてトラッキング作業を行う。腕や足など水が発生する箇所は特に精度が求められたという


    山下照雄氏が作成した商品の3DCGモデル



    • クライアントから提供されたCADデータをベースに作成



    • V-Rayのビューポートレンダラで質感を調整


    ディスプレイカットの下画は、2カットで構成されている。「そこに存在するような自然な見た目であるのと同時に、商品自体を美しく見せることが求められました。背景とのコンセンサスが不可欠ですが、1カット目と2カット目で背景(環境)が大きく変化するため、商品自体のライティングまで大きく変化してしまうと観る人に違和感を与えてしまいます。そこで1カット目はフレーム内に光源が感じられなかったため、商品もハイライトを感じにくくしておき、2カット目に切り替わる(上手に光源が入る)タイミングで自然に商品にハイライトが入るように仕上げることで下画とのコンセンサスをとりつつ、違和感が出ないように配慮しました」(原 恭平氏)


    NUKEによるコンポジット作業の例。薄い水の質感を目立たせるために、屈折率が異なる水素材をNUKE上で合成。さらに栄養素の表現をNUKE上で作成し、屈折レイヤーに明滅レイヤーと色味レイヤーを掛け合わせ、NUKE上で細かな調整が行えるように設定された

    下図はブレイクダウン



    • ベースの水の屈折を合成



    • 屈折率の異なる流体表現を一部に合成



    • 演者よりも奧にある流体とビタミン表現を合成



    • 演者よりも手前にある水滴とビタミン表現を合成

    一連のコンポジット処理が施された完成形



    • 月刊CGWORLD + digital video vol.246(2019年2月号)
      第1特集:デジタルヒューマン最前線
      第2特集:インダストリー×XR
      定価:1,512 円(税込)
      判型:A4ワイド
      総ページ数:128
      発売日:2019年1月10日