ARKit从入门到精通(5)-ARScnView介绍

翻译 2017年06月13日 01:20:38
@interface ARSCNView : SCNView

/**
代理
 */
@property (nonatomic, weak, nullable) id<ARSCNViewDelegate> delegate;

/**
AR会话
 */
@property (nonatomic, strong) ARSession *session;

/**
场景
 */
@property(nonatomic, strong) SCNScene *scene;

/**
是否自动适应灯光
 */
@property(nonatomic) BOOL automaticallyUpdatesLighting;

/**
返回对应节点的锚点,节点是一个3D虚拟物体,它的坐标是虚拟场景中的坐标,而锚点ARAnchor是ARKit中现实世界的坐标。
 */
- (nullable ARAnchor *)anchorForNode:(SCNNode *)node;

/**
返回对应锚点的物体
 */
- (nullable SCNNode *)nodeForAnchor:(ARAnchor *)anchor;

/**
根据2D坐标点搜索3D模型,这个方法通常用于,当我们在手机屏幕点击某一个点的时候,可以捕捉到这一个点所在的3D模型的位置,至于为什么是一个数组非常好理解。手机屏幕一个是长方形,这是一个二维空间。而相机捕捉到的是一个由这个二维空间射出去的长方体,我们点击屏幕一个点可以理解为在这个长方体的边缘射出一条线,这一条线上可能会有多个3D物体模型
point:2D坐标点(手机屏幕某一点)
ARHitTestResultType:捕捉类型  点还是面
(NSArray<ARHitTestResult *> *):追踪结果数组  详情见本章节ARHitTestResult类介绍
数组的结果排序是由近到远
 */
- (NSArray<ARHitTestResult *> *)hitTest:(CGPoint)point types:(ARHitTestResultType)types;

@end

//代理
#pragma mark - ARSCNViewDelegate


//代理的内部实现了SCNSceneRendererDelegate:scenekit代理 和ARSessionObserver:ARSession监听(KVO机制)
@protocol ARSCNViewDelegate <SCNSceneRendererDelegate, ARSessionObserver>
@optional

/**
自定义节点的锚点
 */
- (nullable SCNNode *)renderer:(id <SCNSceneRenderer>)renderer nodeForAnchor:(ARAnchor *)anchor;

/**
当添加节点是会调用,我们可以通过这个代理方法得知我们添加一个虚拟物体到AR场景下的锚点(AR现实世界中的坐标)
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer didAddNode:(SCNNode *)node forAnchor:(ARAnchor *)anchor;

/**
将要刷新节点
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer willUpdateNode:(SCNNode *)node forAnchor:(ARAnchor *)anchor;

/**
 已经刷新节点
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer didUpdateNode:(SCNNode *)node forAnchor:(ARAnchor *)anchor;

/**
 移除节点
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer didRemoveNode:(SCNNode *)node forAnchor:(ARAnchor *)anchor;

@end

相关文章推荐

ARKit从入门到精通(2)-ARKit工作原理及流程介绍

转载请注明出处:ARKit从入门到精通(2)-ARKit工作原理及流程介绍 1.1-写在前面的话1.2-ARKit与SceneKit的关系1.3-ARKit工作原理 1.3.1-ARSCNView...

ARKit从入门到精通(4)-ARKit全框架API大全

转载请注明出处:http://www.jianshu.com/p/3c7ee58d40f4 1.1-ARKit框架简介 1.2-ARAnchor1.3-ARCamera1.4-ARError1.5...

ARKit从入门到精通(3)-ARKit自定义实现

转载请注明出处:ARKit从入门到精通(3)-ARKit自定义实现 在上一小节中ARKit从入门到精通(2)-ARKit工作原理及流程介绍,我们完整的介绍了ARKit的工作原理,那么本小节我们就...

ARKit从入门到精通(1)-ARKit初体验

ARKit从入门到精通(1)-ARKit初体验转载请标注出处:http://blog.csdn.net/u013263917/article/details/72903174,以及版权归属黑马程序员:...

ARKit从入门到精通(9)-ARKit让飞机跟着镜头飞起来

转载请注明出处:http://www.jianshu.com/p/30d6c700021a 1.1-ARKit物体跟随相机移动流程介绍 1.2-完整代码1.3-代码下载地址 废话不多说,先看效果...

ARKit从入门到精通(7)-ARCamera介绍

转载请注明出处:http://www.jianshu.com/p/dc1ca646c508 ARCamera是一个相机,它是连接虚拟场景与现实场景之间的枢纽。在ARKit中,它是捕捉现实图像的相机...

ARKit从入门到精通(6)-ARSession介绍

转载请注明出处:http://www.jianshu.com/p/a18feaa3c907 ARSession是一个连接底层与AR视图之间的桥梁,其实ARSCNView内部所有的代理方法都是由AR...

ARKit从入门到精通(8)-ARKit捕捉平地

转载请注明出处:http://www.jianshu.com/p/fc40ed0080dd 1.1-ARKit捕捉平地实现流程介绍 1.2-完整代码 1.3-代码下载地址 在介绍完ARKit...

ARKit从入门到精通(3)-ARKit自定义实现

转载请注明出处:http://www.jianshu.com/p/e67d519d2cf7 在上一小节http://www.jianshu.com/p/0492c7122d2f中,我们完整的介绍...

ARKit从入门到精通(2)-ARKit工作原理及流程介绍

转载请注明出处:http://www.jianshu.com/p/0492c7122d2f 1.1-写在前面的话1.2-ARKit与SceneKit的关系1.3-ARKit工作原理 1.3.1-A...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)