参考資料

V-RayでUSDとHydraを使いこなすために

V-RayのUSDサポートの記事が公開されています。USDの説明やメリットなど興味深いです。

DCCツールのUSD対応が進むとFBXのようにモデルやアニメーションの中間ファイルの役割だけでなく、USDが持つ参照やオーバーライドが利用可能になり、Mayaのリファレンスのような強力な参照システムが普及しそうです。
Hydraによってレンダラーの組み込みが容易になりそうだったり、これまでDCCツールに依存した部分がまるっとUSDによって置き換わりそうで夢がありますね。

https://www.chaosgroup.com/blog/getting-started-with-usd-and-hydra-in-v-ray

 

V-Ray for MayaとHoudiniでUSDがサポートされたので、このスマートなファイルフォーマットがVFXパイプラインに新しいレベルの多様性をもたらす方法を見てみましょう。

USDは現代のVFXワークフローをより簡単で柔軟なものにしてくれますが、それがV-Rayに搭載されました。この洗練された技術により、モデル、シーン、アニメーションのデータをプラットフォームや担当者間で共有することがはるかに容易になり、複数の担当者が同じプロジェクトで同時に作業することも可能になりました。

しかし、USDとは何でしょうか?この説明では、その仕組み、目的、V-Ray 5 for MayaとV-Ray 5 for Houdiniにどのように統合されたか、さらにUSDが可能にするエキサイティングな新しいワークフローのための将来の計画について説明しています。

 

USDとは何ですか?

USDとはUniversal Scene Descriptionの略です。Pixar社が開発したオープンソースの交換フォーマットで、業界をリードするスタジオが参加しています。この新しいフォーマットは、ほぼすべての種類の3Dシーンおよびアニメーションデータをサポートし、3D制作ツール、アセンブリツール、パイプラインユーティリティー間でデータを転送できるように設計されています。

相互運用性に加えて、USDは非破壊的なイタレーションや新しいアセンブリワークフローのシナリオを可能にします。また、USDはレンダラがシーン記述にデータを添付することができるため、シェーダー、マテリアル、ライト、カメラ、環境の定義や割り当てをUSDファイル内に保持することができます。

USDは数年前から大きな可能性を秘めていましたが、多くのアーティストがそれを最大限に活用したワークフローを構築するためには、複数の3D制作ツールのメーカーによるサポートが必要でした。
このサポートは、SideFX社がHoudiniにSolarisを追加したことから始まり、現在ではMayaにも拡大され、Autodesk社がリリースしたMaya 2022にはMayaUSDが含まれています。

複数のツールからのサポートがようやく手に入ったことで、スタジオが一貫したV-Rayレンダリング結果で2つのアプリケーション間で自由にアセットを共有して組み合わせることができるように、各ツールにV-Rayサポートを追加するタイミングが訪れました。
V-Ray 5 for Maya, update 1とV-Ray 5 for Houdini, update 1では、USDをサポートしています。

プロダクションソリューションとしては、必要なすべてのネイティブシーンのプロパティが適切にエクスポートされることが重要であり、これはそれぞれの3Dアプリケーションのメーカーが所有するのがベストだと考えています。
V-Rayのデータは、この強固な基盤にアタッチすることができ、アプリケーションとともに改善されていくことがわかっています。

他のアプリケーションにも同様のV-Ray USDサポートを追加したいと考えています。Autodeskが3ds Max用のUSDのベータ版をリリースしたことで、3ds MaxがV-Rayコラボレーションの可能性に加わるのを長く待つ必要はないでしょう。

 

制作におけるUSD

時が経つにつれ、スタジオのパイプラインはより多くの3Dツールを使用することで、ますます複雑になってきました。
スタジオでは、モデリング、スカルプト、シミュレーション、ライティング、シェーディング、コンポジット、アニメーション、リギングなど、特定の作業に適したツールを好む傾向があるからです。課題は各ツールがシーンデータの保存と処理に独自の方法を持っていることです。

OBJ、FBX、Alembicといったニュートラルなフォーマットがツール間のデータ交換に使用されていますが、いずれも元のシーンのほんの一部しか保存されておらず、プロダクションレンダリングの情報を伝えるために設計されたものではありません。
USDの利点は、パイプラインツール間でほぼ忠実にデータを共有できることです。

例えば、ある部署ではMayaでアニメーションを作成し、別の部署ではHoudiniでシミュレーションを行い、V-Rayをサポートしていれば、統合された結果をどちらのアプリケーションでもレンダリングできるようになりました。
また、Mayaで作成したアセットをHoudiniでシミュレーションし、レンダリングのためにMayaに戻すといった、データのラウンドトリップも可能になります。

USDの魅力は、コンテンツの変更が非破壊的に行われることであり、変更はオリジナルの上に増分編集として保存されます。
先ほどの例では、既存のシーンレイアウトの上にシミュレーションを重ねるだけでした。USDは高度なレイヤリングシステムを採用しており、アーティストはシーン内のあらゆるオブジェクトの可視性を編集、置き換え、微調整することができ、さらにライトの個々のパラメータやシェーディングネットワーク全体を微調整することもできます。

USDフォーマットは、パイプラインで必要とされるあらゆるタイプのデータをサポートするように拡張できます。
V-Rayでは、ドームライトの「Adaptive Sampling」トグルなど、V-Ray固有の機能に関連するオプションのみを保存することができます。
また、マテリアル、テクスチャ、レンダリング設定なども同様です。アーティストがすでに慣れ親しんでいるV-Rayの機能はすべて、最終的にUSDの段階でエンコードすることができます。

 

USDワークフローの可能性

USDは、アプリケーション間でシーンデータを共有するだけでなく、シーンのバリエーションや組み合わせを確立し、コラボレーションを可能にする強力なコンセプトであるレイヤリングを可能にします。
USDレイヤリングでは、各レイヤーが特定の "編集 "またはオーバーライドをもたらし、オリジナルに影響を与えますが、それは増分的な変更の重みを持つだけです。

簡単な例を挙げてみましょう。

  1. キャラクターのアセットを作成し、char_geo.usd に保存します。
  2. キャラクター用の野球帽は char_baseballCap.usd に保存されています。
  3. char_geo.usd を読み込み、char_baseballCap.usd と重ねます。

char_assembly.usd は、char_geo.usd と char_baseballCap.usd の実際の情報を保持するのではなく、char_geo.usd と char_baseballCap.usd を「参照」します。

  1. その結果を char_assembly.usd に保存します。

これでディスク上のファイルにすべての情報が入ったことになり、USDで直接レンダリングできるようになりました。同時に、キャラクターファイルやキャップファイルに対して、異なるスタジオチームが別々に編集を行い、新しいバージョンとして保存し、非破壊で読み込むことができます。

同じように、キャラクターにフェドラハットを被せたり、ライティングやシェーディングを変えたりして別のアセンブリバージョンを作成することもできます。
また、これらのアセンブリの組み合わせを、USDが「バリアント」と呼ぶものにエンコードしておけば、USDのファイルを読み込んだ後に、簡単に切り替えて使うことができます。

 

V-RayとUSD

レンダラーがUSDをサポートするには、USDプロシージャルを使用する方法と、Hydraデリゲートを使用する方法の2つがあります。ここでは、この2つの方法について詳しく説明します。

USDプロシージャルとは、レンダラーがUSDでエンコードされたデータを処理する独自の方法を考案し、それをロードして最終フレームのレンダリングに使用することができるということです。

一方、HydraはDCCのシーングラフのデータをレンダラーに渡すレンダリングフレームワークです。
HydraはUSDのインタラクティブなレンダリングモードとして機能します。それぞれの方式は独自に開発する必要があるため、Hydraに対応しているからといって、自動的にUSDに対応しているとは限らず、その逆もあります。

V-Rayは両方の方法を追加し、最新のアップデートではHydraとUSDが最も意味のあるところに実装されています。
SideFXはSolaris環境でHydraを全面的に採用しているので、V-Ray for HoudiniがHydraをサポートするのは最も理にかなっていると言えるでしょう。
V-Ray for Mayaには、USDデータの読み込みとレンダリング、およびUSDへのデータのエクスポートに機能するUSDプロシージャルが追加されています。MayaもHydraをサポートしていますが、Hydraサポートを実装するためには、Mayaの実装をさらに成熟させる必要があります。

Maya の USD を使用した V-Ray ワークフローは、新しい MayaUSD サポートに完全に対応しています。実際に必要なのはMaya 2022 で MayaUSD を利用して USD ファイルをロードし、V-Ray 5  update 1 でレンダリングすることだけです。

V-RayデータをUSDにエクスポートするには、Mayaの「ファイル」→「エクスポート」メニューから、まず「USDエクスポート」を選択し、次にマテリアルのピックリストから「V-Ray Material Exporter」を選択する必要があり、同じように動作します。

V-Ray 5 for Maya  update 1では、シェーディンググループのディスプレイスメント入力に接続されたビットマップを使って、V-Rayシェーダー(マテリアルとテクスチャ)をUSDとディスプレイスメントにエクスポートすることができます。

今後のアップデートでは、V-Ray Lights、V-Ray Fur、VRaySubdivision、および追加のディスプレイスメント アプローチなど、より多くのデータ タイプにエクスポートを拡張する予定です。

MayaでUSDデータをロードしてレンダリングする場合、V-Rayは現在サポートしています。

  • モーション ブラーをサポートした静的、変形、および変形するメッシュ
  • USDファイルにエンコードされたV-Rayシェーダ&マテリアル、ディスプレイスメント、サブディビジョン(例:Houdiniからの流入)
  • usdPreviewSurfaceマテリアル(他のレンダラーのもの)
  • ディスクに保存せず、V-RayのインメモリでUSD編集をレンダリング
  • V-Rayからエクスポートした.vrsceneファイルを使って、V-Ray 5 Standaloneで.usdファイルをオフラインでレンダリング

今後、V-Ray for Mayaでは、ヘアやパーティクルなどUSD内のレンダリングをサポートするデータタイプを追加し、IPRを使用しながらUSDの編集を検出する予定です。

 

V-RayとHydra

V-Ray for Houdiniに同梱されているHydraデリゲートは、HoudiniのSolarisビューポート用のインタラクティブなレンダリングデリゲートとしても、Houdiniのhusk実行ファイルによる最終的なバッチレンダリング用のスタンドアロンツールとしても動作することができます。

V-Ray 5 for Houdini update 1では、V-Rayデリゲートは公式のパブリックベータに入りました。ほとんどのV-Ray機能は、ライト、レンダリング設定、レンダリングジオメトリ設定など、該当する場合には補足的なV-RayオプションとしてSolarisにネイティブに統合されています。
また、マテリアルコンテキストで利用できる標準的なV-Rayシェーディングノードは、「マテリアルライブラリ」LOPの中で公開されています。
サポートされる機能のリストに最近追加されたのは、「Render Var」LOPによるAOVです。ジオメトリ、パーティクル、ヘア、ボリュームのレンダリングは、「シーンインポート」LOPを介して送られてくるプリミティブと、ディスク上のUSDファイルから参照されるプリミティブの両方に対して、すでに実装されています。

Environment FogやV-Ray Proxyなど、いくつかのカスタムV-Rayプロシージャルも近日公開予定です。そう遠くない将来に、Hydraデリゲートをオープンにして、最終的なレンダリングのためのスタンドアロンツールとして使用できるようにすることを計画しています。

 

まとめ

USDがMaya、Houdini、V-Rayでサポートされるようになり、プロダクションにとってエキサイティングな時代になりました。
これらの重要な要素が揃ったことで、ほとんどのVFXスタジオが理論上ではなく実際にUSD制作のワークフローを検討できるようになり、まるで開始の合図が鳴ったかのようです。
また、これは始まりに過ぎません。MayaとHoudiniのチームが行っている作業により、ホストアプリケーションがUSDをサポートするようになれば、他のV-Ray統合にも同様のUSDサポートを追加することができるようになります。

コメントを残す