V-RayでUSDとHydraを使い始める
V-Ray for Maya と V-Ray for HoudiniでUSDサポートが利用できるようになったので、このスマートなファイル形式がVFXパイプラインに新しいレベルの多様性をどのように導入するかを見ていきましょう。
USDは、最新のVFXワークフローをより簡単かつ柔軟にします。そしてそれはV-Rayで利用可能なりました。この優れたテクノロジーにより、様々なプラットフォーム間でモデル、シーン、アニメーションデータを共有することがはるかに簡単になり、複数のアーティストが同じプロジェクトで同時に作業することも可能になります。
さて「USD」とは一体何でしょうか? ここでは、”その仕組み”、”目的”、”ChaosがV-Ray 5 for MayaおよびV-Ray5 for Houdiniに統合した方法”、および “USDが可能にする将来的な新しいワークフロー”について説明します。
USDとは?
USDとは Universal Scene Description の略です。これは、Pixarによって開発され、業界をリードする主要なスタジオによって改善されてきたオープンソースのファイル交換フォーマットです。この新しい形式は、ほぼすべてのタイプの3Dシーンおよびアニメーションデータをサポートし、3D作成ツール、アセンブリツール、およびパイプラインユーティリティ間でデータを転送できる様に設計されています。
USDは相互運用性に加えて、非破壊的な反復と新しいアセンブリ・ワークフローシナリオを可能にしています。 USDでは、レンダラー用のデータをシーン内に記述できるため、シェーダー、マテリアル、ライト、カメラ、および環境の定義と割り当てがUSDファイル内に保持されます。
USDは数年前から大きな可能性を示してきましたが、ほとんどのアーティストがそれを最大限に活用するワークフローの構築を開始するには、複数の3D作成ツールのメーカーがUSDをサポートする事が必要でした。このサポートは、SideFX社がSolarisをHoudiniに追加したときに最初に開始され、現在はAutodesk社のMaya2022リリースにUSDサポートが含まれています。
ついに複数のツールからのサポートが実現され、スタジオが複数のアプリケーション間でアセットを自由に共有し、一貫したV-Rayレンダリング結果を得ることができる時が来ました。 V-Ray 5 for Maya、update 1 および V-Ray 5 for Houdini、update 1でUSDがサポートされています。
注意すべきな点として、必要な全てのV-Rayネイティブシーンプロパティを適切にエクスポートする事が重要ですが、この部分は、それぞれの3Dアプリケーションのメーカーが管理するのが最適であると考えています。 V-RayデータをUSDのこの強固な基盤にアタッチする事ができ、アプリケーションとともに改善されていくことが期待できます。
ChaosではV-RayUSDサポートを他のアプリケーションにも追加できる事に期待しています。既にAutodesk社が3dsMaxのUSDサポートのベータ版をリリースしたので、3dsMaxがUSDコラボレーションに参加するのをそう長く待つ必要はないでしょう。
プロダクションでUSDの使用
時間の経過とともに、スタジオパイプラインは、より多くの3Dツールを使用する事により、ますます複雑になっています。一般的に モデリング、スカルプティング、シミュレーション、ライティング、シェーディング、合成、アニメーション、リギングなどの特定のタスクに適したツールの利用を好むためです。プロダクションパイプラインでの問題は、各ツール毎にシーンデータを保存および処理する為に独自のフォーマットが使用されている事です。
ツール間でデータを交換するために、OBJ、FBX、最近ではAlembicなどの中間フォーマットが使用されていますが、それぞれが元のシーンのほんの一部しか保存しておらず、プロダクションのパイプライン情報を伝達するように設計された物ではありません。 USDの約束は、パイプラインツール間でほぼ完全に忠実にデータを共有できるようになる事です。
たとえば、これにより、ある部門がMayaでアニメーションに取り組み、別の部門がHoudiniでシミュレーションに取り組むことができます。またV-Rayのサポートにより、どちらのアプリケーションでも統一された結果をレンダリングできます。また、アプリ間でデータの持ち運びを行うこともできます。アセットはMayaで作成し、Houdiniに渡してシミュレーションし、Mayaに戻してレンダリングする事ができます。
USDの魅力的な機能の1つが、内容への変更が非破壊的であり、変更が元の編集の上に増分編集として保存されることです。前の例で言うと、シミュレーションは既存のシーンレイアウトの上に単純にレイヤー化されます。 USDは、アーティストがシーン内のオブジェクトの可視性を編集、置換、または微調整できるようにする高度なレイヤリングシステムを利用しているほか、ライトの個々のパラメータ、さらにはシェーディング・ネットワーク全体を微調整する手段を提供します。
USD形式は、パイプラインで必要なあらゆるタイプのデータをサポートするように拡張できます。 V-Rayでは、Dome Lightの「Adaptive Sampling」のスイッチなど、V-Ray固有の機能に関連するオプションのみを保存できます。マテリアル、テクスチャ、レンダリング設定などについても同じことが言えます。アーティストがすでに精通しているすべてのV-Ray機能は、USDの最終段階でUSDにエンコードできます。
USDワークフローの可能性
USDのシーンレイヤー化は、アプリケーション間でシーンデータを共有するだけではありません。これは、シーンのバリエーション、置換、および潜在的なコラボレーションを確立するための強力な概念です。 USDレイヤリングでは、レイヤーごとに一定の「編集」や「上書き」を行い、オリジナルに影響を与えながらも、段階的な変更の重みを持たる事ができます。
簡単な例を次に示します。
- キャラクターのアセットが作成され char_geo.usd に保存されます。
- キャラクター用のベースボールキャップは char_baseballCap.usd に保存されています。
- char_geo.usd をロードし、char_baseballCap.usd でレイヤー化します。
- 合成した結果を char_assembly.usd に保存します。
Char_assembly.usd は、両方のファイルからの実際の情報を保持する代わりに、char_geo.usd と char_baseballCap.usd を「参照」だけします。
これで、ベースボールキャップを被ったキャラクターのシーン Char_assembly.usd をレンダリングできます。同時に、さまざまなスタジオチームがキャラクターまたはキャップファイルを個別に編集し、新しいバージョンとして保存して、非破壊的にロードすることができます。
同様に、フェルト帽、異なる照明、異なるシェーディングなどを使用して、キャラクターの別のアセンブリバージョンを作成できます。これらのアセンブリの組み合わせをUSDが「バリアント(variants)」と呼ぶものにエンコードして、USDファイルの読み込み後に簡単に切り替える事ができます。
V-Ray と USD
レンダラーがUSDをサポートするには一般的に USD procedural と Hydraデリゲートを使用する2つの方法があります。両方の詳細を次に示します。
USD proceduralとは、レンダラーが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 proceduralを実装しています。 MayaはHydraもサポートしていますが、Hydraサポートを実装する準備が整う前に、USD proceduralの実装をさらに成熟させる必要があります。
MayaでUSDを使用するV-Rayワークフローは、新しいMayaUSDサポートに完全にネイティブ対応です。実際、必要なのは Maya 2022でMayaUSDを利用してUSDファイルをロードし、V-Rayの設定をセットアップし、V-Ray 5、update 1でレンダリングするだけです。
V-RayデータのUSDへのエクスポートは、Mayaのファイル > [エクスポート]のUSDエクスポートメニューから可能です。ここで”USD Export”を選択し、次にマテリアルの選択リストから”V-Ray Material Exporter”を選択する必要があります。
V-Ray 5 for Maya、update 1 では、V-Rayシェーダー(マテリアルとテクスチャ)をUSDにエクスポートと、シェーディンググループのディスプレイスメント入力にビットマップを接続してV-Rayディスプレイスメントを作成できます。
将来のアップデートでは、V-Ray Light、V-Ray Fur、VRaySubdivision、追加のディスプレイスメントアプローチなど、より多くのデータタイプへのエクスポートが拡張されます。
MayaでUSDデータをロードおよびレンダリングする場合、V-Ray 5 for Maya、update 1 現在以下をサポートしています。
- モーションブラーも含めた静止, アニメーション, 変形メッシュ
- V-Ray シェーダー&マテリアル, displacement, subdivision のUSDファイルへのエンコード
- (他のレンダラー用USDから) UsdPreviewSurface マテリアル
- まだUSDファイルに保存されていないUSD編集(Mayaのメモリ上)のローカルレンダリング
- V-Rayからエクスポートされた.vrsceneファイルを使用したV-Ray5 Standaloneでの.usdファイルのオフラインレンダリング
将来的には、V-Ray for Mayaは、ヘアーやパーティクルなど、USD内でのレンダリングサポート用のデータ型をさらに追加し、IPRの使用中にUSDの編集を検出できる用になる予定です。
サポートされているUSD機能の完全なリストについては、V-Ray for Maya USDのドキュメントページを参照してください。
V-Ray and Hydra
V-Ray for Houdiniに同梱されているHydraデリゲートは、HoudiniのSolarisビューポートのインタラクティブレンダリングデリゲートとしても、Houdiniのhusk実行可能ファイルを介した最終バッチレンダリング用のスタンドアロンツールとしても機能します。
V-Ray 5 for Houdini, update1で、V-Rayデリゲートは公式パブリックベータ段階に入りました。ほとんどのV-Ray機能は、ライト、レンダリング設定、レンダリングジオメトリ設定など、必要に応じて補足的なV-Rayオプションとして、すでにSolarisにネイティブに統合されています。マテリアルコンテキストで使用可能な標準のV-Rayシェーディングノードも “Material Library”LOP内のステージで公開されています。サポートされている機能のリストに最近追加されたのは “RenderVar” LOPによるAOVです。ジオメトリ、パーティクル、ヘア、ボリュームのレンダリングは、”Scene Import” LOPを介して送信され、ディスク上のUSDファイルから参照されるプリミティブの両方ですでに実装されています。
EnvironmentFogやV-RayProxyなどのカスタムV-Ray proceduralsも間もなく登場します。現在の制限の最新更新リストは、次の場所にあります:Solaris Features & Known Issues.
近い将来、V-Ray for Houdiniにコンパイル済みのUSDライブラリを同梱し、プレビューやバッチレンダリングに使用されるUSD ViewとUSD Recordアプリケーションを格納することで、Hydraデリゲートを最終レンダリング用のスタンドアロンツールとして使用できるようにする予定です。
まとめ
Maya、Houdini、V-RayでUSDがサポートされるようになり、プロダクションにとってエキサイティングな時代になりました。これらの重要な要素が揃ったことで、ほとんどのVFXスタジオが理論上だけではなく実際にUSDを制作のワークフローに使う事を検討できるようになり、まるでスタートラインに立ったかのようです。また、これは始まりに過ぎません。V-Ray のMayaとHoudiniのチームが行っている作業により、別のホストアプリケーションがUSDをサポートするようになれば、他のV-Rayプラットホームにも同様のUSDサポートを追加することができるようになります。
最新記事 by Yamauchi (全て見る)
- V-Ray 7 for 3ds Max パブリックベータ - 2024-10-07
- Chaos Unboxed ロードマップをアナウンス - 2024-02-28
- MaterialX と V-Ray: 3Dクリエイティビティの次世代ワークフロー - 2024-02-26