SceneKit + ARKitARKIT+SCENEKIT

ARKit类初印象

2018-01-13  本文已影响29人  叶子扬

ARSession

作用:管理增强现实体验所需的设备摄像头和运动处理的共享对象

ARSession主要做了以下几件事:

使用ARKit,需要创建一个单例的ARSession对象。如果你是使用ARSCNView或者ARSKView对象创建虚拟平面,这个平面默认已经包含一个ARSeeeion实例了。如果你是自定义渲染AR内容,你需要手动创建并且持有一个ARSession

        /*
         Start the view's AR session with a configuration that uses the rear camera,
         device position and orientation tracking, and plane detection.
        */
        let configuration = ARWorldTrackingConfiguration()
        configuration.planeDetection = .horizontal
        sceneView.session.run(configuration)

        // Set a delegate to track the number of plane anchors for providing UI feedback.
        sceneView.session.delegate = self

运行session还需要一个ARConfiguration对象,或者他的子类ARWorldTrackingConfigration。这些类决定了ARKit将如何根据现实场景追踪设备的位置和运动,进而影响你创建的各种AR体验。

ARConfiguration

用于AR session设置的抽象基类,它有三个子类:

开发调试中几个有用的设置

改变颜色

plane.firstMaterial?.diffuse.contents = UIColor.red

显示统计

 sceneView.showsStatistics = true

显示坐标系
红黄蓝分别代表x、y、z轴,手机上默认是左手坐标系

 sceneView.debugOptions = ARSCNDebugOptions.showWorldOrigin

显示特征点

sceneView.debugOptions = ARSCNDebugOptions.showFeaturePoints

github code

参考:
ARKit
Building an AR app with ARKit and Scenekit
带操作步骤# how to convert .dae to .scn files in SceneKit
how to convert .dae to .scn files in SceneKit
带工具使用提示# How to create realistic .scn files?
# Change color of SCNNode/Geometry/Material

上一篇下一篇

猜你喜欢

热点阅读