お久しぶり!

 iOS 11リリースされましたねえ。

 でもってXcode 9もリリースされたんで、ARサンプル公開。

 

 

 

 

サンプル:

http://tetera.jp/xcc/book-sample/ARDemo.zip

 

 ていっても、DAEファイル組み込んでるだけっすけどね。

 さっすがになあ、今朝ツィートしたAT-Aふにゃふにゃのサンプルは、おっちゃん、怖あて、アップでけんけどな。要はこのサンプルのDAEファイル差し替えて、大きさと位置調整すればいけますわ。

 

 1).objとか.3ds形式のフリーの3Dモデルをネットでゲット

 2)Blenderでインポートして調整

 3).dae形式でエクスポート

 

や。頑張ってなあ。

 

 てことでサンプルをちょい解説。

 XcodeのテンプレでAR選んで

 

 

 テンプレで用意されたプロジェクトフォルダにある、art.scnassetsフォルダの中のship.scn、texture.pngを削除してgirl.daeファイルを配置。

 ↓ こいつね

 

 

 ViewController.swifでgirl.daeを読み込んで大きさ調整して1m手前に表示させてるだけ。とっても簡単だ。

class ViewController: UIViewController, ARSCNViewDelegate {

    @IBOutlet var sceneView: ARSCNView!
    
    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
        let scene = SCNScene(named: "art.scnassets/ship.scn")!
        
↓追加
        // Create a new scene
        let scene = SCNScene()
        let url = Bundle.main.url(forResource: "art.scnassets/girl", 
                withExtension: "dae")!
        guard let girlScene = try? SCNScene(url:url) else { return }
        for child in girlScene.rootNode.childNodes {
            scene.rootNode.addChildNode(child)
        }
        
        let girl = scene.rootNode.childNode(withName: "Armature", 
                recursively: true)!
        girl.scale = SCNVector3(x:girl.scale.x * 0.1, 
                y:girl.scale.y * 0.1, z:girl.scale.z * 0.1)
        girl.position = SCNVector3(x:0, y:-1, z:-1)

        // Set the scene to the view
        sceneView.scene = scene
    }

 てことで、いつか機会があれば説明もします。

 じゃまた。