当微信小程序遇到AR,会擦出怎么样的火花?期待与激动......

通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习。

本课程需要一定的基础:微信开发者工具,JavaScript,Html,Css

第一章:初遇

【背景 Backgournd】

随着2018年微信的重磅消息:支持WebGL的推出,让不少微信开发者的兴奋不已。尤其是在微小游戏架构下,可以利用成熟的WebGL的前端引擎(例如Three.js)开发出许多高质量的微信小游戏。

另一方面,AR技术也不断的从客户端向前端页面转移。通过H5可以很容易的在JS的开发语言中实现AR的效果,比如:

WebARonARKit(安卓)和WebARonARCore(IOS)的前端。只能在支持WebARonARKit和WebARonARCore的移动设备上运行。

小知识:

AR:Augmented Reality的缩写,是指利用计算机图像学的知识,让人们在现实的环境中看到虚拟的事物,对现实的场景经行增强。

可以看出一方面,广大的户口接受了AR这种新的视觉互动形式,并且有很大的需求;另一方面用户(针对中国的用户)又不希望安装新的App而更愿意在微信的平台上现取现用。如果能让AR的特点在微信的平台上体现出来,那么无疑会是一个令人激动且有很大市场价值的方向。用户既不需要安装任何App,又可以很容易的体验AR的视觉交互冲击。未来不可限量。

【目前情况 State of the Art】

当然,目前也存在一些解决方案,例如微信,QQ,支付宝等平台,也推出了自己的AR接口,提供给企业用户对接,但是这样的接口一者需要企业资质,对广大开发者并不友好,再者资源也托管在其平台上,往往有时间的限制。例如:

也有一些第三方的平台,为微信开发AR的应用。但是存在的问题是,目前的AR效果只停留在“识别”部分,却没有做跟随。最后的效果就是可以识别到图片然后在手机界面上显示一个三维的虚拟物体,可以和用户交互(旋转,缩放),但是这个三维物体不能跟随这个识别图的位置。

从上面的几个例子我们可以看到,目前的解决方案中存在的一些问题:

各大平台有一些自己的实现,不过需要商务合作,定制开发。对普通开发者并不友好。

已经有的一些方案,采用H5的版本,在微信小程序中出现,但是并不是每一帧都去拿摄像头画面去做识别和跟随,而是只截取一帧,做识别,展示3D物体,并不做跟随。

目前微信小游戏,并不支持访问摄像头,所以无法做AR的功能。

因此,目前方案的效果,并不不是非常的理想,对于广大开发者而言接入并不友好。效果也并不是真正意义上的AR:只是图像识别+WebGL显示三维物体。当然,这也是有一些深层次的原因的:

微信在小程序中要实现AR,就需要访问摄像头。但是不同设备的访问权限(IOS,安卓)等等各有不同,微信内嵌的WebKit也需要做到更多的兼容

性能问题,目前的H5方案无法做到非常完美的性能体验。因为实际用的手机品牌性能各不相同,参差不齐,加上web上的OpenES性能还是较桌面端的OpenGL性能差一些。

这些问题并不是有一时半刻可以解决的,不过作为科技的前沿工作者,我们还是可以尝试各种方案,尽量实现可以实现的内容,为未来做一些基础。

【目标Targets】

上面提到,微信小游戏并不能实现AR,因为无法访问摄像头,另外H5的页面现有的方案,要么不是真正的AR效果,要么性能不好,要么各种手机的兼容性不好。所以最后的唯一出路就是尝试在微信小程序中实现AR(并不是通过WebView)。

为了能实现这样的想法,我们就需要解决几个问题:

1. 实现在微信小程序中访问摄像头,并且可以实时的拿到每一帧画面的数据。

2. 实现在微信小程序中访问WebGL接口,实现绘制三维物体。该教程采用Three.js引擎

3. 实现在背景为摄像头实时画面的背景上显示WebGL的3D物体。

4. 整体框架搭建

5. 图像算法接入

下面的教程,就将带大家一一实现。

ar 微信小程序_当微信小程序遇到AR(一)相关推荐

  1. 计算机教室如何防火,2020校园防火安全小知识_消防安全小知识顺口溜

    消防安全知识必须人人懂,火灾隐患无处不在,稍不注意就容易引发大祸.所以,我们要从身边做起,从自己做起.以下是小编整理了关于2020校园防火安全小知识_消防安全小知识顺口溜,希望你喜欢. 校园防火安全小 ...

  2. python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...

  3. 微信群打卡小程序_用微信小程序“小打卡”,打造免费的阅读平台!

    小归 一直和微信小程序--"小打卡"的创始人保持着微信通讯,也写了<快捷|以"小打卡"为例带你玩转微信小程序!>,这篇文章主要是真对如何打卡来写的, ...

  4. Spring Boot+微信小程序_保存微信登录者的个人信息

    1. 前言 微信小程序开发平台,提供有一类 API,可以让开发者获取到微信登录用户的个人数据.这类 API 统称为开放接口. Tip:微信小程序开发平台,会把微信登录用户的个人信息分为明文数据和敏感数 ...

  5. wxml 判断 小程序_如何判断小程序外包公司是否靠谱

    微信小程序依附微信App,由于其无需下载,无需安装,无需注册,直接用微信授权登录,不占内存等优势在短短2年多的时间斩获超过10亿用户.又因为微信官方开通了小程序附近五公里展示以及在微信搜一搜增加&qu ...

  6. 大小端交换的程序_数据库在小程序云开发中的应用

    " 高效率数据库为小程序·云开发赋能,共同为客户提供更多优质解决方案. " 目录 小程序·云开发介绍小程序·云开发的数据库服务解决方案及客户成功案例 小程序云开发介绍 " ...

  7. 专属海报小程序_轻松生成小程序分享海报

    小程序海报组件 需求 小程序分享到朋友圈只能使用小程序码海报来实现,生成小程序码的方式有两种,一种是使用后端方式,一种是使用小程序自带的canvas生成:后端的方式开发难度大,由于生成图片耗用内存比较 ...

  8. 生日祝福小程序_热点丨小团团生日会享受史诗级牌面:DY官博更改头像送祝福!万达、西湖地贴屏显画面满满!...

    作为现如今斗鱼人气最高的一位女主播,小团团虽然很少露脸直播,但她凭借着有趣的灵魂赢得众多水友的喜欢.在过去的一年当中,小团团的成长有目共睹,而就在昨天,她也是在直播中迎来了一个重要的日子---生日.本 ...

  9. 微信windows版_刚刚微信内测更新!可以批量管理好友,太方便了

    微信清理好友一直是一个世纪难题,不知道大家有没有跟小雷一样的烦恼,每次清理好友都要一个个点,着实太麻烦,特别是像小雷我这种"交际王",微信四五千好友,每次清理都要花大半天的时间.想 ...

  10. 忘了微信密码怎么办_忘记微信密码怎么办?读出几个数字,没密码也能登录,后悔才知道...

    收纳世间百态,分享生活妙招.源于生活,乐于体验.点击关注,每日分享生活小技巧. 忘记微信密码怎么办?读出几个数字,没密码也能登录,后悔才知道 提到微信,大家再熟悉不过了.微信作为一个即时通讯工具,方便 ...

最新文章

  1. 写一个图片预览器(react-native),温习一下初中数学
  2. mysql5.7环境,MySQL-5.7-线上生产环境部署
  3. python数据可视化源码_Python数据分析:数据可视化实战教程
  4. hexo需要先编辑好html文件吗,教你定制Hexo的landscape打造自己的主题_html/css_WEB-ITnose...
  5. java hashmap getitem_java中HashMap使用
  6. OpenGL基础25:多光源(附简单GLSL配置)
  7. Qt使用QAudioRecorder进行音频采集,以及声音、热红外和可见光数据采集软件效果
  8. linux 跟踪运行的进程,使用 Linux 的 strace 命令跟踪/调试程序的常用选项
  9. 阿里云python面试题_一看“左程云:200道算法与数据结构”,二刷“阿里云:70+算法题、30种大厂笔试高频知识点”,3月过去终于挺进我梦中的字节!...
  10. 真正解决IDEA中Tomcat中文乱码问题
  11. python模拟登录淘宝参数在哪获取_如何用 Python 模拟登录淘宝?
  12. 我收藏的阿里云盘资源,牛逼!!
  13. java实现猴子排序_java实现猴子排序(BogoSort)
  14. [附源码]计算机毕业设计JAVA逸尘房屋销售管理系统
  15. 大数据24小时:九章云极宣布获近亿元B轮融资,我国成功研发智能辅助驾驶系统
  16. 苹果ios签名证书的生成方法
  17. 同步011序列检测电路
  18. Java学习笔记之 Lambda表达式
  19. 1.amdahl定律(加速比)
  20. win11升级到22H2的疑难以及解决办法

热门文章

  1. 我的VUE3逆袭笔记~
  2. iphone8 html5检测,iPhoneX和iPhone8对比跌落测试:结果神逆转!
  3. 给定两个整数,例如4和5,实现简单的计算器功能,即求出他们的和,差、积、商、余数。
  4. 微服务到底该怎么样部署呢?
  5. Creating Fire and Brimstone Type Animation Motion Graphics in After Effects After Effects教程之如何创作火焰动画
  6. 接口测试框架3之httprunnerV3入门以及HttpRunner安装详解
  7. 小正太Facebook追赶腾讯蜀黍的脚步还有多远?
  8. flask加ajax实现web微信
  9. 暗云III木马技术分析
  10. Flutter开发记录part2