NVIDIA が 「da Vinci Workshop」というUSD データ(67GB)を公開しました。実用的な映画制作プロセスでOpenUSDを使用するためのサンプルデータとのことです。
https://docs.omniverse.nvidia.com/usd/latest/usd_content_samples/davinci_workshop.html
ダ・ヴィンチワークショップ
はじめに
ダ・ヴィンチ・ワークショップのデータセットは、映画制作のような制作プロセスでOpenUSDを使用する例としてまとめられました。ダヴィンチワークショップのデータセットには、一貫性のある明確に定義されたアセット構造に従った個々の3Dアセットが含まれています。また、このデータセットには、OpenUSDを利用したシーケンスとショットの構造も含まれており、チームの効率的で非破壊的な共同ワークフローを可能にしています。
目標
このプロジェクトでクリエイティブチームが設定した目標は以下の通り
- 生産準備の整った USD 構造の実用的な例を提供する
- さまざまなOpenUSDコンポジションアークの有用性を説明する。具体的には、SubLayers、References、Payloads、Variant Sets
- 中規模のクリエイティブチーム全体で、逐次的なデータの伝播と、同時並行的で非破壊的な洗練をサポートする OpenUSD パイプラインを実証する
データセットの閲覧
- Omniverse Launcherを開き、Library Tabを選択します。
- USD Composerを選択し、Launcherを押します。
- USD Composer Contentタブで、ハードドライブ上の抽出されたデータセットに移動します。
- Distributable_2023_Davinciフォルダに移動します。assetと/shotサブフォルダが表示されます。
個々のアセットは/assetフォルダの下に整理され、リニアコンテンツは/shotフォルダの下に整理されます。
アニメーションショットを見るには、/shot/rt/rt_010/フォルダに移動します。次に、rt_010_base.usdaファイルを右クリック->開く、またはダブルクリックで開きます。ファイルサイズが大きいので、どのコンテンツが読み込まれるかを管理したい場合は、右クリックして、[Open With Payloads Disabled]を選択してください。その後、ステージウィンドウ内で手動でさまざまなペイロードをオンにすることができます。
アニメーションを再生するには、USD Composerの中で、Window -> Animation -> Timelineと進み、Timelineを有効にします。タイムラインで再生ボタンを押すと、アニメーションが再生されます。
1つのアセットを表示するには、/asset/propsフォルダに移動し、サブフォルダ内のUSDファイルを選択します(例:/asset/prop/AirScrewフォルダ内のAirScrew.usedファイルを選択)。
外部ファイルソースを取り込む
このプロジェクトでは、クリエイティブチームは2つの制作プロセスに基づいてデータを整理することにしました。
- 個々の3Dアセットのオーサリング
- ショット制作
この決定は、制作全体にわたって選択・実施されたフォルダ構造に反映されました。
- ダヴィンチ/アセット/プロップ/アセット名
- ダヴィンチ/ショット/シーケンス名
- ダヴィンチ/ショット/シーケンス名/ショット名
これらの構造内に保存されたOpenUSDファイルは、明確な名前のアセット・インターフェース・レイヤーと、それをサポートするコントリビューション(ユーザー・ワークストリーム)で構成されていました。ナビゲータビリティを確保するため、初期構造はテンプレートベースで、情報量の多い名前と標準化されたエントリポイントプリムを使用しています。アンカー付きのアセットパスは排他的に使用され、コントリビューションはコネクテッドアプリ(特にOmniverse USD Composer)を介して直接編集することができます。
一般的に、アセットインターフェイス内のコントリビューションの順序と名前は、関連する制作プロセスのステップ(モデル、サーフェス、リグまたはアセンブル、アニメート、ライトなど)を反映しています。
一般的に、Asset Interface内のコントリビューションの順序と名前は、関連する制作プロセスのステップ(モデル、サーフェス、リグまたはアセンブル、アニメート、ライトなど)を反映しています。
このデータセット例では、usd、usdc、usdaのファイル拡張子を使用したファイルがあります。軽量ファイル(通常、Asset Interface Layersのようなファイル)は、チームが直接閲覧できるようにusdaとして保存されました。より大きなデータファイルは、効率化のためと、チームメンバー全員にテキストエディタで閲覧・編集すべきではないことを示すためにusdcとして保存されました。基本的に、さまざまなファイルの接尾辞は、どのファイルが編集可能で、どれが放置されるべきかをチームメンバーに知らせるための二次的な戦略として機能しました。ルート/ベースアセットファイルは、ベストプラクティスとしてシンプルなusd拡張子を使用しました。
なぜチームはこのUSDアークを使うことにしたのでしょうか?
ダ・ヴィンチのデータセットの階層と構成は、アニメーションとVFXで見られる一般的な構成を表していました。コンセプトから納品まで、プロジェクトを達成するために必要なステップが、プロセス参加者のメンタルモデルに反映されていました。始点、中間点、終点(モデル、サーフェス、リグ、トラック、アニメーション、ライト)があり、チームは制作のさまざまな側面を一貫した方法でキャプチャしたいと考えました。
また、クリエイティブ・チームの構成も、プロジェクトがどのように構成されるかの参考となり、個々のアーティストが、自分の作品が全体のパイプラインの中で、どこでどのように位置づけられるかを知ることができました。そのため、このプロジェクトで見られる構造の構成は、一般的に、プロセスがどのように割り当てられ、どのように提供されたかと一致しています。
サブレイヤーのコンポジション・アークは、アーティストが従来の順序で意見を表明(および上書き)できるように使用されました。彼らがOmniverseの中で非破壊的に変更を加え、チームの他のメンバーがレビューできるようにするのは、シンプルで直感的でした。却下されたものは、コンポジションの残りの部分をリファクタリングすることなく、単純にサブレイヤーをオフにしたり削除したりすることができました。
ペイロードと参照アークは、効率、制御、アセットの再利用を可能にしました。これは、メモリを大量に消費する大きなエレメントや、シーン内で他の一般的なエンタレッジアセットを複数回複製する必要がある場合に、特に重要になりました(例:Bowl_asset、Bowl_asset_01、Bowl_asset_02、...)。
アセットパラメータ化(LODとスケルトン)も、バリアントコンポジションアークできれいに有効化され、チームは希望のワークフローに基づいてアセットをすばやく設定できるようになりました。必要に応じて、ジオメトリのオン/オフ、マテリアル解像度の設定、プロキシジオメトリのみの表示も可能でした。
結論
ダ・ヴィンチのデータセットは、典型的なプロダクションパイプラインにおけるリニアコンテンツのコラボレーティブワークフローの構成方法の一例です。これはシンプルなコンセプトの力をスケールで示すものであり、コンテンツ制作者がデータ作成と集約だけでなく、プロジェクト編成のための独自のパターンを開発するのに役立ちます。OpenUSDのパワーを活用したアウトプットをご覧ください。