ARのはじめの一歩

Blog Single

みなさん、こんにちは。

システム開発事業部の風神こと渋谷です。

みなさんは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
今はPHPで開発を行なっているエンジニア。 就職してから体重が15キロ増えました!!

Other Posts: