首先訪問谷歌開發者網站中的AR版塊,下載示例 hellosceneform,準備好android studio等編程環境,打開示例工程,可以看到如下界面:

谷歌示例代碼

從工程結構上可以看出,sampledata目錄下存儲的是虛擬3D模型,要放置到現實世界中的虛擬物體就是這個玩偶,谷歌例子裏是個安卓小機器人。然後看mainfest.xml 和主佈局文件,可以看到主佈局文件中定義了一個AR畫布,代碼如下,表示最終將在這個區域渲染增強現實的畫面:

接下來得開始剖析 HelloSceneformActivity.java 了,其實邏輯也比較簡單,第一步是加載3d模型,這個加載是異步的。

加載3d模型

第二步就是監聽平面檢測後的點擊事件,表示用戶想把虛擬物體放置在平面上的哪個位置。第三步就是創建一個節點把虛擬物體掛上去,然後把這個節點掛到畫布上即可。

平面檢測

編譯運行就可以看到效果啦,用相機對準平面穩定一會兒時間,他就會自動檢測出平面,然後點擊平面上的點,就可以把安卓小機器人放上去啦。

已經檢測到平面

通過這個例子的學習,我們很容易就能開發一個增強現實AR的小應用,再改一改3D模型,就能放小貓小狗到桌子上了,是不是很可愛呢 :)

查看原文 >>
相關文章