- ソフト・サービス
- Blender
- Blenderのインポートとエクスポート
- BlenderのUSDのエクスポートとインポート|書き出しと読み込みの設定
Blender
BlenderのUSDのエクスポートとインポート|書き出しと読み込みの設定

BlenderのUSDのエクスポートとインポート|書き出しと読み込みの設定
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*)」から選びます。

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

| 設定 | 既定 | 中身(画面の説明・公式マニュアル) |
|---|---|---|
| ルートプリム | /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つの設定が足されます。

2m×4m×1mの箱を書き出して、ファイルの中身を読みました。既定では、ステージの上向きの軸(upAxis)はZ、1単位は1メートルでした。「単位」を「ミリメートル」にすると、1単位は0.001メートルになり、ルートのプリムに1000倍のスケールが付きました。「座標軸を変換」をオンにすると、上の向きはYになり、ルートのプリムにXの−90°の回転が付きました。どちらのファイルも、Blenderで読み込み直すと、箱は2m×4m×1mで、位置と向きも書き出す前と同じでした。
公式マニュアルは、見えないオブジェクトは書き出さないとしています。Blenderでは、アウトライナーの目のアイコン(ビューポートで隠す)でオブジェクトを見えなくできます。「ビューポートで無効」と「レンダーで無効」の設定でも、見えなくできます。試すと、既定の「使用する設定:レンダー」では、レンダーで無効にしたオブジェクトは外れ、目のアイコンで隠したオブジェクトは書き出されました。「ビューポート」にすると、ビューポートで無効にしたオブジェクトが外れ、目のアイコンで隠したものは書き出されました。
「オブジェクトタイプ」と「ジオメトリ」で、書き出すものの種類と形の中身を決める
「全般」の下が、「オブジェクトタイプ」と「ジオメトリ」です。「オブジェクトタイプ」は、「ヘアー」のほかは既定でオンです。

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

書き出したファイルでは、エリアライトはRectLight、サンはDistantLight、ポイントとスポットはSphereLightになりました。ワールドに環境テクスチャをつないだ状態では、ドームライトが書かれました。
「リギング」と「マテリアル」で、骨とシェイプキー、マテリアルと画像の書き出し方を決める
「ジオメトリ」の下の「リギング」と「マテリアル」は、既定では閉じています。「マテリアル」は見出しにチェックがあり、既定でオンです。

| まとまり | 設定 | 既定 | 中身(画面の説明・公式マニュアル) |
|---|---|---|---|
| リギング | シェイプキー | オン | シェイプキーを、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を開いたソフトが、アクセシビリティの仕組みに渡すための名前と説明です。

| まとまり | 設定 | 既定 | 中身(画面の説明・公式マニュアル) |
|---|---|---|---|
| アクセシビリティ | ラベル | (空) | 書き出すステージの既定のプリムに付ける、アクセシビリティのラベル |
| アクセシビリティ | 詳細 | (空) | 書き出すステージの既定のプリムに付ける、アクセシビリティの説明 |
| 実験的 | インスタンス化 | オフ | 複製したオブジェクトを、元のオブジェクトの参照として書き出す。オフでは、実物として書き出す(100のパーティクルを100のメッシュで表示していれば、100のメッシュになる)。元のオブジェクトを書き出さないときは、最初の複製を実物として書き、参照に使う |
公式マニュアルによると、オブジェクトごとのアクセシビリティは、オブジェクトのデータブロックに、文字列のカスタムプロパティを足して付けます。要るのは「accessibility:〈名前空間〉:label」と「accessibility:〈名前空間〉:description」の2つです。「accessibility:〈名前空間〉:priority」(low・standard・high)は、足さなくてもかまいません。名前空間は「default」がすすめられています。
公式マニュアルに載っている、書き出しの制限は次のとおりです。
| 項目 | 制限 |
|---|---|
| 片面と両面 | USDはマテリアルごとの片面・両面を持てないので、1つ目のマテリアルの設定でメッシュ全体を決める。マテリアルが無いときは両面 |
| マテリアル | 複数のマテリアルは面の組(ジオメトリサブセット)に分ける。面の組は時間で変わらないので、面のつながりが変わるアニメーションでは崩れることがある |
| ヘアー | 親の毛だけを書き出す。毛ごとの色は書き出さない(一色になる)。UVと法線は書き出さない |
| カメラ | 透視投影だけ |
| パーティクル | 生きているあいだだけ書く。寿命の外で隠す処理はない |
| ジオメトリノード | モディファイアーの出力は、元のオブジェクトと同じ種類のデータだけにする(メッシュならメッシュだけ)。違う種類が混ざると正しく書き出されない。「成分分離」のノードで分けられる |
| インスタンス | ジオメトリノードのポイントのインスタンスは、一部だけ対応(UsdGeomPointInstancer)。「オブジェクト情報」「コレクション情報」のノードを使う簡単な組み方は書き出せる。除外したコレクション・入れ子のコレクション・別のシーンのコレクションでは崩れることがあり、そのときは「インスタンス実体化」のノードを使う。コレクションやオブジェクトを直接インスタンスにしたものは、元への参照として書く(メッシュ・カーブ・ポイントクラウド) |
| USDZ | UDIMの画像は、USDZに入れられない |
拡張子を.usdzにすると、USDと画像が1つのファイルにまとまる
公式マニュアルによると、書き出すファイルの拡張子を.usdzにすると、USDと画像をまとめたzipのファイル(USDZ)になります。同じ箱を.usdzで書き出すと、ファイルは1つで、中にUSD(.usdc)と「textures」フォルダーの画像が入っていました。「USDZテクスチャダウンサンプリング」を「256」にすると、.usdzの中の600×400ピクセルの画像は256×170ピクセルになりました。
読み込みの「全般」と「オブジェクトタイプ」で、読み込む範囲と種類を決める
読み込みの画面の右の一番上が「全般」です。読み込む範囲・単位・カスタムプロパティの扱いを決めます。

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

| 設定 | 既定 | 中身(公式マニュアル) |
|---|---|---|
| カメラ設定 | オン | カメラを読み込む。投影(透視・平行)・焦点距離・被写界深度の距離・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が上の向きに合わせます(公式マニュアル)。
読み込みの「ジオメトリ」「リギング」「マテリアル」「テクスチャ」「パーティクルとインスタンス」
「オブジェクトタイプ」の下の「ジオメトリ」「リギング」「マテリアル」は、既定では閉じています。

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

| まとまり | 設定 | 既定 | 中身(画面の説明・公式マニュアル) |
|---|---|---|---|
| テクスチャ | テクスチャをインポート | パック | USDZから画像を取り出す方法。「なし」=取り出さない(マテリアルの画像が見つからないことがある)/「パック」=.blendのファイルに入れる/「コピー」=「テクスチャディレクトリ」にコピーする |
| テクスチャ | テクスチャディレクトリ | //textures/ | 「コピー」のときのコピー先。既定の「//textures」は.blendからの相対パスなので、先に.blendを保存しておく |
| テクスチャ | ファイル名の衝突時 | 既存を使用 | 同じ名前の画像があるとき、「既存を使用」=コピーせず今あるものを使う/「上書き」=上書きする |
| パーティクルとインスタンス | シーンインスタンス | オン | USDのシーングラフのインスタンスを、コレクションのインスタンスとして読み込む。オフでは、複製として読み込む |
.usdzを読み込むと、画像は.blendのファイルに入りました(パック)。.usdcを読み込むと、画像はファイルの場所を参照したままでした。
公式マニュアルによると、読み込みと書き出しのどちらでも、属性(Primvar)は、Blenderの属性にある型だけを扱います。
| Blenderの型 | USDの型 |
|---|---|
| ブーリアン | bool |
| 8ビット整数 | uchar(読み込みで符号付きに、書き出しで符号なしに変える) |
| 整数 | int |
| Float | float |
| ベクトル | 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編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。
あわせて読みたい
BlenderのFBX・OBJ・glTF・USDの選び方|書き出したモデルのテクスチャが消えないようにする
4つの形式の違いと、テクスチャが消えないようにする書き出しの設定
BlenderのFBXのエクスポートとインポート|書き出しと読み込みの設定
FBXの書き出しと読み込みの全部の設定と、「スケールを適用」による単位の違い
BlenderのOBJのエクスポートとインポート|書き出しと読み込みの設定
OBJの書き出しと読み込みの全部の設定と、画像を一緒に渡す「パスモード」
BlenderのglTFのエクスポートとインポート|書き出しと読み込みの設定
glTFの書き出しと読み込みの全部の設定と、エリアライトなど書き出されないもの



