[PR]
TEXT_小野憲史 / Kenji Ono
PHOTO_蟹 由香 / Yuka Kani
トランジスタ・スタジオ
Houdini Distribute Simulation
Houdiniによる流体シミュレーションの分散処理を紹介
CGWORLD.jpで「Houdini Cook Book」を連載するなど、日本屈指のHoudiniアーティス
トとして知られる秋元純一氏。本セッションではHoudiniで流体(=Fruid)シミュレーションを分散処理(=Distribution)する際の手順と、その際のメリット・デメリットについて、デモを交えながら解説が行われた。
初めに秋元氏はHoudiniにおける分散処理のしくみについて解説した。Houdiniの標準ボリュームは位置・サイズ・方向をもったボックスで構成される。ボックスはボクセルで3Dグリッド上に細分化され、それぞれにVelocityフィールドなどの値が保存されている。これ によりHoudiniは雲・煙・炎などの現象を表現したり、アニメーションさせたりできるしくみだ。秋元氏は「このボクセルを構成するコンテナを切り分けて、複数台のマシンで並列処理させることが、Houdiniにおける一般的な分散処理『スライシング』に相当する」と解説。ほとんどの処理はHoudini側で自動化されるが、インフラ次第でメリットもデメリットも発生すると説明した。
▲株式会社トランジスタ・スタジオ 取締役副社長 秋元純一氏
CGWORLD.jpにてHoudini Cook Bookを連載中
続いてFlipによるセットアップ事例と、シミュレーションの実例について説明が行われた。今回の作例はブイがある波打ち際。波が画面の右から左に向かって流れ、ブイにそって上下に分かれて、飛沫を上げながら複雑な動きをみせるという映像だ。シミュレーションに使用されたPCは5台で、5分割での処理となる。実際の分割処理は波の進行方向に向かって画面のエリアごとに行われ、VDBボリュームによるボクセルコンテナのかたまりとして出力される。これをパーティクルに戻し、メッシュを張れば、シミュレーション後の波が再現される。さらに、これに対してWhite Water Simulationで白波を追加し、レンダリングしたうえで、カラーコレクションで色味を調整すれば完成だ。講演では海底→ブイ→海面→白波→レンダリング→カレーコレクションというCG制作のながれが順を追って紹介され、多くの来場者が興味深く聴講していた。
秋元氏は分散処理のメリットとして、「RAMの節約」、「処理速度の短縮」、「高解像度対応」を挙げるが、いずれもインフラによるという。一方でデメリットとして「Houdiniのライセンスコスト増」、「リソース・インフラコスト」、「セッティングの複雑さ」、「分散数と処理時間の短縮が比例しにくい」ことなどを挙げた。実際、今回の検証でも処理時間は30%程度の短縮に留まっている。秋元氏はクラウド上での分散シミュレーションについても視野に入れつつ、今後も検証を続けていきたいとした。
処理のスライシング
▲Houdiniにおけるディストリビュートには、別のマシンに全作業を1つだけ分担させる「シングル」、複数のマシンでコンテナ単位の分散処理を行う「クラスタリング」、そしてコンテナ自体を分散処理する「スライシング」Aがある
▲5台のPCでスライシングによるディストリビュートを行なった例で、シミュレーション後はフレームごとに、ボクセル単位のブロックで出力される
▲これにメッシュを張り、海面を再現したものがC 。画像では分割処理された部分がわかりやすいように色分けされている
ディストリビュートの設定と処理後のマージ
▲ディストリビュートの設定で重要な役割を担うノードが「Slice Along Line DOP」だ【A】。パーティクルシステムを均一なスライスに分割する線を指定するためのノードで、直線で分割される。作例では波打ち際の負荷の高い処理が均等に分散されるように、波に対して平行になるように設定されている。
▲一方、分散処理された内容は最終的にマージされる必要がある。そのマージの設定を行なっているのがSOP内のFLIP_Sliceノードで【B】 、作例では5台で分散処理しているため、Merge Rangeが「4(0~4)」に設定されている
シミュレーション結果とレンダリング
▲Hoduniでシミュレーションした後に、Redshiftでレンダリングされた画像群。A は海底にブイを設置したところ【A】
▲海底とブイ、海を合成した状態。合わせて画面右側(沖合側)に太陽があるものとしてライティングが行われている【C】
▲【A】~【D】を全て合わせてカラーコレクションで色味を調整し、完成させた状態。余談だがGPUレンダラであるRedshiftの効果は大きく、【A】~【C】 までであれば、1フレームにつき数分のレンダリング時間(解像度はフルHG)で済んだという
Sync
Realtime Camera Trackingの民主化と展望
様々な追加要件に迅速に対応 Unreal Engine 4とVIVE Proでパーチャルスタジオを自作。豊富な事例を紹介
R&Dを軸として複数の会社が集まったクリエイティブチーム「Sync」。近年ではリアルタイムカメラトラッキングに関する案件が増加中だ。CG業界でカメラトラッキングとは、一般的に「合成のために3DCGと実写でカメラ位置を合せること」を指す。これに「リアルタイムにカメラの位置を測定して、ゲームエンジン側に渡す」要素が加わると、リアルタイムカメラトラッキングというわけだ。Sync所属の岡田太一氏は「PCとカメラ、そして市販のVRシステムがあれば、数十万円程度の予算で簡易的なシステムが組める」と説明。VR HMDにVIVE Pro、ゲームエンジンにUnreal Engine 4、カメラにBlackmagic URSA MiniとEFマウントレンズ、グリーンバックにBlackmagic Ultimatteを使用したバーチャルスタジオの構成例を紹介。SIGGRAPH Asia 2018にて充実したデモがEテレで放映された若者向け番組『ハートネットTV』の案件受注にもつながったと説明した。
▲(左から)エディター/プログラマー/テクニカルディレクター・小枝 繁之氏( 株式会社G-CaL 取締役/Sync所属)、エディター/コンポジター/テクニカルディレクター・岡田太一氏(株式会社スタッド 代表取締役/株式会社カットバック取締役/Sync所属)、CGデザイナー・渡邉祐貴氏(デザインプロダクションYAR所属/株式会社ルアー 代表取締役/Sync所属)
もっとも、本案件はかなりの手間がかかった。生放送で撮り直しが効かないことに加えて、追加仕様が相次いだからだ。当初の仕様はアバターでスクリーン上に投影される相談者と、スタジオ内のゲストを会話させたいというもの。通常ならAR合成とグリーンバック合成の2通りが考えられたが、「視線を合わせたい」というクライアントの要望から、プロジェクター投影によるビデオウォールが選択された。壁にCGを投影した際、撮影用の実写カメラを斜めに動かすと画が歪む問題も、カメラの位置に合わせてCGをリアルタイムに調整することで対応がなされた。
しかし、その後「放映時間は2時間→約300万円のワークステーションを複数台用意」、「コマ落ちNG→背景をなるべくベイクする」、「クロマキー合成だけでなく、AR合成も欲しい→AR・スクリーン・操作画面の三面ディスプレイで対応」、「オンエアはフルHDだがスクリーン投影は4K→全て4Kで出力し、後からダウンサイジング」、「スタジオのスケジュールがとれない→前述の簡易バーチャルスタジオで検証」と追加要素が相次ぎ、その都度なんとか切り抜けていったという。さらに「当日まで演出内容が変わる」事態が判明し、直前まで背景をベイクし直すことに。岡田氏は「Ryzen Threadripperを搭載したデスクトップPCをスタジオに持ち込み、その場で作業しました。32コア64スレッドの威力は驚異的で、本番用に持ち込んだマシンの半分の時間で終 了しました」と語った。
このように予想外の問題が続出したが、これがきっかけで東京ゲームショウ2019でのバーチャルスタジオ展示案件の受注につながることに。最後に岡田氏は「今やローエンドからハ イエンドまで多彩な選択肢がある。ぜひいろいろと試してみてほしいです」とまとめた。
Unreal Engine 4とVIVE Proでパーチャルスタジオを自作
▲このうちBlackmagic Uitimateは市販のブルーシートなどでも代用できる。Blackmagic Ursa Mini Proについても、クオリティは落ちるが、デジタルカメラやWebカメラなどで代用可能だ。カメラをパンすると実写とCGで動きがずれる問題が発生したため、実写側にディレイ用のデバイスを接続してタイミングを調整している。なお、SIGGRAPH Asia 2018でのデモ展示では、カメラマンがVIVE ProのHMDを装着して撮影を行なった
▲これによりカメラマンはグリーンバック合成済みの映像をリアルタイムに確認しながら撮影ができる。最大のメリットはとにかく安価であることC 。「スタジオ施行代を含めると1億円近くかかるため、効果は絶大です。他のソリューションをテストする際にも使用できます」(岡田氏)
生放送でARやスクリーン、複数の操作画面などにも対応
▲生放送でのカメラトラッキング案件の事例。スタジオにスクリーンを設置し、そこにUnityでリアルタイムレンダリングした3DCG映像を投影する。これを演者とグリーンバック合成するというしくみだが、実写カメラが動くとCG映像が歪む。この問題を解決するために、カメラ位置に合わせて3DCG映像側を調整した
▲これで準備万端だったはずが、当日までオブジェクトの配置とライティングが変更される事態が判明
▲Ryzen Threadripperを搭載したデスクトップPCをスタジオに持ち込む
▲その場でベイクなどを行うことで、無事対応することができた。HP Z8+Quadro RTX 8000の2枚挿しのモンスターマシンと比較し、半分の時間で作業が終了。完成データはGitで共有され、本番機で使用されることに。本番はつつがなく終了し、一同が胸をなで下ろしたという
Realityをフル活用した東京ゲームショウ2019のデモ展示
▲東京ゲームショウ2019にて、アスクのメディア&エンタープライズ事業部ブースで行われた「Reality」(Zero Density)のデモ。Unreal Engine(UE)4ベースのバーチャルスタジオ向けソリューションだ。一般コンシューマにも魅力をアピールしたいという依頼を受けて、グリーンバック合成を用いた体験型のデモ展示が行われた
▲体験者がグリーンバックの前に立つと、ジオラマを撮影するカメラ画像とリアルタイムに合成が行われ、まるでジオラマの世界に入り込んだような体験ができる。ジオラマは既存の3DCGアセットを基に、UE4上で制作されたデータに基づき、造形業者が作成した模型を組み合わして制作されている。模型上に体験者を表す人形を実際に配置し、人形を動かした位置にシーン全体がジャンプする演出も組み込まれたB 。なお、カメラトラッキングはstYpe、モーショントラッキングはVICONが使用されている