ARQuickLookの使い方


ARオブジェクトをブラウザやViewで手軽に表示できます。
Reality ComposerでつくったオブジェクトやUSDZファイルを表示可能です。
コーチングオーバーレイとコンテンツがアニメーション付きで表示されます。

手順

1、3Dファイルを用意する

対応フォーマットはRealityファイルとUSDZファイルです。
どちらもアニメーションを含んだ3Dオブジェクトファイルです。
どちらかで用意します。

・Reality ComposerでRealityファイルをつくる
Reality Composerはオブジェクトを置くだけ。

・USDZファイルを用意する
USDZファイルはアップルのギャラリーからも入手できます。

2、ARQuickLookで再生

Case1:ローカルで再生

XCodeに.rcprojectか.usdzファイルをバンドルして、QLPreviewControllerで再生します。
.rcprojectファイルはXCodeにバンドルすると自動的にRealityファイルとして出力されます。

import UIKit
import QuickLook
import ARKit

class ViewController: UIViewController, QLPreviewControllerDataSource {

    override func viewDidAppear(_ animated: Bool) {
        let previewController = QLPreviewController()
        previewController.dataSource = self
        present(previewController, animated: true, completion: nil)
    }

    func numberOfPreviewItems(in controller: QLPreviewController) -> Int { return 1 }

    func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
        guard let path = Bundle.main.path(forResource: "Scene", ofType: "reality") else { fatalError("Couldn't find the supported input file.") }
        let url = URL(fileURLWithPath: path)
        return url as QLPreviewItem
    }
}

Case2:ブラウザで再生

下記をHTMLに埋め込むことで、SafariやWEBビューで再生されます。

<div>
    <a rel="ar" href="/assets/models/Scene.reality">
        <img src="/assets/models/my-model-thumbnail.jpg">
    </a>
</div>

🐣


お仕事のご相談こちらまで
[email protected]

Core MLを使ったアプリを作っています。
機械学習関連の情報を発信しています。

Twitter
Medium