🐵

Blender(3.5以降)でUSDZ形式の3Dコンテンツをエクスポートする

2023/08/27に公開

概要

BlenderのリリースノートWWDC2023のセッションにて 「Blenderで直接USDZ形式のファイルが書き出せるようになっていますよ!」 というアナウンスを見かけたものの、試してみたらちょっとクセありで一瞬躓いたのでメモ。

結論としては、

  1. File > Export > Universal Scene Description (.usd*)を選択
  2. 拡張子を.usdzに書き換えて 出力

でできるよ!というお話です。

USDZって?

「USDZ」とは、Pixer社がオープンソースで公開している汎用的なシーン記述フォーマット「USD(Universal Scene Description)」のファイル形式のうちの一つです。USDで記述された3Dシーンを、テクスチャなどを含めて無圧縮でZip形式にまとめると「USDZ」として扱えるようになります。

USDはAppleが3Dコンテンツとして推奨しているファイル形式であり、特にUSDZは、Web上にリンクを載せておくだけでAppleデバイスの「AR Quick Look」という機能で簡単にARプレビューができて、結構便利だったりします。
https://developer.apple.com/jp/augmented-reality/quick-look/

なので、Blenderなどのお手軽なDCCツールでUSDZファイルが作れると捗るんですが、これまでBlenderでは「テキスト形式の.usda や バイナリ形式の.usdc」でのエクスポートには対応していたものの「.usdz形式」でのエクスポートはサポートしていませんでした。
USDZ出力用のプラグインはありましたがあまりうまく動かなかった覚えがあり、結局のところ、一度.glbで出力して、RealityConverterなどのソフトを使って.usdzに変換、というのが安定したフローでした。

Blender3.5からUSDZの入出力に対応

そんな中、ついにBlender3.5(2023年3月末)のアップデートでUSDZファイルの直接出力に対応したとのリリースがありました!👏
https://wiki.blender.org/wiki/Reference/Release_Notes/3.5/Pipeline_Assets_IO#USD

やってみる


ということで、File > Export > Universal Scene Description (.usd*)と選択してみますが…。

ファイル名についている拡張子は.usdc
「あれ?.usdzの選択オプションはどこにあるの??」とつまづきました。

そこでドキュメントを見てみたら、小さく注意書きが。

To export the Blender scene as a USDZ archive, set the file extension of the output file to .usdz. The exported USDZ package will be a zip archive containing the USD and its texture file dependencies.
(Blender シーンを USDZ アーカイブとしてエクスポートするには、出力ファイルの拡張子を .usdz に設定します。 エクスポートされた USDZ パッケージは、USD とそのテクスチャファイルの依存関係を含む zip アーカイブになります。)

https://docs.blender.org/manual/en/latest/files/import_export/usd.html


ということで拡張子を.usdzに変更してみると、

無事出力されました!
拡張子を書き換えるという操作がほんのちょっとだけ面倒ですが、Blenderで作ったモデルを直接USDZファイルとして出力できるようになりました!やった!

おまけ

出力時に「Animation」にチェックをしておけばアニメーションも反映させられて楽しいです。
visionOSのシミュレーターでアニメーション付きUSDZを大量生成してみたデモをおまけで貼っておきます(蛇足!)

https://twitter.com/by_BISON/status/1690796820384088064?s=20

https://twitter.com/by_BISON/status/1693136290613719342?s=20

クレジット

記事内で以下のアセットを使用させていただきました🙇‍♂️
https://sketchfab.com/3d-models/low-poly-stylized-nature-pack-9c773e846c6e4448b26b2cdecb2b91bf

Discussion