2023/11/9
Reality Composer Pro の Object Capture Modelを使って、フォトグラメトリーの3DモデルをApple Vision Pro(visionOS)のアプリに組み込む方法
はじめに
Reality Composer Pro の Object Capture Modelを使って、撮影した画像からフォトグラメトリーを作成する方法とフォトグラメトリーの3DモデルをApple Vision Pro (visionOS) 上で表示する方法について説明します。
Apple Vision Pro について
Apple Vision Pro について、以下の記事にまとめてます。
Reality Composer Pro の起動
直接起動する場合
Xcode→Contents→Applications→Reality Composer Proを選択。
Xcodeから起動する場合
XcodeメニューのOpen Developer Tool → Reality Composer Pro を選択。
visionOSの開発プロジェクトから起動する場合
プロジェクトのPackages/RealityKitContent/Pacakgeを選択し、Open in Reality Composer Pro をクリックします。
Object Capture Modelを起動
Reality Composer Pro の FileメニューからNew→Object Capture Modelを選択。
New Object Capture Model のウィンドウが起動します。
Object Capture Modelにフォトグラメトリー用に撮影した画像をドラッグ&ドロップ
フォトグラメトリー用に撮影した画像をドラッグ&ドロップします。オブジェクトの周り状態を含める or 切り離す設定とモデルの品質を設定後、Create Modelボタンをクリックします。
モデルの生成処理が始まります。
しばらくするとモデルが生成されプレビュー表示されます。問題なければExportボタンをクリックします。
Export先を指定してExportボタンをクリックします。
usdzファイルとして保存されます。
Contents.swiftの実装例
import SwiftUI
import RealityKit
struct ContentView: View {
@State var enlarge = false
var body: some View {
RealityView { content in
do {
let ocm = try await Entity(named: "oc_medium_ObjectMaskOff")
ocm.position.y = ocm.position.y + 0.75
content.add(ocm)
} catch {
print("Entity encountered an error while loading the model.")
return
}
}
}
}
visionOSの開発プロジェクトで且つIntial Scene はVolumeで作成してます。フォトグラメトリーのモデルを読み込んでcontentに追加しています。
上記の情報が不足と感じた方は以下の記事を参考にしてください。
https://1planet.co.jp/tech-blog/applevisionpro-realityview-firststep
実行
Reality Composer Pro の Object Capture Modelで生成したフォトグラメトリーのモデルがvisionOS上でも表示できることが確認できました。
まとめ
Reality Composer Pro の Object Capture Modelを使ってフォトグラメトリーのモデルを生成する際、高品質にすることで細かなディテールが再現されますが、数百メガバイトまで膨れ上がり、実行時にエラーとなるため注意が必要です。
XR エンジニア
徳山 禎男
SIerとして金融や飲料系など様々な大規模プロジェクトに参画後、2020年にOnePlanetに入社。ARグラスを中心とした最先端のAR技術のR&Dや、法人顧客への技術提供を担当。過去にMagic Leap 公式アンバサダーを歴任。
View More