基于浏览器调用ARKit与ARCore

浏览器调用ARKit

这两天苹果出了新品发布会的预告,官网的页面还有个小彩蛋就是用浏览器调用ARCore实现的,着色器的效果看着舒服。附上链接https://www.apple.com.cn/apple-events/

IOS端使用safari浏览器启用ARKit的功能叫AR Quick Look,开发者官网就有相关的介绍https://developer.apple.com/augmented-reality/quick-look/ 

它是利用safari加载usdz格式的模型文件,启用的方法很简单,如下所示

<a href="sazane.usdz" rel="ar">

只要在html页面上添加个超链接标签,把rel标识成ar,并在href中传入文件即可。但是加载起来也是有条件的,它需要用IOS系统>12.0的iphone或者ipad,并且使用safari浏览器才能加载。点击这里查看效果。

AR的效果就是原生的ARKit,效果相当好而且实现起来也相当简单,但是显示的模型却不那么好弄。AR Quick Look加载的模型要求是usdz格式。它是一个零压缩的加密ZIP存档,专为3D内容而设计,它是由苹果和皮克斯合作开发出来的一种模型格式。目前只能使用Mac平台上使用一款叫Reality Converter的软件把常见的模型格式输出成usdz。附上软件的下载链接:https://developer.apple.com/download/

浏览器调用ARCore

因为各种原因,浏览器调用ARCore就比ios端的麻烦多了。首先需要是适配了ARCore的机型,目前新出的华为机型基本就是无望(动手能力强的可以改机型);接着是安卓的系统版本要大于7.0;然后需要安装Google Play Servers for AR;再就是需要谷歌的GoogleApp (需要梯子和三件套,附上链接https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox);最后就是需要谷歌的浏览器,必须是Chrome Beta 81.0.4044.18以上的版本。

如果上面的条件都具备了的话可以继续看下去,不然的话还是算了吧。这也是ARCore在中国推广不起来的原因之一。。。

谷歌的这套方案是基于Scene Viewer来实现的,附上介绍的链接https://developers.google.com/ar/develop/java/scene-viewer

它跟ios那一套类似,都有AR跟3D的浏览模式。不过有一点不一样的是ios使用的是usdz格式,而android这边使用的是gltf格式。

代码的实现也很简单,如下所示:

<a href="intent://arvr.google.com/scene-viewer/1.0?file=
(你的gltf文件地址,去掉括号)#Intent;scheme=https;package=com.google.android.googlequicksearchbox;action=android.intent.action.VIEW;S.browser_fallback_url=https://developers.google.com/ar;end;">Model</a>

点击这里查看效果。实现的效果如下所示:

具体的用法上面的链接也有介绍,有兴趣的可以参考一下

猜你喜欢

转载自blog.csdn.net/ssssssilver/article/details/108516979
今日推荐