热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在不冻结ARSession的情况下将ARSCNView放入Tabview控制器?

如何解决《如何在不冻结ARSession的情况下将ARSCNView放入Tabview控制器?》经验,为你挑选了1个好方法。

我正在尝试在我的应用程序(Tabbed应用程序)中实现iOS 11 beta的ARKit.但正如在ARKit会话暂停和不恢复线程中所述,每当我将选项卡更改为另一个视图控制器并返回时,ARSession就会冻结而不会恢复.

是否可以在选项卡式应用程序中实现ARSCNView,这样如果你回来我可以恢复ARSession?如果是这样怎么办?



1> Vasilii Mura..:

是的你可以:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    let cOnfiguration= ARWorldTrackingSessionConfiguration()
    sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
}
override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    sceneView.session.pause()
}

当视图消失时停止会话,并在显示视图时重新运行清除锚点和重置跟踪的会话.另外为了避免出现和消失ASCNView更好地使用弹出视图控制器.

为了获得更好的用户体验,请参阅Apple如何在其演示项目中执行这些弹出窗口


是的.即使您解决了"冻结"问题,如果您离开另一个全屏视图控制器并返回,您也可以从头开始有效地启动用户的AR体验.最好使用弹出框或类似功能来保持AR视图的运行,或者设计您的应用程序,这样您就不需要保持正在进行的体验.
推荐阅读
author-avatar
你是我的小二郎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有