※この記事はMacで行う前提で記述しておりますので悪しからず
なぜusdz拡張子を使おうとしたのか
Cubemintというアプリの開発に参加させてもらっている中で、
3Dオブジェクトを利用するシーンが出てきたため、
Xcodeと親和性が高いusdz拡張子の3Dオブジェクトを制作することになりました。
usdz拡張子だとどんなことができるのか
- usdz拡張子のファイルをiPhoneで開くと画像のようにアプリなどを介さずともAR表示が可能。
- Xcode及びAR開発と親和性がいい(?)
1がわかりやすいですね。後述するReality Converterというusdz変換ソフトで変換したファイルをiOS端末で開くと画像(引用元)のようにAR表示されます。
iOS端末を対象としたサービスであればこのファイルを開く仕組みを作るだけで簡単なARアプリができてしまいますね。
2に関しては僕はコーダーではないのでわかりかねますが、MacでAR開発をする人は一度触ってみてはいかがでしょうか。
実践編
-
まずはBlenderでusdzで書き出す任意のオブジェクトをモデリングします。
今回はこの立方体と正二十面体(だったはず)が捻れていくアニメーションを書き出していきます。
アニメーションの時間やオブジェクトの大きさの上限があるという記事をどこかで見たことがある気がしますが、正確には把握していないので見つけた方はコメントなどお待ちしております。 -
Reality Converterをインストールしましょう。
こちらのソフトはAppleのベータテスト版のソフトになりますので、
https://developer.apple.com/jp/augmented-reality/tools/
↑こちらからダウンロードくださいませ。
起動するとこのような画面が表示されると思いますのでそれで完了です。
-
Blenderを書き出したものをReality Converterで開く。
Reality Converterは2022/04/17現在はOBJ/GLFLに正式しております。
Blenderで書き出す際、オブジェクトがアニメーションの場合はGLTFで良いかと思いますので、
今回はGTLFで書き出します。
Blenderで、[ファイル>エクスポート>glTF]を選択し、任意のフォルダに書き出しましょう。
書き出しが完了したら、そのファイルを先ほどのReality Converterの起動画面にドラッグ&ドロップしてください。
上手くいけばこのように表示されるかと思います。
マテリアルやその他表示の詳細を編集する場合は右上のタブから変更が可能です。
画面右上のアップロードマークから書き出し先を選択して保存しましょう。
※この時、画面下のアニメーション停止ボタンを押してアニメーション開始状態をリセットしてから書き出しましょう。これをしておかないと書き出した時にアニメーションの終了時点からアニメーションが開始されて表示がバグるのを確認してます。
書き出したものをiPhoneで開いてみると…
上手くできましたでしょうか?
usdz形式であれば手軽にAR表示が楽しめるので色々できそうな気がしますね!
それではまた👋