ARKitで「ARで見る」を真似る その壱


きっかけ

これを見て、アイデアって無限の可能性を秘めていると感じた。

ちなみにこのアプリはARCoreに対応したAndroid端末でしか動かないとことなのでiOSでも同じようなことをやってみた。
とは言っても、私はフロントエンドエンジニアでも何でもないのでまずはちょろっとARKitを動かすところまでやってみた。

開発環境の準備

  • Mac
  • iPhone
  • XCode

たまたま趣味で買ったMacとiPhoneがあったのでXCode入れて開発スタート!

開発

XCodeを起動し、Create a new XCode projectからAugmented Reality Appテンプレートを使用する。

この時点で飛行機の飛ぶサンプルが出来ているから非常にありがたい。しかしそんなものは使わない。以下のように置き換える。

ViewController.swift
    override func viewDidLoad() {
        super.viewDidLoad()

        // Set the view's delegate
        sceneView.delegate = self

        // Show statistics such as fps and timing information
        sceneView.showsStatistics = true

        // Create a new scene
        sceneView.scene = SCNScene() // ビューのsceneプロパティに空のシーンを生成する

        let node = SCNNode() // ノードを生成
        node.geometry = SCNBox(width: 0.2, height: 0.2, length: 0.2, chamferRadius: 0)// ノードの形状を一辺が20cmの立方体とする
        let material = SCNMaterial() // マテリアル(表面)を生成する
        node.geometry?.materials = [material] // 表面の情報をノードに適用
        node.position = SCNVector3(0, 0, -0.5) // ノードの位置は、カメラを原点として左右:0m 上下:0m 奥に50cm

        sceneView.scene.rootNode.addChildNode(node) // 生成したノードをシーンに追加する
    }

おー!Swiftは素晴らしい!キレイな言語な気がする。

できたもの

無事に四角いオブジェクトが宙に浮いてる。
次回はサイズを変えたり、テクスチャ貼ったりしてみたい。