iPhone簡単つくれる3D

3Dの箱を指でくるくる。簡単に作れるiPhoneアプリを描いてみます。

import UIKit

import SceneKit

class ViewController: UIViewController {

    

    weak var sceneView : SCNView?

    

    override func viewDidLoad() {

        super.viewDidLoad()

        self.setupScene()

        self.createCamera()

        self.createBox()

    }

    

    func setupScene() {

        let sv = SCNView(frame: self.view.bounds)

        sv.backgroundColor = UIColor.orangeColor()

        sv.scene = SCNScene()

        self.view.addSubview(sv)

        self.sceneView = sv

        

        // Auto Light

        sv.autoenablesDefaultLighting = true;

    }

    

    func createCamera() {

        let n = SCNNode()

        n.camera = SCNCamera()

        n.position = SCNVector3(x: 0, y: 0, z: 30)

        self.sceneView?.scene?.rootNode.addChildNode(n)

        

        // camera : pan gesture

        self.sceneView?.allowsCameraControl = true

    }

    

    func createBox() {

        let box = SCNBox(width: 10, height: 10, length: 10, chamferRadius: 1)

        box.firstMaterial?.diffuse.contents = UIColor.yellowColor()

        box.firstMaterial?.specular.contents = UIColor.whiteColor()

        let boxNode = SCNNode(geometry: box)

        self.sceneView?.scene?.rootNode.addChildNode(boxNode)

    }

}