MetascanのUSDファイルをBlenderでOBJファイルに変換する
環境
OS は Ubuntu 20.04 を想定しています。
Blender のインストール
Blender は apt でインストールすることも可能ですが、2022年7月現在、apt でインストールできるバージョンは 2.82 のようです。
USD ファイルのインポートには Blender 3.0 以降が必要です。apt の代わりに snap を使うと Blender 3.2.1 をインストールできます。
以下のコマンドでインストールします。
$ sudo apt snap blender --classic
インストールが終わったら以下のコマンドで起動できまs.
$ blender
なお、Blender 起動直後はキューブが表示されますが、必要ないので Del キーか x キーで削除します。
USD ファイルの読み込み
USDZ ファイルを ZIP で解凍すると USDC ファイルとテクスチャ画像が得られます。
Blender の File -> Import -> Universal Scene Description (.usd, .usdc, .usda) から USDC ファイルをインポートできます。
Blender File View ウィンドウで目的の USDC ファイルを選択し、またテクスチャも一緒に読み込むため画面右下の Import USD Preview を有効にして、Import USD ボタンを押します。
なお、この時点ではテクスチャなしの 3D モデルしか表示されません。
画面右上のボタンで表示モードを Material Preview にしてテクスチャを表示できるようにする必要があります。
テクスチャの貼り付け
上記の方法でテクスチャが読み込まれなかった場合、How to add a texture to an object in Blender を参考に 3D モデルにテクスチャを貼り付ける方法もあります。
画面右上のアウトライナーウィンドウから 3D モデルのオブジェクトを選択し、画面右下のプロパティウィンドウから Material Properties を選択します。
すでに Material があればそれを使い、無ければ+ボタンで追加します。その後 Use Nodes を有効にします。
この状態で画面上部の Shading を選択してシェーダーエディターを開きます。
テクスチャ画像ファイルをエディタ上にドラッグ&ドロップして、ノードを追加します。また Color と Base Color を結ぶことでテクスチャが表示されるようになります。
OBJ ファイルをエクスポート
最後に File -> Export -> Wavefront (.obj) を選択して OBJ 形式でエクスポートします。
なお、デフォルトではエクスポート時の座標系が Z Forward, Y Up になっています。用途に合わせて設定しましょう。
また、今後 OBJ ファイルを利用するとき、エクスポートした OBJ ファイルとテクスチャ画像ファイルの相対パスを維持する必要があるので注意してください。
Discussion