九、<ARKit> ARSCNView 类
2017-07-04 本文已影响68人
Dosun
本文译自官方文档 ARSCNView
,不足之处,请纠正。
在 AR 视图中,ARSCNView 是展示 SceneKit 3D 虚拟的特征。
一、简介
ARSCNView 类是提供一个最简单的方式创建 AR,用苹果手机的相机将 3D 虚拟特征和现实世界相结合。当你运行 ARSCNView 的属性 ARSession
:
- 视图自动呈现从设备摄像头现场直播视频背景。
- SceneKit 视图的世界坐标系统直接响应 AR 会话配置建立的世界坐标系。
- 为了匹配设备的实际运动,视图自动移动 SceneKit 相机。
因为 ARKit 自动匹配 SceneKit 真实世界的空间,放置一个虚拟对象,并维持它在真实世界的位置,只需要将设置虚拟特征的 SceneKit 放在合适的位置(具体请参考 Providing 3D Virtual Content with SceneKit.)。
你没有必要用 ARAnchor
类去追踪你加入 scene 中虚拟特征。但是通过实现 ARSCNViewDelegate
中的方法,你可以增加 SceneKit 内容到任何锚点中,这些都都可以用 ARKit 检测到。
二、API
1、第一步
-
Providing 3D Virtual Content with SceneKit
在AR 中,使用 SceneKit 增加 3D 虚拟特征。 -
session
AR 会话是用来管理设备的运动和相机图像的处理。 -
scene
SceneKit 的场景是用来展示视图。
2、响应 AR 内容的更新
-
delegate
节点的状态的改变,如已经增加节点、已经更新节点、将要更新节点、已经移除节点。
3、用户的点击事件
-
- hitTest:types:
寻找真实世界的特征或在相机捕获的图像 AR 锚点对应 SceneKit 视图中的一个点。
4、将虚拟的内容添加到现实世界中
-
- anchorForNode:
返回对应节点的锚点,节点是一个 3D 虚拟物体,它的坐标是虚拟场景中的坐标,而锚点 ARAnchor 是 ARKit 中现实世界的坐标。 -
- nodeForAnchor:
返回对应锚点的节点。
5、管理 Scene 灯亮效果
-
automaticallyUpdatesLighting
是否自动适应灯光,默认是 YES;
6、调试 AR 展示
-
ARSCNDebugOptions
选择图层内容来帮助调试 AR 的跟踪 SceneKit 视图。