search
  1. ソフト・サービス
  2. Blender
  3. Blenderのインポートとエクスポート
  4. BlenderのUSDのエクスポートとインポート|書き出しと読み込みの設定

Blender

BlenderのUSDのエクスポートとインポート|書き出しと読み込みの設定

編集部 読了 約23分

USD(Universal Scene Description)は、形・ライト・カメラ・マテリアルを含むシーンを、ソフトのあいだで受け渡すための形式です。BlenderのUSDの書き出しの設定は、7つのまとまりに分かれています。まとまりは、「全般」「オブジェクトタイプ」「ジオメトリ」「リギング」「マテリアル」「アクセシビリティ」「実験的」です。読み込みの設定は、「全般」「オブジェクトタイプ」「ジオメトリ」「リギング」「マテリアル」「テクスチャ」「パーティクルとインスタンス」の7つです。

画面と試した結果は、Blender(ブレンダー)5.2 LTSのものです。設定の中身は5.2の公式マニュアルと画面の説明文で、書き出したファイルの中身はUSDのライブラリで読んで確かめました。受け取る側のソフトで開いた結果は試していません。

USDはシーンをプリムの階層で持つ形式で、Blenderはその一部を書き出して読み込む

5.2の公式マニュアルによると、USDのファイルは、シーンをプリム(prim)と呼ぶ要素の階層で持ちます。1つ1つのプリムが、形・ライト・カメラ・トランスフォームの階層などを表します。USDは、レイヤーの重ね合わせ・上書き・ほかのファイルの参照といった複雑な組み方もできます。Blenderの読み込みは、レイヤーや参照をまだ扱いません。書き出しは、レイヤーを書きません。

公式マニュアルに載っている、BlenderからUSDに書き出せるものは次のとおりです。

  • メッシュ
  • カメラ(透視投影だけ)
  • カーブ
  • テキスト(メッシュとして書き出す)
  • ライト
  • ヘアー(カーブとして書き出す。親の毛だけ)
  • ポイントクラウド
  • メタボール(アニメーションするメッシュとして書き出す)
  • ボリューム
  • アーマチュア

アニメーションを書き出すときは、計算したあとの最終のメッシュが書かれます。そのため、動かないメッシュ、頂点が動くだけのメッシュ、液体のシミュレーションのように面のつながりが変わるメッシュも書き出せます。

実際に書き出して試すと、平行投影のカメラは、名前の付いた空の変換(Xform。位置・回転・スケールの変換だけを持つプリム)だけになりました。3Dの文字は、メッシュとして書き出されました。

書き出しは、「ファイル」→「エクスポート」→「Universal Scene Description (.usd*)」から選びます。

「ファイル」→「エクスポート」のメニューの「Universal Scene Description (.usd*)」
「ファイル」→「エクスポート」のメニュー。赤枠が「Universal Scene Description (.usd*)」(Blender 5.2)

読み込みは、「ファイル」→「インポート」→「Universal Scene Description (.usd*)」から選びます。

「ファイル」→「インポート」のメニューの「Universal Scene Description (.usd*)」
「ファイル」→「インポート」のメニュー。赤枠が「Universal Scene Description (.usd*)」(Blender 5.2)

書き出しの「全般」で、書き出す範囲・名前・ファイルの参照・向き・単位を決める

書き出しの画面の右の「オペレータープリセット」の下が、「全般」のまとまりです。書き出す範囲、名前の書き方、ほかのファイルの参照、軸の向きと単位を決めます。

USDの書き出しの「全般」
USDの書き出しの「全般」(既定の値。右の欄の幅を広げて撮った)
設定既定中身(画面の説明・公式マニュアル)
ルートプリム/root書き出す全部のデータの親として、このパス(USDの中の場所。「/root」のように書く)に変換のプリムを足す
内容:選択物のみオフ選択したオブジェクトだけを書き出す。選択していない親は、空の変換(Xform)として書かれる。シーンに並べたコレクションのインスタンスは、インスタンスを置いているオブジェクトを選択していれば、選択したものとして扱う
内容:アニメーションオフ今のフレームだけでなく、レンダーのフレームの範囲を全部書き出す
インクリメンタル保存0「アニメーション」がオンのときだけ出る。決めたフレームの数ごとに少しずつ保存し、使うメモリを抑える。書き出しに時間がかかり、ファイルを同期するサービスで問題が起きることがある。0で使わない
Blenderデータ:カスタムプロパティオンカスタムプロパティを、USDの属性として書き出す
名前空間userProperties書き出すカスタムプロパティの名前の頭に付ける名前空間。頭に名前空間が無い名前だけに付く(「bar」には付き、「foo:bar」には付かない)。Blenderのオブジェクトとデータの名前は、いつも「userProperties:blender」に書かれる
Blenderでの名前オン元のBlenderのオブジェクトとデータの名前を、USDの属性として書く
Unicode有効オンプリムとプロパティの名前の、UTF-8の文字(日本語など)をそのまま残す。開くには、USD 24.03以降を使うソフトが要る
ファイル参照:相対パスオン画像やボリュームなどのほかのファイルを、相対パスで参照する。オフでは絶対パス
座標軸を変換オフほかのソフトに合わせて、軸の向きを変換する
前方の軸・上向きの軸-Z・Y「座標軸を変換」がオンのときだけ出る。公式マニュアルによると、Blenderは前がY・上がZで、上がYのソフトには「-Z」「Y」にする
単位メートルUSDのステージ(USDのファイルが表すシーン全体)の1単位を何メートルとするか(metersPerUnit)。メートル・キロメートル・センチメートル・ミリメートル・インチ・フィート・ヤード・カスタム
メートル毎単位1.000「単位」が「カスタム」のときだけ出る。1単位あたりのメートルの値
Xformオペレーター移動,回転,スケール変換の書き方。「移動,回転,スケール」「移動,方向,スケール」(回転をクォータニオンで書く)「行列」
使用する設定レンダーオブジェクトの表示やモディファイアーなど、ビューポートとレンダーで違う設定のどちらを使うか

「アニメーション」と「座標軸を変換」をオンにし、「単位」を「カスタム」にすると、4つの設定が足されます。

USDの書き出しの「全般」で、条件で出る設定
足された「インクリメンタル保存」「前方の軸」「上向きの軸」「メートル毎単位」

2m×4m×1mの箱を書き出して、ファイルの中身を読みました。既定では、ステージの上向きの軸(upAxis)はZ、1単位は1メートルでした。「単位」を「ミリメートル」にすると、1単位は0.001メートルになり、ルートのプリムに1000倍のスケールが付きました。「座標軸を変換」をオンにすると、上の向きはYになり、ルートのプリムにXの−90°の回転が付きました。どちらのファイルも、Blenderで読み込み直すと、箱は2m×4m×1mで、位置と向きも書き出す前と同じでした。

公式マニュアルは、見えないオブジェクトは書き出さないとしています。Blenderでは、アウトライナーの目のアイコン(ビューポートで隠す)でオブジェクトを見えなくできます。「ビューポートで無効」と「レンダーで無効」の設定でも、見えなくできます。試すと、既定の「使用する設定:レンダー」では、レンダーで無効にしたオブジェクトは外れ、目のアイコンで隠したオブジェクトは書き出されました。「ビューポート」にすると、ビューポートで無効にしたオブジェクトが外れ、目のアイコンで隠したものは書き出されました。

「オブジェクトタイプ」と「ジオメトリ」で、書き出すものの種類と形の中身を決める

「全般」の下が、「オブジェクトタイプ」と「ジオメトリ」です。「オブジェクトタイプ」は、「ヘアー」のほかは既定でオンです。

USDの書き出しの「オブジェクトタイプ」と「ジオメトリ」
「オブジェクトタイプ」「ジオメトリ」(既定の値)
まとまり設定既定中身(画面の説明・公式マニュアル)
オブジェクトタイプメッシュオンメッシュを書き出す
オブジェクトタイプ照明オンライトを書き出す。スポットライトはUsdLuxShapingAPIで書く
オブジェクトタイプワールドドームライトオンワールドの背景のマテリアルを、USDのドームライトにする。今のところ、「環境テクスチャ」を「背景」につないだ簡単なマテリアルだけ(テクスチャの色にベクトルの乗算を挟んでもよい)
オブジェクトタイプカメラ設定オンカメラを書き出す。透視投影だけ
オブジェクトタイプカーブオンカーブを書き出す
オブジェクトタイプポイントクラウドオンポイントクラウドを書き出す
オブジェクトタイプボリュームオンボリュームを書き出す
オブジェクトタイプヘアーオフヘアーのパーティクルを、USDのカーブとして書き出す。親の毛だけで、毛ごとの色は書き出さない(一色になる)
ジオメトリUVマップオンメッシュのUVマップを書き出す。USDでの名前は、Blenderでの名前と同じ
ジオメトリUVマップをリネームオンアクティブなレンダーのUVマップの名前を、USDの決まりの「st」にする
ジオメトリノーマルオンメッシュの法線を書き出す(カスタムの法線も含む)
ジオメトリ親のXformと統合オフできるときは、形のプリムを親の変換(Xform)のプリムとまとめる。USDは形のプリムの入れ子を認めないので、オブジェクトの階層があるときは、間に変換のプリムを置く
ジオメトリメッシュの三角面化オフ書き出すときに、面を三角形にする
ジオメトリ四角形分割方法最短の対角線「メッシュの三角面化」がオンのときだけ出る。四角形の分け方。高品質・固定・別の固定の順序・最短の対角線・最長の対角線
ジオメトリポリゴン高品質「メッシュの三角面化」がオンのときだけ出る。5つ以上の頂点の面の分け方。「高品質」か「クリップ」
ジオメトリ細分化ベストマッチサブディビジョンサーフェスの扱い。「無視」=細分化しない元のメッシュを書く/「テッセレート」=細分化したあとのメッシュを書く/「ベストマッチ」=できるときは、USDの細分化の決まり(カトマルクラーク)を付けて元のメッシュを書く。「シンプル」の細分化では、細分化したあとのメッシュを書く

「メッシュの三角面化」をオンにすると、「四角形分割方法」と「ポリゴン」が足されます。

USDの書き出しで、三角面化とUSDZのカスタムで出る設定
「メッシュの三角面化」をオンに、「USDZテクスチャダウンサンプリング」を「カスタム」にしたとき。「四角形分割方法」「ポリゴン」「USDZカスタムダウンスケールサイズ」が足される

書き出したファイルでは、エリアライトはRectLight、サンはDistantLight、ポイントとスポットはSphereLightになりました。ワールドに環境テクスチャをつないだ状態では、ドームライトが書かれました。

「リギング」と「マテリアル」で、骨とシェイプキー、マテリアルと画像の書き出し方を決める

「ジオメトリ」の下の「リギング」と「マテリアル」は、既定では閉じています。「マテリアル」は見出しにチェックがあり、既定でオンです。

USDの書き出しの「リギング」と「マテリアル」
「リギング」「マテリアル」(既定の値。閉じていた欄を開いて撮った)
まとまり設定既定中身(画面の説明・公式マニュアル)
リギングシェイプキーオンシェイプキーを、USDのブレンドシェイプとして書き出す。絶対のシェイプキーは扱えない
リギングアーマチュアオンアーマチュアと、アーマチュアのモディファイアーの付いたメッシュを、USDのスケルトンとスキンのメッシュとして書き出す。アーマチュアのほかのモディファイアーは適用されない。ベンディボーンは扱えない
リギング変形ボーンのみオフ変形のボーンと、その親だけを書き出す
マテリアル(見出しのチェック)オンマテリアルを書き出す。複数のマテリアルを持つメッシュは、マテリアルごとに面の組(ジオメトリサブセット)を作る。1つ目のマテリアルは、メッシュそのものにも付ける
マテリアルUSDプレビューサーフェスネットワークオンプリンシプルBSDFのノードを、USDのプレビューサーフェス(USDのマテリアルの形式の1つ)に近づけて書き出す
マテリアルMaterialXネットワークオフMaterialX(マテリアルの組み方の決まりの1つ)で、マテリアルのノードを書き出す。プリンシプルBSDFでは使える形になるが、ほかのBSDFでは、ほかのソフトが読みにくい形になることがある
マテリアルテクスチャをエクスポート新規パス画像の書き出し方。「維持」=元の画像の場所を使う/「保護」=読み込んだUSDの画像の場所はそのまま、ほかの画像はUSDの横の「textures」フォルダーに書き出す/「新規パス」=画像を、USDの横の「textures」フォルダーに書き出す
マテリアルテクスチャを上書きオフ画像を書き出すとき、同じ名前の画像があれば上書きする
マテリアルUSDZテクスチャダウンサンプリング維持.usdz(USDと画像を1つにまとめたファイル。下の節で説明)に入れる画像の大きさの上限。維持・256・512・1024・2048・4096・カスタム(ピクセル)。.usdcで書き出したときは、画像は元の大きさのままだった
マテリアルUSDZカスタムダウンスケールサイズ128「USDZテクスチャダウンサンプリング」が「カスタム」のときだけ出る。上限のピクセル数

公式マニュアルによると、「USDプレビューサーフェスネットワーク」と「MaterialXネットワーク」を両方オフにすると、ビューポート表示の色になります。プレビューサーフェスが扱えるのは、簡単なノードの組み方です。使えるのは「ディフューズBSDF」「プリンシプルBSDF」「画像テクスチャ」「UVマップ」「Separate RGB」だけです。「Separate RGB」はマニュアルの書き方で、5.2の画面では「カラー分離」です。アルファの切り抜き(opacityThreshold)は、プリンシプルBSDFの「アルファ」につなぐ「数式」のノードで作ります。しきい値が0.5なら「数式」を「丸め」にし、ほかのしきい値なら「数式」を2つ使って「1 −(値 < しきい値)」を組みます。ディスプレイスメントは、オブジェクト空間の値だけを扱い、ベクトルのディスプレイスメントは扱いません。中間レベルとスケールは、一定の値だけです。MaterialXでは、ディスプレイスメントはまだ扱いません。

画像テクスチャを貼った箱で試しました。既定の「新規パス」では、USDの横の「textures」フォルダーに画像が書き出され、USDの中は「./textures/」からの相対パスになりました。「維持」では、画像は書き出されず、USDの中は元の画像への相対パスになりました。

「アクセシビリティ」「実験的」の設定と、書き出しで扱えないもの

「マテリアル」の下の「アクセシビリティ」と「実験的」も、既定では閉じています。「アクセシビリティ」の「ラベル」「詳細」は空で、「実験的」の「インスタンス化」はオフです。公式マニュアルによると、アクセシビリティは、USDを開いたソフトが、アクセシビリティの仕組みに渡すための名前と説明です。

USDの書き出しの「アクセシビリティ」と「実験的」
「アクセシビリティ」「実験的」(既定の値。閉じていた欄を開いて撮った)
まとまり設定既定中身(画面の説明・公式マニュアル)
アクセシビリティラベル(空)書き出すステージの既定のプリムに付ける、アクセシビリティのラベル
アクセシビリティ詳細(空)書き出すステージの既定のプリムに付ける、アクセシビリティの説明
実験的インスタンス化オフ複製したオブジェクトを、元のオブジェクトの参照として書き出す。オフでは、実物として書き出す(100のパーティクルを100のメッシュで表示していれば、100のメッシュになる)。元のオブジェクトを書き出さないときは、最初の複製を実物として書き、参照に使う

公式マニュアルによると、オブジェクトごとのアクセシビリティは、オブジェクトのデータブロックに、文字列のカスタムプロパティを足して付けます。要るのは「accessibility:〈名前空間〉:label」と「accessibility:〈名前空間〉:description」の2つです。「accessibility:〈名前空間〉:priority」(low・standard・high)は、足さなくてもかまいません。名前空間は「default」がすすめられています。

公式マニュアルに載っている、書き出しの制限は次のとおりです。

項目制限
片面と両面USDはマテリアルごとの片面・両面を持てないので、1つ目のマテリアルの設定でメッシュ全体を決める。マテリアルが無いときは両面
マテリアル複数のマテリアルは面の組(ジオメトリサブセット)に分ける。面の組は時間で変わらないので、面のつながりが変わるアニメーションでは崩れることがある
ヘアー親の毛だけを書き出す。毛ごとの色は書き出さない(一色になる)。UVと法線は書き出さない
カメラ透視投影だけ
パーティクル生きているあいだだけ書く。寿命の外で隠す処理はない
ジオメトリノードモディファイアーの出力は、元のオブジェクトと同じ種類のデータだけにする(メッシュならメッシュだけ)。違う種類が混ざると正しく書き出されない。「成分分離」のノードで分けられる
インスタンスジオメトリノードのポイントのインスタンスは、一部だけ対応(UsdGeomPointInstancer)。「オブジェクト情報」「コレクション情報」のノードを使う簡単な組み方は書き出せる。除外したコレクション・入れ子のコレクション・別のシーンのコレクションでは崩れることがあり、そのときは「インスタンス実体化」のノードを使う。コレクションやオブジェクトを直接インスタンスにしたものは、元への参照として書く(メッシュ・カーブ・ポイントクラウド)
USDZUDIMの画像は、USDZに入れられない

拡張子を.usdzにすると、USDと画像が1つのファイルにまとまる

公式マニュアルによると、書き出すファイルの拡張子を.usdzにすると、USDと画像をまとめたzipのファイル(USDZ)になります。同じ箱を.usdzで書き出すと、ファイルは1つで、中にUSD(.usdc)と「textures」フォルダーの画像が入っていました。「USDZテクスチャダウンサンプリング」を「256」にすると、.usdzの中の600×400ピクセルの画像は256×170ピクセルになりました。

読み込みの「全般」と「オブジェクトタイプ」で、読み込む範囲と種類を決める

読み込みの画面の右の一番上が「全般」です。読み込む範囲・単位・カスタムプロパティの扱いを決めます。

USDの読み込みの「全般」
USDの読み込みの「全般」(既定の値。右の欄の幅を広げて撮った)
設定既定中身(画面の説明・公式マニュアル)
パスマスク(空)このパス(USDの中の場所)のプリムと、その下だけを読み込む。コンマかセミコロンで区切って、複数のパスを書ける
内容:可視プリミティブのみオン見えないプリムを読み込まない。見え方がアニメーションしないプリムだけに効く(アニメーションするものは、いつも読み込む)
内容:定義済プリミティブのみオン定義されたプリムだけを読み込む。オフでは、上書き(override)だけのプリムなども読み込む
フレーム範囲を設定オンシーンの開始と終了のフレームを、USDに合わせる
コレクションを作成オフ読み込んだオブジェクトを全部、新しいコレクションに入れる
相対パスオン.blendのファイルからの相対パスでファイルを選ぶ
単位変換スケールを適用オンUSDのステージの1単位のメートルの値(metersPerUnit)で、大きさを変える。「スケール」にも重ねて掛かる
スケール1.000読み込むときに、ワールドの原点を中心に掛ける倍率
光量のスケール1.000読み込んだライトの強さに掛ける倍率
カスタムプロパティ全カスタムUSDの属性をカスタムプロパティにするか。「なし」=読み込まない/「ユーザー」=「userProperties」の名前空間の属性だけを、名前空間を外して読み込む/「全カスタム」=全部を、名前空間を残して読み込む

「全般」の下が「オブジェクトタイプ」です。「表示目的」の「プロキシ」と「ガイド」のほかは、既定でオンです。

USDの読み込みの「オブジェクトタイプ」
「オブジェクトタイプ」(既定の値)
設定既定中身(公式マニュアル)
カメラ設定オンカメラを読み込む。投影(透視・平行)・焦点距離・被写界深度の距離・F値・クリップの開始と終了・シフトのXとY・センサーの大きさを読む。ほとんどの値はアニメーションも読む。センサーの大きさは、USDとBlenderで考え方が違うので、読み込みに制限がある
カーブオンBasisCurvesはカーブ、NurbsCurvesはメッシュとして読み込む
照明オンライトを読み込む。円柱とジオメトリのライトは読まない
ワールドドームライトオン最初に見つけたドームライトを、ワールドの背景のシェーダーにする
マテリアルオンUSDのプレビューサーフェスのマテリアルを読み込む
メッシュオンメッシュを読み込む
ボリュームオンOpenVDBのボリュームを読み込む
ポイントクラウドオンポイントを、ポイントクラウドとして読み込む
USDシェイプオンUSDの基本の形(カプセル・円すい・立方体・円柱・平面・球)を、メッシュとして読み込む
表示目的:レンダーオン用途が「render」のプリムを読み込む
表示目的:プロキシオフ用途が「proxy」のプリムを読み込む
表示目的:ガイドオフ用途が「guide」のプリムを読み込む
マテリアル用途フルどの用途のマテリアルを読み込むか。「全用途」=allPurpose/「プレビュー」=preview(無ければallPurpose)/「フル」=full(無ければallPurpose、次にpreview)

公式マニュアルによると、USDのプリムは、読み込むとBlenderのオブジェクトの階層になります。変換だけのプリム(Xform)は、エンプティになります。まとめるだけで変換を持たないプリム(Scope)も、原点に置いたエンプティになります。ポイントにインスタンスを並べるプリム(PointInstancer)は、ポイントクラウドになります。インスタンスは、ジオメトリノードのモディファイアーと「ポイントにインスタンス作成」のノードで並びます。

読み込みは、変換の動きと形の動きの2つを読みます。変換が時間で変わるプリムには、「トランスフォームキャッシュ」のコンストレイントが付きます。形が時間で変わるメッシュ・カーブ・ポイントクラウドには、「メッシュ連番キャッシュ」のモディファイアーが付きます。色・UV・速度などの属性(Primvar)の動きも読みます。フレームごとに別のファイルに分けたUSDは読めません。

上向きの軸がYのUSDは、ルートのオブジェクトを回して、BlenderのZが上の向きに合わせます(公式マニュアル)。

読み込みの「ジオメトリ」「リギング」「マテリアル」「テクスチャ」「パーティクルとインスタンス」

「オブジェクトタイプ」の下の「ジオメトリ」「リギング」「マテリアル」は、既定では閉じています。

USDの読み込みの「ジオメトリ」「リギング」「マテリアル」
「ジオメトリ」「リギング」「マテリアル」(既定の値。閉じていた欄を開いて撮った)
まとまり設定既定中身(画面の説明・公式マニュアル)
ジオメトリUV座標オンメッシュのUVを読み込む
ジオメトリカラー属性オンUSDのdisplayColorを、カラー属性にする
ジオメトリメッシュ属性オンUSDのPrimvarを、メッシュの属性として読み込む
ジオメトリ細分化オフUSDの細分化の属性から、サブディビジョンサーフェスのモディファイアーを作る
ジオメトリメッシュを検証オフ読み込んだメッシュの壊れたデータを調べて直す。オフのとき、壊れたデータがあると、表示や編集で強制終了することがある。公式マニュアルは、読み込みは遅くなるがオンをすすめている
ジオメトリ親のXformと統合オン親の変換(Xform)の子が1つだけのとき、プリムを親とまとめる
リギングシェイプキーオンUSDのブレンドシェイプを、シェイプキーとして読み込む
リギングアーマチュアオンUSDのスケルトンを、アーマチュアとして読み込む
マテリアル全マテリアルをインポートオフどの形にも使っていないマテリアルも読み込む(オフでも、形が使うマテリアルは読み込む)
マテリアルUSDプレビューをインポートオンUSDのプレビューサーフェスを、プリンシプルBSDFのノードにする。すべての設定は変換できないので、近い見た目になる
マテリアルマテリアルブレンドを設定オン「USDプレビューをインポート」がオンのとき、不透明度とopacityThresholdから、マテリアルのブレンドの方法を決める
マテリアルマテリアル名衝突時の処理ユニーク化同じ名前のマテリアルがあるとき、「ユニーク化」=別のマテリアルにする/「既存を参照」=今あるものを使う

公式マニュアルによると、マテリアルの付いたメッシュには、USDのマテリアルと同じ名前のマテリアルが付きます。プレビューサーフェスのマテリアルでは、ビューポート表示の色・メタリック・粗さに、その値が入ります。

「マテリアル」の下が「テクスチャ」と「パーティクルとインスタンス」です。「テクスチャ」の下の2つの設定は、「テクスチャをインポート」が「コピー」のときだけ効きます。

USDの読み込みの「テクスチャ」と「パーティクルとインスタンス」
「テクスチャ」「パーティクルとインスタンス」(既定の値。灰色の2つは、今は効かない)
まとまり設定既定中身(画面の説明・公式マニュアル)
テクスチャテクスチャをインポートパックUSDZから画像を取り出す方法。「なし」=取り出さない(マテリアルの画像が見つからないことがある)/「パック」=.blendのファイルに入れる/「コピー」=「テクスチャディレクトリ」にコピーする
テクスチャテクスチャディレクトリ//textures/「コピー」のときのコピー先。既定の「//textures」は.blendからの相対パスなので、先に.blendを保存しておく
テクスチャファイル名の衝突時既存を使用同じ名前の画像があるとき、「既存を使用」=コピーせず今あるものを使う/「上書き」=上書きする
パーティクルとインスタンスシーンインスタンスオンUSDのシーングラフのインスタンスを、コレクションのインスタンスとして読み込む。オフでは、複製として読み込む

.usdzを読み込むと、画像は.blendのファイルに入りました(パック)。.usdcを読み込むと、画像はファイルの場所を参照したままでした。

公式マニュアルによると、読み込みと書き出しのどちらでも、属性(Primvar)は、Blenderの属性にある型だけを扱います。

Blenderの型USDの型
ブーリアンbool
8ビット整数uchar(読み込みで符号付きに、書き出しで符号なしに変える)
整数int
Floatfloat
ベクトルfloat3
2Dベクトルfloat2・texCoord2f
カラーcolor4f(displayColorは、アルファ1のcolor3fとして読み書きする)
Byteカラーcolor4f(浮動小数点の値に変えて書く)
クォータニオンquatf

64ビットの整数、符号なしの整数、倍精度と半精度の浮動小数点数は扱いません。float4も、カラーやクォータニオンとしては扱いません。

Blenderから書き出した.usdcを読み込み直すと、箱の大きさ・位置・向きは同じでした。ライトは、エリア・サン・ポイント・スポットのまま読み込まれました。オブジェクトの名前は、書き出す前のオブジェクトの名前でなく、メッシュ・ライト・カメラのデータの名前になりました。読み込みの「親のXformと統合」をオフにすると、元のオブジェクトの名前のエンプティが残り、その子にデータの名前のメッシュが入りました。

建築のモデルをUSDで渡すときと、受け取ったUSDを開くときに見直す設定

建物のモデルをUSDで渡すときに見直すのは、次の項目です。

  • 1つのファイルで画像まで渡すなら、拡張子を.usdzにする。.usdcで渡すなら、「textures」フォルダーごと渡す
  • 相手のソフトが上向きの軸の指定を読まず、上をYとして開くなら、「座標軸を変換」をオンにする
  • 相手のソフトの単位がミリメートルなどなら、「単位」を合わせる。大きさは、ルートのスケールで保たれる
  • 渡すものだけを書き出すなら、「選択物のみ」をオンにする。選択していない親は、空の変換として書かれる。目のアイコンで隠しただけのオブジェクトは書き出される
  • 名前に日本語があり、相手のソフトのUSDが24.03より前なら、「Unicode有効」をオフにする(画面の説明)
  • 渡すカメラは透視投影にする
  • マテリアルは、プリンシプルBSDF(新しく作ったマテリアルに最初から入っているノード)と画像テクスチャの簡単な組み方にする。書き出しで使うプレビューサーフェスが対応するノードは限られる

受け取ったUSDをBlenderで開くときは、次の項目を見直します。

  • 大きさが合わないときは、「単位変換スケールを適用」と「スケール」を見る
  • 一部だけを読み込むなら、「パスマスク」にプリムのパスを入れる
  • ほかのソフトで作ったUSDは、「メッシュを検証」をオンにする(読み込みは遅くなる)
  • オブジェクトの名前を保ちたいときは、「親のXformと統合」をオフにする
  • .usdzの画像を.blendに入れたくないときは、「テクスチャをインポート」を「コピー」にし、先に.blendを保存する

ほかの形式との違いと、テクスチャを消さずに渡す方法は、BlenderのFBX・OBJ・glTF・USDの選び方|書き出したモデルのテクスチャが消えないようにするで解説しています。

Blenderで建築パースを作る方法は、建築3DCGコース(Blender)で学べます。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい