1.0 USDとは

  1. Pixar によって開発されたオープンソースの3Dシーングラフ形式及びその形式を扱うシステムです。
  2. ※ ファイル形式は、テキスト形式 (usda) 、バイナリ形式 (usdc)、アーカイブ形式 (usdz)
  3. UnrealEngine以外にも、MayaやBlender、Houdiniなどの様々なDCCでサポートされています。
  4. ※ UnrealEngine内では、Unreal Objectとは別にUSD Objectが存在します。

1.1 使用する為の事前準備

  1. UnrealでUSDを使用する為にはプラグインを有効にする必要があります
  2. 「USDImporter」と「USDMultiUser」を有効にします
  3.  編集 > プラグイン > Importers > USDImporter
    編集 > プラグイン > Importers > USDImporter 編集
  4. この章では下記のサンプルアセットを使用して説明するため、下記からダウンロードしてください

1.2 インポート

  1. アセットのみをインポート
  2. アセットのみをインポートする際は、通常のオペレーションと同じくUSDファイルをD&Dします。
  3. ※ このインポートの仕方はStage情報がない為、USD内で使用されているモデルのみがインポートされます
    1. USDファイルをコンテンツブラウザにD&Dします
    2. インポート先のフォルダを指定して「OK」を押します
    3.  フォルダ選択 > OK
      フォルダ選択 > OK フォルダ選択
    4. インポートオプションを設定して「インポート」を押します
    5. ※ 今回は初期設定でインポートします
    6. 下の方のOK 下の方のOK
    7. インポート先に指定したフォルダにメッシュなどがインポートされていれば成功です
  4. Stageとしてインポート
  5. USDStageとしてインポートする場合は「USDStageパネル」を使用してインポートします
  6. ※ このインポートの仕方はレベルにしか保存されません
  7. ※ インポート後にUnrealObjectに変換することは可能です
    1. USDStageパネルを開きます
    2.  ウィンドウ > バーチャルプロダクション > USDステージ
      ウィンドウ > バーチャルプロダクション > USDステージ ウィンドウ
    3. ファイル > 開く からUSDファイルを開きます
    4.  ファイル > 開く
      ファイル > 開く ファイル
    5. レベルの「UsdStageActor」にインポートしたUSDの内容が表示されていれば成功です
    6. 下部ツールバー > Python 下部ツールバー
  8. USDStage階層などを保ってインポート
  9. USDStage階層などを保ってインポートする場合は「Stageとしてインポート」の後に、USDStageパネルからアセットをインポートします
  10. ※ インポートをしてUnrealObjectになるとUSDには戻せません
    1. USDStageパネルを開きます
    2. アクション > インポート から手順に沿ってUSDObjectをUE内にインポートします
    3.  アクション > インポート
      アクション > インポート アクション
    4. コンテンツブラウザにインポートしたアセットが表示され「UsdStageActor」が「Actor」になっていれば成功です
    5. 「UsdStageActor」が「Actor」になっている 「UsdStageActor」が「Actor」になっている

1.3 USDStageパネル

  1. USDStageパネルでは、プリニティブ、ペイロード、リファレンスなどの操作が出来ます
    また、追加などは全てUSDファイルを指定します
  2. メニューの保存では、開いているUSDに上書きで保存されます
  3. UI説明
  4. 下の方のOK 下の方のOK
    1. メニュー
    2. USDファイルの読み込み、保存などが使用出来ます
    3. 階層
    4. インポートしたUSDファイルの階層
    5. プロパティ
    6. 階層部分で選択しているプリニティブの全プロパティ
    7. レイヤー
    8. USDのレイヤー
  5. プリニティブの複製、追加 / 参照、ペイロードの追加
  6. 上記操作は右クリックメニューから行えます
  7. 機能: メニュー名
    プリニティブの追加: 子を追加
    参照の追加: リファレンスを追加
    ペイロードの追加: ペイロードを追加
  8. 下の方のOK 下の方のOK
  9. バリアントの切り替え
  10. バリアントが存在する場合には、メニューにコンボボックスで表示されます
  11. 下の方のOK 下の方のOK

1.4 Material

  1. USDオブジェクトのマテリアルは事前に定義されたマテリアルからマテリアルインスタンスとして作成されます
  2. 事前に定義されていないマテリアルを使用したい場合は、コードから変える必要があります
  3. ※ インポート後に手動で変えることは可能です
  4. DisplayColor
  5. 主に、頂点カラーのみの場合に使用されます
  6. BasePath: Engine/Plugins/Importers/USDImporter/Content/Materials/DisplayColor
  7. DisplayColorAndOpacity
  8. 主に、頂点カラーと透明がある場合に使用されます
  9. BasePath: Engine/Plugins/Importers/USDImporter/Content/Materials/DisplayColorAndOpacity
  10. DisplayColorDoubleSided
  11. 主に、頂点カラーのみかつ、両面ポリゴン場合に使用されます
  12. BasePath: Engine/Plugins/Importers/USDImporter/Content/Materials/DisplayColorDoubleSided
  13. DisplayColorAndOpacityDoubleSided
  14. 主に、頂点カラーと透明がある場合かつ、両面ポリゴン場合に使用されます
  15. BasePath: Engine/Plugins/Importers/USDImporter/Content/Materials/DisplayColorAndOpacityDoubleSided
  16. UsdPreviewSurface
  17. 主に、頂点カラーを使用していなく、透明がない場合に使用されます
  18. BasePath: Engine/Plugins/Importers/USDImporter/Content/Materials/UsdPreviewSurface
  19. UsdPreviewSurfaceTranslucent
  20. 主に、頂点カラーを使用していなく、透明がある場合に使用されます
  21. BasePath: Engine/Plugins/Importers/USDImporter/Content/Materials/UsdPreviewSurfaceTranslucent

1.5 Animation

  1. Animationは全てSequencerとして下記に書き出されます
  2. ※ USDにAnimationを付けて書き出す場合も、下記のSequencerを操作します
  3. 下部ツールバー > Python 下部ツールバー

引用・参考資料