ARSCNView
使用3D的SceneKit内容进而增强相机来显示AR体验的一种视图。
概述
ARSCNView提供了一种最简单的方式来创建AR体验,即混合了虚拟的3D内容到相机捕捉的真实世界的视图中。当你运行视图提供的ARSession对象时:
- 该视图会自动渲染从相机拍摄到的实时视频并将其作为背景。
- 该视图的SceneKit场景坐标系可以直接响应通过会话配置的AR坐标系。
- 该视图会自动移动它的SceneKit相机来匹配设备在现实世界中的移动。
因为ARKit可以自动匹配SceneKit空间到真实世界中,所以放置一个虚拟物体以便可以维持在现实中的位置,只需要适当地设置这个对象的SceneKit位置就可以。
你无需必须使用ARAnchor类来追踪添加到场景中的物体位置,但是通过实现ARSCNViewDelegate中的方法,你可以添加SceneKit内容到任何被ARKit自动识别出的锚点上。
话题
第一步
使用SceneKit提供3D的虚拟内容
使用SceneKit来添加逼真的3D对象到你的AR体验中
session
管理着视图内容中的运动追踪和相机视图处理的AR会话对象
scene
显示在视图中的SceneKit场景
负责AR更新
delegate
你提供的一个对象,用于使用SceneKit内容来同步处理视图的AR场景信息。
ARSCNViewDelegate
可以实现的一系列方法,你可以用他们使用AR会话对象来同步处理SceneKit内容。
真实世界表面的碰撞检测
- hitTest:types:
在截取的相机图像中搜索真实世界的物体或AR锚点,与SceneKit视图中的一个点相对应。
映射内容到现实世界的位置中
- anchorForNode:
如果存在,返回与指定SceneKit节点相关的AR锚点
- nodeForAnchor:
如果存在,返回与指定AR锚点相关的SceneKit节点
处理场景光照
automaticallyUpdatesLighting
一个布尔值,指定了在视图的场景中,是否需要ARKit创建并更新SceneKit光照。
调试AR显示
ARSCNDebugOptions
绘制遮罩内容的一些设置项来帮助调试在SceneKit视图中的AR追踪功能。
关系
继承自
另请参阅
基本视图
创建一个基本的AR体验
配置一个AR会话对象并使用SceneKit或SpriteKit来显示AR内容
ARSKView
使用2D的SpriteKit内容进而增强相机来显示AR体验的一种视图。