回复内容:可以,分两块
1. 摄像头输入以及视觉分析,通过 inspirit/jsfeat · github
2. webgl 三维渲染、模型动画,通过 mrdoob/three.js · github
局限性是手机上的浏览器不支持摄像头,还得再等等。
微信 js-sdk 能拿到单张照片,但无法得到连续的摄像头视频,这意味着无法实现真正的实时 ar。
感兴趣的可以关注 黑客与画家 - 知乎专栏看看亮风台他们的ar平台,虽然技术都是十几年前的拿过来做成了api,不过人家还是花了点功夫的。(我没用过,不知道效果如何ㄟ( ▔, ▔ )ㄏ oculus + node.js + three.js 打造vr世界 |vr第一资讯 vr013
在尝试一个晚上的开发环境搭建后,我放弃了开发原生应用的想法。一是没有属于自己的电脑(如果raspberry pi ii不算的话)——没有windows、没有gnu/linux,二是公司配的电脑是mac os。对于嵌入式开发和游戏开发来说,mac os简直是手机中的windows phone——坑爹的llvm、gcc(mac os )、opengl、oglplus、c++11。并且官方对mac os和linux的sdk的支持已经落后了好几个世纪。
说到底,还是web的开发环境到底还是比较容易搭建的。这个repo的最后效果图如下所示:
效果:
wasd控制前进、后退等等。旋转头部 = 真实的世界。附加效果: 看久了头晕。现在,让我们开始构建吧。
node oculus services这里,我们所要做的事情便是将传感器返回来的四元数(quaternions)与欧拉角(euler angles)以api的形式返回到前端。
安装node nmdnode.js上有一个oculus的插件名为node-hmd,hmd即面向头戴式显示器。它就是oculus sdk的node接口,虽说年代已经有些久远了,但是似乎是可以用的——官方针对 mac os和linux的sdk也已经很久没有更新了。
在gnu/linux系统下,你需要安装下面的这些东西的
freeglut3-devmesa-common-devlibudev-devlibxext-devlibxinerama-devlibxrandr-devlibxxf86vm-dev
有demo,但是还有局限,欢迎一起研究推荐three.js