ARKit API介绍

2018-04-06  本文已影响16人  流年易逝_李

1.ARAnchor 

ARAnchor表示一个物体在3D空间的位置和方向(ARFrame用于捕捉相机的移动,其他虚拟物体用ARAnchor)

属性:identifier,transform

方法:initWithTransform:(matrix_float4x4)transform

2.ARCamera

AR相机

3.ARError

一个描述ARKit错误的类

//作用域,一般会表示是哪一个类出现问题NSString *const ARErrorDomain;//错误码描述 100:不支持会话追踪配置,主线由于A9芯片以下的机型会报错 101:失活状态 102:传感器故障 200:追踪失败

typedef NS_ERROR_ENUM(ARErrorDomain, ARErrorCode) { 

/** Unsupported session configuration. */    ARErrorCodeUnsupportedConfiguration  = 100, 

/** A sensor required to run the session is not available. */    ARErrorCodeSensorUnavailable          = 101, 

/** A sensor failed to provide the required input. */    ARErrorCodeSensorFailed              = 102, 

/** World tracking has encountered a fatal error. */    ARErrorCodeWorldTrackingFailed        = 200,

};

4.ARFrame

主要是追踪相机当前的状态,这个状态不仅仅只是位置,还有图像帧及时间等参数

属性:timestamp,capturedImage,camera,anchors,lightEstimate,rawFeaturePoints

方法:hitTest:(CGPoint)point types:(ARHitTestResultType)types

           displayTransformWithViewportSize:(CGSize)viewportSize orientation:(UIInterfaceOrientation)orientation

5.ARHitTestResult

点击回调结果

属性:distance,localTransform,worldTransform,anchor,type(type描述捕捉类型)

6.ARLightEstimate

属性:ambientIntensity(0~2000,默认1000)

7.ARPlaneAnchor

ARKit能够自动识别平地,并且会默认添加一个锚点到场景中,当然要想看到真实世界中的平地效果,需要我们自己使用SCNNode来渲染这个锚点

最新版本可以识别竖直平面了

属性:alignment,center,extent

8.ARPointCloud

点状渲染云,主要用于渲染场景

属性:count,points

9.ARSKView

2D的AR场景视图

10.ARSCNView

3D的AR场景视图

11.ARSession

AR会话

12.ARSessionConfiguration

会话追踪配置,主要就是追踪相机的配置

属性:isSupported,worldAlignment,lightEstimationEnabled

子类:ARWorldTrackingConfiguration  属性:planeDetection

上一篇 下一篇

猜你喜欢

热点阅读