PlaygroundSupportでAR

前回のこちらの記事でSceneKitのビューをPlaygroundで表示する方法について書きましたが、Playgroundは通常のView表示だけでなく、ARもサポートしています。

PlaygroundSupportでSceneKitの画面を表示する - Toyship.org

iPadだけでARができるのはハードルも低くなり、初心者にARを学んでもらうための教材としてもいいですね。

ARのViewの表示

基本的には前回の記事と同じく、PlaygroundSupportをインポートして、AR用のビューを作り、それをPlaygroundPage.current.liveViewにセットするだけです。

ただし、ARViewなので、ARのセッションを開始する必要があります。 ここでは、一番シンプルなARWorldTrackingConfigurationでAR sessionを開始していますが、必要に応じて変更してみてください。

ここでは、SceneKitを使ったARSCNViewを使っていますが、おそらくRealityKitを使ったビューでも大丈夫だと思います。

import PlaygroundSupport

var arView = ARSCNView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
arView.autoenablesDefaultLighting = true

let scene = SCNScene()
arView.scene = scene

let configuration = ARWorldTrackingConfiguration()
arView.session.run(configuration)

PlaygroundPage.current.liveView = arView

iPadで実行するとこんな感じです。 iPadだけでARの実行環境を用意することができます。 (なお、Playgroundを実行するときにカメラへのアクセス許可ダイアログが表示されます。)

f:id:toyship:20210725004041p:plain

全コード

全部のコードはこちら。 (iPadのPlaygroundアプリにそのままコピペすれば使えます。)

gist5b0c9e6e4538476f579d21abdc98503a