首先访问谷歌开发者网站中的AR版块,下载示例 hellosceneform,准备好android studio等编程环境,打开示例工程,可以看到如下界面:

谷歌示例代码

从工程结构上可以看出,sampledata目录下存储的是虚拟3D模型,要放置到现实世界中的虚拟物体就是这个玩偶,谷歌例子里是个安卓小机器人。然后看mainfest.xml 和主布局文件,可以看到主布局文件中定义了一个AR画布,代码如下,表示最终将在这个区域渲染增强现实的画面:

接下来得开始剖析 HelloSceneformActivity.java 了,其实逻辑也比较简单,第一步是加载3d模型,这个加载是异步的。

加载3d模型

第二步就是监听平面检测后的点击事件,表示用户想把虚拟物体放置在平面上的哪个位置。第三步就是创建一个节点把虚拟物体挂上去,然后把这个节点挂到画布上即可。

平面检测

编译运行就可以看到效果啦,用相机对准平面稳定一会儿时间,他就会自动检测出平面,然后点击平面上的点,就可以把安卓小机器人放上去啦。

已经检测到平面

通过这个例子的学习,我们很容易就能开发一个增强现实AR的小应用,再改一改3D模型,就能放小猫小狗到桌子上了,是不是很可爱呢 :)

查看原文 >>
相关文章