ARKIT

六、<ARKit> 建立基本的 AR 体验

2017-07-03  本文已影响58人  Dosun

本文译自官方文档 Building a Basic AR Experience。不足之处,请纠正。

配置 AR 会话和用 SceneKit 或者 SpriteKit 去展示 AR 的内容。


一、简介

当你用 ARSCNView
ARSKView
类, ARKit 已经自动管理帮我们处理很多内容,如每个 AR 视图会展示出相机的拍照模式,并将虚拟的 2D 和 3D 物体融入在现在世界中。使用 ARSCNView
或者 ARSKView
,你可以配置你想要的 AR,并选择在现实世界中哪个位置展示虚拟事物。
如果想配置自定义的 AR,请参考 Displaying an AR Experience with Metal.

注意:本文中代码,都可以用 Xcode 自动生成,只需要新建工程,选择Augmented Reality template ,然后在弹框中选择 SceneKit 或者 SpriteKit,苹果会自动添加代码。

二、配置和运行会话

ARSCNView
ARSKView
类都有一个 ARSession
对象,ARSession 是用来管理追踪设备运动和图像处理。然而,运行会话你必须要提供会话配置。

ARWorldTrackingSessionConfiguration 类提供高精度的运动追踪技术和保证在现实世界中可以摆放虚拟有事物。如果 ARWorldTrackingSessionConfiguration 不能使用,也可以使用 ARSessionConfiguration
去追踪简单的设备运动。让 ARSession 开始,只需要调用 ARSession 的 runWithConfiguration:options:
方法。如下代码是运行会话的,官方文档是 Swift 事例,我将它翻译成 OC吧。

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
//创建会话配置
ARWorldTrackingSessionConfiguration * configuration = [ARWorldTrackingSessionConfiguration new];
 configuration.planeDetection = ARPlaneDetectionHorizontal;
//运行会话
[sceneView.session runWithConfiguration:configuration];
}

注意:运行会话只能是视图将要展示在手机屏幕上。

如果你已经建立 AR 会话,使用 SceneKit 或者 SpriteKit 将虚拟的事物放在现实的世界中。


二、主题

下一步是:

上一篇下一篇

猜你喜欢

热点阅读