このリポジトリは、単純な USD プロジェクトのコレクションです。各プロジェクトは、単一の機能または USD 機能のグループを紹介します。
このリポジトリは 6 つのカテゴリに分かれています
機能は、 USD で動作する単一のクラスまたは関数セットを強調表示します。
概念は、 「機能」で説明されている機能を取り上げ、それを現実世界の例に拡張します。
トリックは、USD 機能を使用したシンプルで独立したアイデアです。
プラグインは、パイプラインに合わせて USD をカスタマイズする方法を示します。
ツールは、USD を使用して特定のタスクを実行するために構築されたさまざまなスクリプトです。
リファレンスは、 USD に関する詳細情報と、プロジェクト内で USD を操作する方法を見つけるのに役立つページです。
このリポジトリ内のすべてのプロジェクトは、可能な限り Python、C++、USDA で作業する方法を示します。
コンセプト フォルダーで USD の機能を誇示しようとしていて、それには大量のコードが必要な場合は、最上位の README.md ファイルに重要な部分がまとめられています。詳細については、他のリソースを参照する場合もあります。
最後に、ソース コード ファイルには、表示される内容についての説明が含まれる場合があります。これらの各行にはXXX
のマークが付いています。
C++ プロジェクトに特定の命令がない限り、すべてのプロジェクトは次のコマンドを使用してコンパイルおよび実行されます。
cd {some_concept_cpp_folder}/build
USD_INSTALL_ROOT=/wherever/you/installed/USD/to cmake ..
make
./run_it
USD_INSTALL_ROOT
は通常、Linux ではデフォルトで/usr/local/USD
に設定されますが、場所は異なる場合があります。詳細については、USD のビルド ドキュメントを参照してください。
Python モジュールは、 python name_of_module.py
を使用して常に実行できます。
このリポジトリ内の各プロジェクトの推奨される表示順序のリンクを次に示します。
USD ファイルにコメントを追加する
SetKind を UsdPrim に設定
構成アークを専門とする
Prim AssetInfo の使用
カスタマイズ可能な userProperties の定義
ターゲットの編集
値解決キャッシュ
UsdGeomImageable と UsdGeomBBoxCache を使用した境界ボックスの計算
ピクサーの専門的な例
UsdPrim オブジェクトでの「目的」の使用
UsdResolveInfo - 意見の出所を見つける
デバッグ メッセージを有効にして独自のメッセージを作成する
USD ステージのプロファイリング
バリュークリップの使い方
Sdf を使用した時変属性の設定
SdfChangeBlock - 効率的な USD オーサリング
SdfBatchNamespaceEdit および SdfNamespaceEdit - 効率的な USD オーサリング
UsdStageCache - USD ステージのキャッシュ
Tf Notice - ステージが変更されたときにコールバックを使用して関数を実行する
Tf Notice - 独自のカスタム コールバックを送信する
有効なモデル階層
VariantSet を理解する
VariantSet のオーバーライド
インスタンス化された UsdPrim を一意化する方法
USDリレーションシップ転送
運用シナリオでの VariantSet の使用
「専門化」構成アークの実践例
フォールバックメカニズムとしての「特化」コンポジションアーク
現在の SdfLayer で Prim を参照する
「孤立した」オーバーを見つける方法
マテリアルを使用したメッシュ
アセット構成アーク - サブレイヤー、参照、ペイロードがどのように連携するか
C++ STL を使用したプリムの印刷と変更
ブーストを使用したカスタム走査
インスタンス化されたプリムの走査
バリアント自動選択 - VariantSet を使用して他の VariantSet を変更する
VariantSet から別の Prim に意見をコピーする
属性のソースを見つける
プリムのバインドされたマテリアルを検索します (コレクション API を含む)
2 パスエクスポート - USD ステージを 100 倍高速にエクスポート
USD レイヤー スタックをフラット化する
弱いレイヤーを使用して強いレイヤーを変更する
マルチペイロード - はい、複数のペイロードを持つことができます
VariantSet を介してプリムを取得する
usdview_auto_reloader - usdview のレイヤーを自動的に更新します
usdview_root_loader - Prim ペイロードを再帰的にロード/アンロードする
usdview_Purpose_swap - ボタン 1 つでプロキシとレンダーの目的を切り替える
usdview_copy_camera - 現在のビューを表すプリムを usdview に作成します
VariantSet のフォールバック選択
VariantSet 選択エクスポート ポリシー
カスタムメタデータの追加
カスタム USD スキーマ
カスタム ArResolver プラグイン
usd_searcher - USD ファイルを検索するためのコマンドライン ツール
UsdSkelを最初からエクスポートする
エクステントヒントと境界ボックス
Python ドキュメントを USD のドキュメントにリンクする
usdviewを理解する
USD でサポートされるプラグイン マスターシート
その他のリソースを見つける場所
このリポジトリ用の Anki デッキもあります。ここをクリックしてダウンロードできます。
将来追加される予定のトピックのリストについては、この Wiki ページを参照してください。
このリポジトリは継続的な WIP です。何か書いてほしいことがあれば、私や他の人がそれを取り上げて取り組むことができるように、問題として提案してください。また、貢献したいことがあればぜひPRしてください。投稿は大歓迎です!
ただし、注意: このリポジトリは、実際には USD で物事を行うための最良の方法を示していない可能性があります。それは単なる(私の)個人的な発見のコレクションです。また、Pixar が米ドルでの新しいリリースや学習リソースを発表するため、この情報は古くなる可能性があります。ここに表示されているものよりも、常に主要なガイドやドキュメントを優先してください。
以下でテストしました: