AR.js - 使用 JavaScript 在浏览器里实现 VR 效果

AR.js - 使用 JavaScript 在浏览器里实现 VR 效果

原文链接: github.com

我正在努力使网络 AR 成为现实。这个存储库是我发布代码的地方。随时联系我@jerome_etienne。事情仍在快速发展,我们达到了良好的状态。所以我想发布这样人们可以尝试并从中获得乐趣:)

  • 非常快:即使在手机上也能高效运行。我 2 岁的手机上 60 fps
  • 非常 Webby:这是一个纯 Web 解决方案,因此无需安装。基于three.js + jsartoolkit5的完整javascript
  • 免费和开放:它是完全开源和免费的!
  • 纯标准:它适用于任何带有webglwebrtc 的手机

AR.js - 使用 JavaScript 在浏览器里实现 VR 效果

在手机上试试

只需 2 个简单的步骤即可完成 :)

  1. 将您的 android 浏览器定向到此 url
  2. 将您的手机指向一个 hiro 标记。

你完成了!它将打开一个读取手机网络摄像头的网页,定位一个 hiro 标记并在其顶部添加 3d。这是hiro marker 的一个例子。您也可以打印标记,也可以将其显示在桌面屏幕上,如下所示。

AR.js - 使用 JavaScript 在浏览器里实现 VR 效果

地位

  • 在three.js级别是主要的。它运行良好且高效
  • a-frame 组件 - 它导出<a-marker>标签。它变得真正易于使用。它允许做 three.js 扩展所做的事情。这是一些幻灯片aframe-artoolkit
  • webvr-polyfill:它有点​​工作 - 仍在进行中

例子

三.js示例:

框架示例:

WebVR-polyfill 示例:

文件夹

  • /three.js是与纯three.js一起使用的扩展
  • /aframe是与a-frame一起使用的扩展
  • /webvr-polyfill 是 WebVR polyfill,因此您可以轻松重用您的#AR / #VR 内容

许可证

这是所有开源!jsartoolkit5 在 LGPLv3 许可和附加许可下。我在 AR.js 存储库中的所有代码都在 MIT 许可下。:)

有关法律细节,请务必查看jsartoolkit5 许可证AR.js 许可证

更改日志

CHANGELOG.md

电话支持

它适用于任何带有 WebGL 和 WebRTC 的浏览器。这是原则。所以android可以工作,window mobile可以工作。不幸的是,它不适用于IOS。safari IOS safari 目前不支持 WebRTC。苹果目前正在为此努力。

这是这个项目的开始。以下是一些初始性能数据,仅供参考。这在很大程度上取决于您的 3d 的重量以及您对 AR.js 的调整,因此您的里程可能会有所不同。也就是说,他们给出了一个粗略的想法。

站在巨人的肩膀上

因此,我们展示了现在可以在手机上进行 60fps 的基于网络的增强现实。这肯定很棒,但我们是怎么到这里的?站在巨人的肩膀上!多亏了其他人的辛勤工作,我们今天才能达到神话般的 60fps AR。所以我要感谢:

  • three.js 是一个很棒的库,可以在网络上做 3d。
  • 工具包!多年做增强现实的发展和经验
  • emscripten 和 asm.j!因此我们可以将artoolkit c编译成javascript
  • 铬浏览器!谢谢你这么快!

多亏了他们所有人,我才能尽自己的一份力量:将性能从高端手机的 5fps 优化到 2 年旧手机的 60fps。

在很多人完成了所有这些工作之后,我们拥有它!我们有一个基于网络的增强现实库,速度足够快,适用于移动设备。现在,很多人的口袋里都有一部功能强大到可以进行网络 AR 的手机。我认为这种性能改进使 web AR 成为现实。我都退出了:)

如何发布?

# replace REVISION to the proper version
atom three.js/threex-artoolkitcontext.js

# Rebuild a-frame and webvr-polyfill
(cd aframe && make minify) && (cd webvr-polyfill && make minify)

# Commit everything
git add . && git commit -a -m 'Last commit before release'

# tag the release 
git tag 1.0.0

# push the tag on github
git push origin --tags

# update the a-frame codepen 
open "https://codepen.io/jeromeetienne/pen/mRqqzb?editors=1000#0"

  

上一篇:day29 CRM业务开发


下一篇:医院CRM:保持高品质医疗服务,创造长期价值,提高医院市场竞争力