ARkit 收藏本版 已有4人收藏 +发表新主题
查看: 23564|回复: 7
打印 上一主题 下一主题

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

[复制链接]

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

Scarlett_1990 发表于 2017-9-25 17:19:41 浏览:  23564 回复:  7 只看该作者 复制链接
转载请注明出处:ARKit从入门到精通(6)-ARSession介绍
ARSession是一个连接底层与AR视图之间的桥梁,其实ARSCNView内部所有的代理方法都是由ARSession来提供的
ARSession与ARScnView之间的关系看起来是这样的:

0701.png

    • ARSession获取相机位置数据主要有两种方式
      • 第一种:push。 实时不断的获取相机位置,由ARSession主动告知用户。通过实现ARSession的代理-
        (void)sessionARSession *)session didUpdateFrameARFrame *)frame来获取
      • 第二种:pull。 用户想要时,主动去获取。ARSession的属性currentFrame来获取

  • API介绍
@interface ARSession : NSObject/** 代理 */@property (nonatomic, weak) id <ARSessionDelegate> delegate;/**指定代理执行的线程(主线程不会有延迟,子线程会有延迟),不指定的话默认主线程 */@property (nonatomic, strong, nullable) dispatch_queue_t delegateQueue;/**相机当前的位置(是由会话追踪配置计算出来的) */@property (nonatomic, copy, nullable, readonly) ARFrame *currentFrame;/** 会话追踪配置 */@property (nonatomic, copy, nullable, readonly) ARSessionConfiguration *configuration;/**运行会话(这行代码就是开启AR的关键所在) */- (void)runWithConfigurationARSessionConfiguration *)configuration NS_SWIFT_UNAVAILABLE("Use run(_ptions");/**运行会话,只是多了一个参数ARSessionRunOptions:作用就是会话断开重连时的行为。ARSessionRunOptionResetTracking:表示充值追踪  ARSessionRunOptionRemoveExistingAnchors:移除现有锚点 */- (void)runWithConfigurationARSessionConfiguration *)configuration optionsARSessionRunOptions)options NS_SWIFT_NAME(run(_ptions);/**暂停会话 */- (void)pause;/**添加锚点 */- (void)addAnchorARAnchor *)anchor NS_SWIFT_NAME(add(anchor);/**移除锚点 */- (void)removeAnchorARAnchor *)anchor NS_SWIFT_NAME(remove(anchor);@end//session代理分类两部分,一个是观察者(KVO) 一个是委托者(代理)#pragma mark - ARSessionObserver//session KVO观察者@protocol ARSessionObserver <NSObject>@optional/** session失败 */- (void)sessionARSession *)session didFailWithErrorNSError *)error;/**相机改变追踪状态 */- (void)sessionARSession *)session cameraDidChangeTrackingState:(ARCamera *)camera;/** session意外断开(如果开启ARSession之后,APP退到后台就有可能导致会话断开) */- (void)sessionWasInterrupted:(ARSession *)session;/**session会话断开恢复(短时间退到后台再进入APP会自动恢复) */- (void)sessionInterruptionEnded:(ARSession *)session;@end#pragma mark - ARSessionDelegate@protocol ARSessionDelegate <ARSessionObserver>@optional/** 相机当前状态(ARFrame:空间位置,图像帧等)更新 */- (void)session:(ARSession *)session didUpdateFrame:(ARFrame *)frame;/**添加锚点 */- (void)session:(ARSession *)session didAddAnchors:(NSArray<ARAnchor*>*)anchors;/**刷新锚点 */- (void)session:(ARSession *)session didUpdateAnchors:(NSArray<ARAnchor*>*)anchors;/**移除锚点 */- (void)session:(ARSession *)session didRemoveAnchors:(NSArray<ARAnchor*>*)anchors;@end
分享至:
| 人收藏
回复

使用道具 举报

该用户从未签到

沙发
重庆生活网l 发表于 2017-10-25 20:38:58 只看该作者
希望大家发表自己的看法!我先赞成一下













淘客机器人、淘客返利机器人、淘宝客机器人 联系客服QQ:4000017854
回复 支持 反对

使用道具 举报

该用户从未签到

板凳
重庆生活网l 发表于 2017-10-26 14:23:35 只看该作者
谢谢啦,辛苦啦。感谢感谢!













第五代QQ机器人QQ群机器人论坛QQ机器人智能客服机器人QQplus机器人QQ群互联机器人..联系QQ4000017854
回复 支持 反对

使用道具 举报

该用户从未签到

地板
Scarlett_1990
 楼主|
发表于 2017-11-16 10:13:28 只看该作者
ARVR技术交流群: 602929993   
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2019-3-25 21:42
  • 签到天数: 2 天

    [LV.1]初来乍到

    5#
    wj7636 发表于 2019-3-17 12:13:46 只看该作者
    毫不犹豫的把楼主的这个帖子收藏了。!!!            平移门 http://www.ssmdd.com
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-3-25 21:42
  • 签到天数: 2 天

    [LV.1]初来乍到

    6#
    wj7636 发表于 2019-4-1 18:29:07 只看该作者
    楼主,你的高尚情操太让人感动了。在现在这样一个物欲横流的金钱社会里,竟然还能见到楼主这样的性情中人,无疑是我这辈子最大的幸运。让我深深感受到了人性的伟大。楼主的帖子,就好比黑暗中刺裂夜空的闪电,又好比撕开乌云的阳光,一瞬间就让我如饮甘露,让我明白了永恒的真理在这个世界上是真实存在着的。只有楼主这样具备广阔胸怀和完整知识体系的人,才能作为这真理的惟一引言者。看了楼主的帖子,我陷入了严肃的思考中。我认为,如果不把楼主的帖子顶上去,就是对真理的一种背叛,就是对谬论的极大妥协。因此,我决定义无返顾地顶了!!! 悬浮门 http://www.ssmdd.com
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-3-25 21:42
  • 签到天数: 2 天

    [LV.1]初来乍到

    7#
    wj7636 发表于 2019-4-6 18:52:07 只看该作者
    小弟混脸熟,~混脸熟~。! 平移门 http://www.ssmdd.com
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-3-25 21:42
  • 签到天数: 2 天

    [LV.1]初来乍到

    8#
    wj7636 发表于 2019-4-9 14:29:12 只看该作者
    【他们都说打出十五字才是最标准的】!! 悬浮门http://www.ssmdd.com
    回复 支持 反对

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2013-2017 ARinChina-增强现实中国技术论坛   All Rights Reserved.