我正在研究如何在一个响应式网络应用中加入增强现实技术。我习惯于使用谷歌的API,因为我正在使用地图、Graph等。所以我偶然发现了Arcore AR VR API。很明显,这个是适合Native应用的。我还不清楚它是否也可以用在响应式Web应用中。
Unity有一个Augmented Reality API,但这个似乎也是专注于Native Applications。我比较喜欢和谷歌呆在一起,那么有没有办法将谷歌Arcore API用于Unity Vuforia的Web Apps?
如果没有,有没有其他AR VR API可以用于Web?我知道AR.js,有没有其他好的替代品,AR.js是一个好的库吗?有没有人用这个库有不好的体验?
我知道这是个很笼统的问题,但我需要在我继续之前回答这个问题。
AR框架一般都有一些基本的设备能力要求,以支持跟踪、渲染等。除了明显的摄像头,或者某种视频输入的要求外,往往还需要使用方位传感器等。
例如,谷歌对于认证设备支持ARCore的问题说了以下几点(目前)。
认证很重要,因为我们希望用户在使用你的AR应用时有良好的体验。这主要与敏感的运动跟踪有关,它是通过结合摄像头图像和运动传感器输入来确定用户的设备如何在现实世界中移动。
我相信你一定知道这一点,但其值得一提,以防有任何误解,Web API将允许AR在笔记本电脑,或低端移动设备等无缝工作。
另一方面,VR通常没有那么严格的要求,有一段时间一直在倡议提供一个Web VR框架--WebVR。
现在,这已经演变成了WebXR,其目的是覆盖VR和AR,尽管关于设备功能的注意事项仍然适用。
WebXR是新的,而且在不断发展,所以寻找支持可能会很棘手 - 这里有一些例子。https:/immersive-web.github.iowebxr-samples。但你可能会发现你看到这条消息的次数更多。
比如此时,最新版本的OSX上的Safari不支持,但OSX上的Chrome会支持。
如果你主要对移动设备感兴趣,那么React Native可能值得一试--比如iOS ARKit的支持在这个开放库中就有。
还有一个网络触发的设备特定的支持Android查看AR模型,虽然我怀疑这不是你正在寻找的。
AR中最有趣的发展和演变领域之一是 "遮挡"--一个物体如何在另一个真实或AR物体的前面或后面。
目前,无论是SW还是HW方法,都有相当多的关注点。如果未来出现的最流行的,或者说最强大的解决方案依赖于某种设备HW深度传感器,这可能会再次将某些功能限制在某些设备类型上。