美文网首页
ARKit学习-3.1(初体验手把手教学)

ARKit学习-3.1(初体验手把手教学)

作者: 小羊快跑 | 来源:发表于2017-06-11 17:27 被阅读429次

环境要求:
1.Xcode版本:Xcode9及以上
2.iOS系统:iOS11及以上
3.iOS设备:处理器A9及以上(6S机型及以上)


1.打开Xcode9bete版本,新建一个工程,选择Augmented Reality APP, 点击下一步


AR01.png

2.渲染所使用的技术选择 SceneKit

AR02.png

3.系统会自动帮我们生成一些资源

AR03.png

4.代码部分

import UIKit
import SceneKit
import ARKit

class ViewController: UIViewController {

    @IBOutlet var sceneView: ARSCNView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //设置代理
        sceneView.delegate = self
        
        // 是否统计显示相关信息, 默认是No
        sceneView.showsStatistics = true
        
        //使用模型创建场景,scn格式的文件是一个3D建模文件,使用3DMax可以生成
        let scene = SCNScene(named: "art.scnassets/ship.scn")!
        
        //设置sceneView的场景为当前场景
        sceneView.scene = scene
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        // 创建一个session配置
        let configuration = ARWorldTrackingSessionConfiguration()
        // 运行
        sceneView.session.run(configuration)
    }
    
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        // 暂停
        sceneView.session.pause()
    }
}

// MARK: - ARSCNViewDelegate代理方法
extension ViewController: ARSCNViewDelegate {
    /*
     // Override to create and configure nodes for anchors added to the view's session.
     func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
     let node = SCNNode()
     
     return node
     }
     */
    
    func session(_ session: ARSession, didFailWithError error: Error) {
        // Present an error message to the user
        
    }
    
    func sessionWasInterrupted(_ session: ARSession) {
        // Inform the user that the session has been interrupted, for example, by presenting an overlay
        
    }
    
    func sessionInterruptionEnded(_ session: ARSession) {
        // Reset tracking and/or remove existing anchors if consistent tracking is required
        
    }
    
}

效果图奉上

效果.gif

相关文章

  • ARKit学习-3.1(初体验手把手教学)

    环境要求:1.Xcode版本:Xcode9及以上2.iOS系统:iOS11及以上3.iOS设备:处理器A9及以上(...

  • ARKit入门

    分享收藏关于ARKit的文章集 适合新手入门学习ARKit从入门到精通(1)-ARKit初体验ARKit从入门到精...

  • ARKit从入门到精通

    ARKit从入门到精通(1)-ARKit初体验标签: ARKit2017-06-12 17:33 1772人阅读 ...

  • ARKit从入门到精通(1)-ARKit初体验

    ARKit从入门到精通(1)-ARKit初体验 转载请标注出处:http://www.jianshu.com/p/...

  • ARKit从入门到精通三部曲

    此文章为转载文章 ARKit从入门到精通(1)-ARKit初体验 1.1-AR技术简介 增强现实技术(Augmen...

  • 理解ARKit

    参考博文 : ARKit从入门到精通(1)-ARKit初体验 看完算是个初步认识吧, 知道如何使用.好多细节好需要...

  • ARKit初体验

    第一:什么是AR 增强现实AR, 将2D或者3D的元素添加到相机的实时视图中, 就好像 这些元素居住在现实世界中...

  • ARKit 初体验

    前言 苹果于9月20日推出了iOS 11,带来了AR(虚拟增强现实)功能。更新到Xcode 9之后就可以进行开发,...

  • ARkit初体验

    一.AR&ARkit ARkit。三部分,相机姿态估计, 环境感知(平面估计)及光源感知。 ARkit和AR和巨大...

  • 学习ARKit(三)

    前言 在前面两小节中(学习ARKit(一)、学习ARKit(二)),我们介绍了简单的介绍了AR与ARKit的相关概...

网友评论

      本文标题:ARKit学习-3.1(初体验手把手教学)

      本文链接:https://www.haomeiwen.com/subject/nqbhqxtx.html