開始AR之旅:用Vuforia和Unity建立一個AR示例Unity3D教程手冊(chenj_freedom譯) · 2016-06-13 21:55 跟隨我用Vuforia和Unity建立一個AR示例,。并且這一切都是免費的。 這是最后的結(jié)果: 第一步是在Vuforia中注冊賬號,。一旦你有了Vuforia的開發(fā)者賬號,,你就可以獲取它的SDK,這個SDK有許多版本包,,但是我們只使用Unity的版本包,。在我們使用Unity前還有一些步驟。 *為你的APP增加一個許可證,。目標設備設定為手機,。 *復制許可證。當我們設置攝像機時需要這個許可證,。 創(chuàng)建一個空的Unity項目并導入Vuforia SDK包,。這個SDK包不包含任何demo或者案例(案例是包含在其他的包中)。現(xiàn)在我們有一個默認的空場景,,你的項目視圖窗口將會展示出SDK中的所有文件,。
現(xiàn)在是時候往場景中添加東西了(還不是熊)。我將使用SDK中的攝像機預設代替場景中的默認攝像機,。 *從hierarchy視圖中移除MainCamera *把ARCamera增加到你的場景中,。完整路徑是Assets/Vuforia/Prefabs/ARCamera。 保存你的場景,,并為你的場景起一個有意義的名字,,我使用KarhuDemo這個名字。現(xiàn)在場景還是光禿禿的,。你還記得當你在Vuforia開發(fā)者入口創(chuàng)建APP時獲得的許可證號碼嗎,?OK,現(xiàn)在是使用它的時候了,。返回到你的場景并在hierarchy視圖中選中ARCamera,,在inspector視圖中你將看到一塊可輸入你的許可證號碼的區(qū)域。到此為止,你可以為你所完成的鼓勵下自己了,。 我感覺一個APP的許可證設置在攝像機中是有點違背直覺的,。一個自定義的資源可能會更方便吧,但是Vuforia的伙伴們那樣做應該有他們的道理吧,。 大部分基礎的AR應用打印圖像的原理都是或多或少地使用了目標點,,也叫做特征點。為了展示所有的東西都可以真正地工作,,我將使用一個經(jīng)常出現(xiàn)在我的桌子上的啤酒杯墊作為我的AR目標,。這張圖片不需要一個超級特殊的品質(zhì)或者其他什么特殊要求,手機的一個快照(我們是否還叫這些東西為手機,?)就可以了,。 帶著硬盤中的這個圖片文件,我們需要再次返回Vuforia開發(fā)者頁面,,這一次選擇Target Manager標簽,。 *增加一個新的數(shù)據(jù)庫,命名為KarhuDB,。
*增加單個圖像目標,,用上面的杯墊圖片,。設置寬度為1,,這不是圖像的寬度,而是目標對象在Unity場景空間的尺寸寬度,。 現(xiàn)在目標長久地存入了數(shù)據(jù)庫,。這個數(shù)據(jù)集是一個方便的Unity包文件。保存在你的硬盤中的某個地方,。返回到Unity界面,,并像其他自定義資源包一樣用import或者雙擊的方式把上面的數(shù)據(jù)集加入到你的Unity項目中。 *把ImageTarget預設拖動到場景的hierarchy視圖上,。你將看到場景中出現(xiàn)一個奇特的白色方形圖案,。 *重命名這個對象為BearTarget。 現(xiàn)在我們要對剛剛添加到場景中的對象進行設置,。 *選擇包含你的目標圖片的數(shù)據(jù)集 *為ImageTarget設置正常的圖像,。
我們需要指定在場景中攝像機要搜索的數(shù)據(jù)集。越多的數(shù)據(jù)集意味著越多的處理和更差的性能,。我們將在場景中僅僅使用一個數(shù)據(jù)集,,但是可能在一個場景中用很多目標做一些測試(可能在以后的某一天吧)。 *在Hierarchy視圖中選中ARCamera *載入正確的數(shù)據(jù)集 *檢查激活,。 到目前為止,,我們有了一個攝像機可以識別的目標,但是這不是非常酷,。為了增加趣味性,,當攝像機開始跟蹤目標(當目標被識別)會出現(xiàn)一個我新增的模型。 *增加一個角色預設,,并把它作為BearTarget的子對象好了,。ImageTarget預設包含了幾個腳本(TurnOffBehavior和DefaultTrackableEventHandler),這些腳本會是的你附加在目標上的網(wǎng)格失效,,并使得當目標一旦被發(fā)現(xiàn),,就激活它的網(wǎng)格。 你不要再進行其他設置了,。僅僅需要編譯你的項目,,在你的設備上運行它,欣賞效果吧,。你也可以使用一個網(wǎng)絡攝像頭并運行你的項目在編輯器中,。Unity編輯器默認在我的筆記本電腦上使用網(wǎng)絡攝像頭工作。 蠻牛社區(qū)(manew.com)分享最新的游戲研發(fā)和虛擬現(xiàn)實相關技術內(nèi)容,。 Unity3D教程手冊(unitymanual)
|
|