2

如果大多数设备都不支持 ARCore,那么为什么 Pokemon Go 会在每台设备上运行?我的设备不受 ARCore 支持,但 Pokemon Go 在其上具有完整的性能。

为什么?

4

1 回答 1

0

直到 2017 年 10 月,Pokemon Go 似乎都在使用 Niantic 制造的AR engine. 在高层次上,游戏将口袋妖怪全局放置在服务器定义的位置(the spawn point)的空间中。AR 引擎使用手机的 GPS 和指南针来确定手机应该向左还是向右移动。最终,手机指向了正确的航向,AR 引擎在来自摄像头的视频上绘制了 3D 模型。那时还没有尝试执行环境映射、表面识别等。这是一种简单但非常有效的技术,它创造了我们所见过的令人惊叹的效果。

在那之后,Niantic 展示了使用 iOS 版 ARKit 的 Pokemon GO 原型。很容易注意到改进:错过的精灵球在人行道上看起来很自然地弹跳并且尊重物理,感觉就像皮卡丘自然地在人行道上行走,而不是在当前发布的游戏中漂浮在空中。大多数观察家预计 Niantic 可能通过 Unity 3D AR API 用 ARKit (iOS) 和 ARCore (Android) 替换当前的引擎。

在 2018 年初,Niantic 通过添加对 Google 的增强现实 SDK ARCore 的支持来改进 Android 上的游戏方面。还有一个与我们在 iOS 11 上看到的类似的更新,它已更新为支持 ARKit。由于摄像头跟踪,iOS 更新使虚拟怪物在世界上的存在感大大增强,使它们能够更准确地站在现实世界的表面上,而不是漂浮在画面的中心。Android 用户需要一部兼容 ARCore 的手机才能使用新的“AR+”模式。

在 AR+ 之前,Pokémon Go 会使用粗略的近似对象来尝试将 Pokémon 放置在您的环境中,但这主要是一种笨拙的解决方法,主要用作一种新奇功能。新的 AR+ 模式还允许 iOS 用户利用新的捕获奖励,称为expert handler,包括偷偷靠近神奇宝贝,以免吓跑它,以便更轻松地捕获它。使用 ARKit,由于它被设计为将相机与陀螺仪和所有传感器一起使用,它实际上以 60 fps 的全分辨率输入。它的性能要高得多,而且它实际上比原来的 AR 模式使用更少的电池。

对于 iOS 用户,有一个标准的受支持设备列表:

  • iPhone 6s 及更高版本
  • iPad 2017 及更高版本

对于 Android 用户而言,并非一切都清楚。让我们看看为什么。即使您拥有未经官方支持且传感器校准不佳的设备,您仍然可以在手机上使用 ARCore。例如,ARCore for All允许您这样做。所以对于 Niantic 来说,让每部 Android 手机都适合 Pokemon Go 也没有困难。

希望这可以帮助。

于 2019-03-31T09:38:59.247 回答