基于浏览器调用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>
点击这里查看效果。实现的效果如下所示:
具体的用法上面的链接也有介绍,有兴趣的可以参考一下
基于浏览器调用ARKit与ARCore相关推荐
- 基于HTTP可供浏览器调用的本地打印程序
之前给公司做打印都是用ActiveX控件,只支持IE浏览器,最近需要支持谷歌,又不想去学谷歌插件编写,于是就用本地启动一个http服务器来供浏览器调用(写成windows服务更好),同事用了都说好(笑 ...
- ARKit 与 ARCore比对(三)
ARKit 和 ARCore剖析.结构.原理介绍 ARKit 和 ARCore 都是三部分:相机姿态估计, 环境感知(平面估计)及光源感知. ARCore 的部分源码:https://github.c ...
- http状态404 vscode_VS Code 调试完全攻略(5):基于浏览器的 React 应用
每日前端夜话第344篇 翻译:疯狂的技术宅 作者:Charles Szilagyi 来源:charlesagile 正文共:1750 字 预计阅读时间:7 分钟 这次我们来研究怎样把调试器连接到用 C ...
- python调用lib_基于python调用libvirt API
基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...
- 一个新实验:使用gRPC-Web从浏览器调用.NET gRPC服务
今天给大家翻译一篇由ASP.NET首席开发工程师James Newton-King前几天发表的一篇博客,文中带来了一个实验性的产品gRPC-Web.大家可以点击文末的讨论帖进行相关反馈.我会在文章末尾 ...
- ubuntu生成密钥和证书_基于浏览器的密钥生成以及与浏览器的密钥/证书存储的交互...
ubuntu生成密钥和证书 想象以下情况: 您需要从访问您的网站的用户那里获取一个密钥(在非对称情况下为用户的公共密钥 ),并希望浏览器记住私有部分,而不会因冗长的导入过程而困扰用户. 老实说,实际上 ...
- html定位的实例,H5案例分享:基于浏览器的HTML5地理定位
基于浏览器的HTML5地理定位 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML ...
- html5 页面回退,一种基于浏览器堆栈管理的H5页面动态回退方法与流程
本技术应用于在浏览器运行的H5应用中,涉及浏览器的History历史堆栈管理技术,尤其是移动端H5应用在浏览器中的History历史堆栈管理技术. 背景技术: 移动端H5应用作为一款基于浏览器历史堆栈 ...
- html5经纬度定位 源码_基于浏览器的HTML5地理定位
地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML5 地理位置定位的基本原理和一个 ...
最新文章
- 实现 ASP.NET 网站地图提供者
- mac搭建ios自动化环境之WebDriverAgent配置
- 分享自制的C#和VB Code互转工具
- linux 使用 touch 修改文件的修改时间
- Excel 的点点滴滴
- VHDL简易电子琴的设计
- Primer c++ 第5版pdf
- 迈向现代化的 .Net 配置指北
- Bootstrap3 按钮状态提示
- 如何启用“锁定内存页”选项 (Windows)
- ~~约数个数(附模板题)
- 开课吧课堂之何时调用构造函数
- Codeforces Round #161 (Div. 2) B. Squares
- 论文笔记_S2D.67_CamVox: 一种低成本、高精度的激光雷达辅助视觉SLAM系统
- 红帽Linux 7系统修改root密码
- js 彻底理解回调函数
- amazon s3cmd 安装、批量下载
- 修改Git提交历史中的author,email和name等信息
- CA认证完整实现步骤
- -20dB谱宽是什么意思?