ARのはじめの一歩

みなさん、こんにちは。
システム開発事業部の風神こと渋谷です。
みなさんはARを体験した事はあるでしょうか?P◯kemon Goなどのゲームでも使われています。
今回はxcodeを使ったAR開発のはじめの一歩として、自分で用意した3DオブジェクトをARとして表示させてみます。弊社ロゴの3Dオブジェクトを準備したので、それを表示していきます。
環境
$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version
Apple Swift version 4.2.1 (swiftlang-1000.11.42 clang-1000.11.45.1)
$ xcodebuild -version
Xcode 10.1
準備するもの
- 拡張子が
.dae
の3Dオブジェクトファイル
AR開発を行ううえで、ARとして画面に表示させる3Dオブジェクトファイルが必要です。.obj
、.3ds
など様々な拡張子がありますが、今回は.dae
を用います。
※今回の.dae
ファイルの作成にはFuruyaさんとUedaさんに協力いただきました -
iOS端末
ARはカメラを使うので、Simulatorでの実行ができません。
iPhone 5S以降でiOS 11以上であれば動作します。
開発
では、開発を始めます。開発といっても、やることはとても簡単です。
template
を選択する時にAugmented Reality App
を選んでプロジェクトを作成する
- プロジェクト内に
art.scnasset
というディレクトリが準備されているのが確認できる(デフォルトでship.scn
という3Dオブジェクトファイルが入っています) - そのディレクトリの中に準備した
.dae
ファイルをドラッグアンドドロップで入れる
-
.dae
ファイルを.scn
ファイルにコンバートする必要があるので、.dae
ファイルを選択したらメニューのEditor > Convert To SceneKit scene file format(.scn)
をクリックし、.dae
ファイルを.scn
ファイルにコンバートする
-
ViewController.swiftを下記のように編集する
// let scene = SCNScene(named: "art.scnassets/ship.scn")!
let scene = SCNScene(named: "art.scnassets/fox-logo.scn")!
- 実機にビルドしてアプリを起動する
まとめ
本記事を書く上で苦労したのが、アプリを起動した時の3Dオブジェクトの出現場所の調整です。xcodeでも調整はできるものの、3Dオブジェクトファイル作成時に調整するのが楽だと感じました。
Posted by ShibuyaYuuki