欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ARKit之路-简化AR调试

程序员文章站 2022-04-27 11:40:43
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。  AR应用运行时需要采集来自设备摄像头的图像信息、设备运动传感器信息,并以此为基础来构建环境感知和估计设备姿态。AR应用目前无法在模拟器中进行测试,而必须采用真机进行测试,这导致AR应用的测试工作非常缓慢低效,特别是对需要进行现场验证的应用,如导航、实景增强类应用,需要亲自到现场测试,除了天候影响,这还是一个非常繁琐且费时费力的工作。  为解决这个问题,ARKit3引入了录制与重放Session的功能(Record &...

版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。

  AR应用运行时需要采集来自设备摄像头的图像信息、设备运动传感器信息,并以此为基础来构建环境感知和估计设备姿态。AR应用目前无法在模拟器中进行测试,而必须采用真机进行测试,这导致AR应用的测试工作非常缓慢低效,特别是对需要进行现场验证的应用,如导航、实景增强类应用,需要亲自到现场测试,除了天候影响,这还是一个非常繁琐且费时费力的工作。

  为解决这个问题,ARKit3引入了录制与重放Session的功能(Record & Replay Sessions),利用该功能可以预先录制场景数据信息(包括视频图像信息、运动传感器信息、平面检测信息、设备姿态信息),在调试AR应用时可以重放这些场景数据并进行相应操作,因此可以对录制的Session进行重用,加速调试过程。

  录制Session需要在移动设备端进行,苹果公司提供了Reality Composer App应用,读者可以在AppStore中下载安装。利用Reality Composer进行Session录制的具体过程如下:

  (1)在移动设备端(iPhone和iPad)打开Reality Composer,打开后界面如图1左图所示,点击右上角的“+”号新建一个项目,进入到“选取锚定”界面,如图1左2所示;

  (2)在“选取锚定”界面中,选择锚定类型,可根据测试需求选择不同的锚定类型,本示例我们选择水平锚定方式,选定后打开场景如图1右2所示;

  (3)在当前场景中删除默认的虚拟元素,如图1右图所示,然后点击右上角“···”符号打开图2左图所示“更多”菜单;

ARKit之路-简化AR调试

图1 录制Session界面之一

  (4)在图2左图打开的“更多”菜单中选择“开发者”,打开“开发者”页面,如图2左2所示;

  (5)在“开发者”页面选择录制“录制AR会话”,打开场景信息录制界面,如图2右2所示;

  (6)点击场景信息录制界面下方的开始录制按钮进行场景录制,在录制过程中平稳缓慢的移动设备,当检测到平面后,录制界面中会出现相应的平面检测框提示用户当前平面检测情况。在采集到足够信息后点击录制界面下方结束按钮,这时会打开“捕捉完成”界面,如图2右图所示。用户可以根据情况选择“重播”、“共享”、“删除”,通过“共享”可以将录制的AR Session发送到计算机端。

ARKit之路-简化AR调试

图2 录制Session界面之二

  将录制好的Session数据发送到计算机端后,启动Xcode IDE,选择调试设备为真机,如图3左图所示。然后在Xcode菜单中依次选择Product►Scheme►Edit Scheme,如图3右图所示,这将打开Scheme设置对话框,如图4所示。

ARKit之路-简化AR调试

图3 选择调试设备、打开Scheme设置对话框

  在Scheme设置对话框中,勾选ARKit项中“Replay data”前的多选框,点击其后的下拉框选择“Add Replay Data to Project”(如果下拉菜单中已有录制好的Session,直接选择需要的Session即可),在打开的选择文件对话框中选择录制好的Session,然后关闭Scheme设置对话框。

ARKit之路-简化AR调试

图4 设置ARKit项的Replay Data为录制好的Session

  至此已完成所有Session录制及设置工作,按正常调试AR应用程序流程启动调试,当应用部署到真机设备后会自动重放录制的Session,虽然此时真机设备保持不动,但重放的Session就跟使用真机扫描环境一样,同样也可以与场景进行交互,如放置虚拟物体。

  使用录制与重放Session的功能可以更方便的调试AR应用,例如,我们可以录制保存几个不同的场景Session,利用这些场景Session,就可以调试AR应用在不同场景中的表现而不用亲自到实际场景中去测试。

  注意

  在使用Xcode进行ARKit开发时,不能使用模拟器,所以需要将调试设备选择为真机设备,如果不选择真机设备,Xcode代码编辑器中的ARKit相关代码会报错,同时,也无法设置录制的Session。

本文地址:https://blog.csdn.net/yolon3000/article/details/107494376

相关标签: ARKit之路