浏览器调用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>

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

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

基于浏览器调用ARKit与ARCore相关推荐

  1. 基于HTTP可供浏览器调用的本地打印程序

    之前给公司做打印都是用ActiveX控件,只支持IE浏览器,最近需要支持谷歌,又不想去学谷歌插件编写,于是就用本地启动一个http服务器来供浏览器调用(写成windows服务更好),同事用了都说好(笑 ...

  2. ARKit 与 ARCore比对(三)

    ARKit 和 ARCore剖析.结构.原理介绍 ARKit 和 ARCore 都是三部分:相机姿态估计, 环境感知(平面估计)及光源感知. ARCore 的部分源码:https://github.c ...

  3. http状态404 vscode_VS Code 调试完全攻略(5):基于浏览器的 React 应用

    每日前端夜话第344篇 翻译:疯狂的技术宅 作者:Charles Szilagyi 来源:charlesagile 正文共:1750 字 预计阅读时间:7 分钟 这次我们来研究怎样把调试器连接到用 C ...

  4. python调用lib_基于python调用libvirt API

    基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...

  5. 一个新实验:使用gRPC-Web从浏览器调用.NET gRPC服务

    今天给大家翻译一篇由ASP.NET首席开发工程师James Newton-King前几天发表的一篇博客,文中带来了一个实验性的产品gRPC-Web.大家可以点击文末的讨论帖进行相关反馈.我会在文章末尾 ...

  6. ubuntu生成密钥和证书_基于浏览器的密钥生成以及与浏览器的密钥/证书存储的交互...

    ubuntu生成密钥和证书 想象以下情况: 您需要从访问您的网站的用户那里获取一个密钥(在非对称情况下为用户的公共密钥 ),并希望浏览器记住私有部分,而不会因冗长的导入过程而困扰用户. 老实说,实际上 ...

  7. html定位的实例,H5案例分享:基于浏览器的HTML5地理定位

    基于浏览器的HTML5地理定位 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML ...

  8. html5 页面回退,一种基于浏览器堆栈管理的H5页面动态回退方法与流程

    本技术应用于在浏览器运行的H5应用中,涉及浏览器的History历史堆栈管理技术,尤其是移动端H5应用在浏览器中的History历史堆栈管理技术. 背景技术: 移动端H5应用作为一款基于浏览器历史堆栈 ...

  9. html5经纬度定位 源码_基于浏览器的HTML5地理定位

    地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML5 地理位置定位的基本原理和一个 ...

最新文章

  1. 实现 ASP.NET 网站地图提供者
  2. mac搭建ios自动化环境之WebDriverAgent配置
  3. 分享自制的C#和VB Code互转工具
  4. linux 使用 touch 修改文件的修改时间
  5. Excel 的点点滴滴
  6. VHDL简易电子琴的设计
  7. Primer c++ 第5版pdf
  8. 迈向现代化的 .Net 配置指北
  9. Bootstrap3 按钮状态提示
  10. 如何启用“锁定内存页”选项 (Windows)
  11. ~~约数个数(附模板题)
  12. 开课吧课堂之何时调用构造函数
  13. Codeforces Round #161 (Div. 2) B. Squares
  14. 论文笔记_S2D.67_CamVox: 一种低成本、高精度的激光雷达辅助视觉SLAM系统
  15. 红帽Linux 7系统修改root密码
  16. js 彻底理解回调函数
  17. amazon s3cmd 安装、批量下载
  18. 修改Git提交历史中的author,email和name等信息
  19. CA认证完整实现步骤
  20. -20dB谱宽是什么意思?

热门文章

  1. 比对EXCEL中的两列数据之间的差值
  2. 10、JSP快速入门
  3. 打开文件提示配置CAD解决方法
  4. 【模式识别/机器学习】支持向量机SVM浅析
  5. 云原生(二)阿里云服务器突发型、共享型、独享型介绍
  6. FileUpload选择图片并上传
  7. MT7688学习笔记(1)——搭建环境、编译烧写
  8. SegNet代码实战
  9. Unity/C# 舍入的五种写法
  10. 马斯克失去世界首富头衔/ 清华孙茂松当选ACL Fellow/ VR头显可隔空接吻…今日更多新鲜事在此...