【太虛AR_v0.1】使用教程 | VOID SLAM(Markerless)

太虛AR(VOID AR)

官方網(wǎng)站:https://www.voidar.net

官方QQ群:277574712

技術(shù)支持:ar@voidar.net

商務(wù)合作:bd@voidar.net

微信公眾號:voidar

太虛AR微信公眾號

導(dǎo)言[ ★★★非常重要★★★ ]

VOID SLAM技術(shù)應(yīng)用時,一定要將“模型的底面貼著地面”腥刹,獲得更好的貼地效果陕截,以達到更好的體驗揍很。

請仔細閱讀并參照本教程中[ 四洋丐、實現(xiàn)流程 ] -> [ 第八步滚停、模型底面貼著地面霉囚,獲得更好的貼地感 ]

對比圖效果示意:

動態(tài)圖效果示意:

一、簡介

VOID SLAM技術(shù)耕蝉,不需要Marker圖像崔梗,就能在現(xiàn)實環(huán)境中自由放置虛擬內(nèi)容,創(chuàng)造身臨其境的AR體驗垒在。


二、閱讀指南

本教程主要介紹如何在Unity環(huán)境下進行操作。

默認讀者您擁有一定的軟件使用场躯、應(yīng)用開發(fā)經(jīng)驗谈为。

本教程只會對Unity的基礎(chǔ)使用進行簡要說明,如果希望更深入的了解踢关,您可以訪問Unity官網(wǎng)查看更加詳細的教程伞鲫。


三、搭建環(huán)境

在進行具體操作前签舞,您需要安裝下列軟件秕脓,準備如下環(huán)境:

操作系統(tǒng)

- Windows 7 或更高版本

- OS X 10.10 或更高版本

Unity版本

支持Unity 3D版本為:5.2.x - 5.6.x(32位或者64位)、2017.1

推薦使用5.4以后的版本(渲染效果提升)

下載地址:https://unity3d.com/cn/get-unity/download/archive

本教程中使用的Unity版本為:5.5.2(64位)

太虛AR SDK

官方網(wǎng)站:https://www.voidar.net

下載地址:https://www.voidar.net/downloads.php


四儒搭、實現(xiàn)流程

第一步吠架、新建Unity工程

打開Unity,新建一個工程搂鲫。填寫Project name為“VOID SLAM”傍药、選擇保存的位置,點擊[ Create project ]魂仍。


第二步拐辽、導(dǎo)入太虛AR SDK

選中[ Assets ] -> [ Import Package ] -> [ Custom Package... ],導(dǎo)入太虛AR SDK擦酌。

選擇下載好的SDK文件(.unitypackage)俱诸,點擊[ 打開 ]按鈕。

彈出界面赊舶,點擊[ Import ]睁搭,導(dǎo)入過程需要耐心等待一段時間。

如果彈出“API Update Required”界面锯岖,請點擊[ I Made a Backup, Go Ahead! ]介袜。


第三步、刪除Main Camera

Unity3D打開時默認是新的Scene出吹,新的Scene自帶一個Main Camera和Directional Light對象遇伞,我們需要用SDK的ARCamera,故將默認的Camera刪除捶牢。

右鍵選中場景中自帶的“Main Camera”鸠珠,點擊[ Delete ] 刪除。


第四步秋麸、拖入預(yù)制件“ARCamera”

展開[ Assets ] -> [ VoidAR ] -> [ Prefabs ]目錄渐排,將預(yù)制件“ARCamera”拖至場景中。

操作成功后顯示如下灸蟆。


第五步驯耻、設(shè)置ARCamera

選中ARCamera,查看右側(cè)的“Inspector”欄,設(shè)置“Void AR Behaviour (Script)”組件屬性可缚。

- 設(shè)置MarkerType = "Markerless"

第六步霎迫、設(shè)置App License Key

打開云平臺網(wǎng)址,注冊賬號并登錄帘靡。

網(wǎng)站地址:http://cloud.voidar.net

進入云平臺知给,左側(cè)點擊[ 創(chuàng)建SLAM應(yīng)用 ]。

點擊[ 創(chuàng)建應(yīng)用 ]描姚。

彈出界面填寫AppId涩赢,填寫完成后點擊[ 保存 ]。

- 因AppId屬于唯一值轩勘,所以此處請您自行設(shè)置AppId筒扒,比如 "com.VOIDAR.SLAM"

- 注:打包時設(shè)置的Bundle Identifier,必須與此處設(shè)置的AppId相同赃阀,否則SLAM將無法正常使用霎肯。[ ★★★非常重要★★★ ]

完成后,獲得“AppKey”榛斯。

返回Unity观游,選中ARCamera,查看右側(cè)的Inspector欄驮俗,繼續(xù)完成“App License Key”的設(shè)置懂缕。

第七步、添加模型

右鍵點擊場景王凑,彈出列表中點擊[ Create Empty ]搪柑。

創(chuàng)建了一個“GameObject”。

選中“GameObject”索烹,并將其坐標調(diào)整為(0,0,0)工碾。

右鍵點擊“GameObject”,列表中選中“3D Object”百姓,點擊[ Cube ]渊额。

在GameObject下方,創(chuàng)建了一個3D模型“Cube”垒拢。

為了生成模型的時候旬迹,模型大小比較合適,選中“Cube”求类,調(diào)整模型的位置和大小奔垦。

Position調(diào)整為(X , Y , Z = 0 , 0 , 0)

Scale調(diào)整為(X , Y , Z = 0.3 , 0.3 , 0.3)


第八步、模型底面貼著地面尸疆,獲得更好的貼地感[ ★★★非常重要★★★ ]

VOID SLAM技術(shù)應(yīng)用時椿猎,一定要將模型的底面貼著地面惶岭,獲得更好的貼地效果,以達到更好的體驗鸵贬。

要使得模型的底面貼著地面俗他,有2種方法:

1. 調(diào)整模型的中心點:

使用3d Max等軟件脖捻,將3D模型的中心點阔逼,調(diào)整至“模型底部中心”。本教程不詳細介紹地沮,具體的操作可以參考:改變模型軸心點的方法

2. 添加參照平面嗜浮,Unity中直接調(diào)整模型坐標位置

Unity中新建的模型,中心會默認在模型正中摩疑。通過添加一個Plane平面做參照危融,將模型底面貼著Plane平面即可。

下文將按照該方法進行設(shè)置雷袋。

新建的“Cube”模型吉殃,中心默認在模型正中。

創(chuàng)建一個Plane作為參照楷怒,右鍵點擊場景蛋勺,列表中選中“3D Object”,點擊[ Plane ]鸠删。

選中“Plane”抱完,將其坐標調(diào)整為(0,0,0)。

選中3D模型“Cube”刃泡,拖動坐標軸調(diào)整其位置巧娱,讓其底面貼著Plane。(X , Y , Z = 0 , 0.15 , 0)

底面緊貼Plane烘贴,模型的坐標位置就調(diào)整完成了禁添。

右鍵選中“Plane”,點擊[ Delete ]桨踪,刪除參照物老翘,調(diào)整完成。


第九步馒闷、設(shè)置觸發(fā)事件

先選中“ARCamera”酪捡,然后再鼠標左鍵點擊“GameObject”,按住不放纳账,將其拖入“MakerlessNode”變量中逛薇。

設(shè)置完成后,顯示如下疏虫。

選中“GameObject”永罚,點擊[ Add Compoent ]啤呼,添加“Markerless Tracking“腳本組件。

腳本綁定成功后呢袱,顯示如下官扣。

接著,需要創(chuàng)建一個腳本羞福,實現(xiàn)Markerless跟蹤功能惕蹄。在Assets目錄下,創(chuàng)建一個“Folder”治专。

修改文件名為“Scripts”卖陵。

右鍵選中“Scripts”文件夾,創(chuàng)建一個新的C#腳本张峰。

修改文件名為"SLAM"泪蔫。

雙擊“SLAM”腳本,復(fù)制粘貼如下代碼喘批,并保存腳本撩荣。

using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class SLAM : MonoBehaviour {

? ? ? ?void OnGUI()

? ? ? ?{

? ? ? ? ? ? ? var btnHeight = Screen.height * 0.1f;

? ? ? ? ? ? ? var btnWidth = btnHeight * 3.0f;

? ? ? ? ? ? ? var gap = 20;

? ? ? ? ? ? ? GUI.skin.button.fontSize = 36;

? ? ? ? ? ? ? if (GUI.Button(new Rect(Screen.width - btnWidth, gap, btnWidth, btnHeight), "Start"))

? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? VoidAR.GetInstance().startMarkerlessTracking();//開始跟蹤

? ? ? ? ? ? ? }

? ? ? ? ? ? ? if (GUI.Button(new Rect(Screen.width - btnWidth, gap * 2 + btnHeight, btnWidth, btnHeight), "Reset"))

? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ?VoidAR.GetInstance().resetMarkerless();//重置

? ? ? ? ? ? ? }

? ? ? ?}

}

選中“ARCamera”,點擊[ Add Compoent ]饶深,添加“SLAM”腳本餐曹。

腳本綁定成功后,顯示如下粥喜。

第十步凸主、保存場景

選中[ File] -> [ Save Scenes ] ,進行場景保存额湘。

設(shè)置文件名為“VOID SLAM”卿吐,點擊[ 保存 ]按鈕。

第十一步锋华、打包Android或iOS

VOID SLAM是太虛AR自主研發(fā)的多元融合的技術(shù)嗡官,需使用慣性測量單元(簡稱IMU)。

因PC端沒有IMU毯焕,故無法進行調(diào)試衍腥,需要打包至手機端(Android或iOS)才能體驗到實際效果。

打包流程分為“Android打包”纳猫、“iOS打包”婆咸。


- Android打包

打包Android,需要將Unity切換至Android平臺芜辕,點擊[ File ] -> [ Build Settings... ]尚骄。

選中Android標簽,如果左下的[ Switch Platform ]按鈕為灰色侵续,需要下載Unity Android Support倔丈,請點擊右側(cè)的[ Open Download Page ]按鈕憨闰,下載并安裝。

點擊[ Switch Platform ]按鈕需五,完成Android平臺的切換鹉动。

切換完成后,先關(guān)閉Build Settings界面宏邮,繼續(xù)搭建打包環(huán)境泽示。

選中[ Edit ] -> [ Preferences... ],設(shè)置參數(shù)蜀铲。

彈出界面選中“External Tools”選項边琉,設(shè)置Android SDK和JDK。

如果本地沒有SDK和JDK记劝,可以點擊后方的[ Download ],在彈出的網(wǎng)頁上進行下載即可族扰。

也可以用鏈接下載安裝:

SDK(要科學(xué)上網(wǎng)才能打開):https://developer.android.com/studio/index.html#Other

JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html


安裝完成后厌丑,設(shè)置好SDK和JDK的路徑就可以了。

選中ARCamera渔呵,查看右側(cè)的“Inspector”欄怒竿,設(shè)置“Void AR Behaviour (Script)”組件屬性。

- 設(shè)置Camera = "后置攝像頭"

選中[ File ] -> [ Build Settings... ]扩氢,取消默認場景前方的勾選耕驰。然后點擊[ Add Open Scenes ],添加當(dāng)前的場景录豺。

添加完成后朦肘,如下所示。

點擊[ Player Settings... ]按鈕双饥,查看右側(cè)的“Inspector”欄媒抠,設(shè)置屬性參數(shù),您可以自定義咏花。

- 設(shè)置Company = "VOIDAR"

- 設(shè)置Product Name = "VOID SLAM"

- 設(shè)置Bundle Identifier= "com.VOIDAR.SLAM"(必須與第六步設(shè)置的AppId相同趴生,否則SLAM將無法正常使用。[ ★★★非常重要★★★ ])

注:Bundle Identifier不能使用默認值昏翰,否則無法打包苍匆。

完成設(shè)置后,點擊[ Build ]按鈕棚菊。

設(shè)置文件名為“VOID SLAM”浸踩,點擊[ 保存 ]按鈕,開始打包窍株。

打包過程需要耐心等待一段時間民轴。

完成后攻柠,將生成一個“VOID SLAM.apk”文件,安卓打包完成后裸。


- iOS打包

iOS打包需要在Mac OS系統(tǒng)中完成瑰钮,需要準備Mac設(shè)備(如MacBook Pro、MacBook微驶、iMac浪谴、Mac mini等)。

在Unity中因苹,將開發(fā)平臺切換至iOS苟耻,然后Build生成Xcode工程。

注:推薦使用Mac設(shè)備的Unity軟件來生成Xcode工程扶檐。如果之前是在Windows環(huán)境下編輯的凶杖,可以將Unity目錄下的整個工程文件,拷貝至Mac電腦中進行編輯處理款筑。


啟動Unity智蝠,打開之前保存的、或者拷貝過來的VOID SLAM工程文件(工程已經(jīng)打開的奈梳,跳過這步)

點擊[ Open ]按鈕打開工程杈湾。

將Unity切換至iOS平臺,點擊[ File ] -> [ Build Settings... ]攘须。

選中iOS標簽漆撞,如果左下的[ Switch Platform ]按鈕為灰色,需要下載Unity iOS Support于宙,請點擊右側(cè)的[ Open Download Page ]按鈕浮驳,下載并安裝。

點擊[ Switch Platform ]按鈕限煞,完成iOS平臺的切換抹恳。

切換完成后,先關(guān)閉Build Settings界面署驻。

選中ARCamera奋献,查看右側(cè)的“Inspector”欄,設(shè)置“Void AR Behaviour (Script)”組件屬性旺上。

- 設(shè)置Camera = "后置攝像頭"

選中[ File ] -> [ Build Settings... ]瓶蚂,取消默認場景前方的勾選。然后點擊[ Add Open Scenes ]宣吱,添加當(dāng)前的VOID SLAM場景窃这。

添加完成后,如下所示征候。

完成設(shè)置后杭攻,點擊[ Build ]按鈕祟敛。

準備生成Xcode工程,命名為“Output”兆解,點擊[ Save ]馆铁。

打開生成的Xcode文件。

填寫配置,將自己的證書、iOS適應(yīng)版本都正確選上:

左側(cè)點擊[ Unity-iPhone ]双妨,配置參數(shù),您可以自定義辣垒。

- 設(shè)置Display Name = "VOIDAR_Test"

- 設(shè)置Bundle Identifier = "com.VOIDAR.SLAM"(必須與第六步設(shè)置的AppId相同,否則SLAM將無法正常使用印蔬。[ ★★★非常重要★★★ ])

- 設(shè)置Version = "1.0"

- 設(shè)置Build = “1.0”

- 設(shè)置Team = “您自己的證書”

- 設(shè)置Deployment Target = “8.1”


General頁面往下拉勋桶,在Linked Frameworks and Libraries中,點擊“+”扛点。

彈出界面哥遮,選中“Accelerate.framework”,點擊[ Add ]陵究。

添加完成,Linked Frameworks and Libraries下方出現(xiàn)“Accelerate.framework”奥帘。

添加攝像機權(quán)限铜邮。

選中“Info”標簽,點擊Supported interface orientations后面的“+”寨蹋。在彈出列表中選中“Privacy - Camera Usage Description”松蒜。

選中”Build Settings”標簽,設(shè)置Enable Bitcode = “No”已旧。

數(shù)據(jù)線連接iphone或者ipad秸苗,點擊[ 運行 ],即可打包运褪。

完成后惊楼,iphone或者ipad上,將生成一個“VOIDAR_Test”的APP秸讹,iOS打包完成檀咙。


五、操作說明

Start:啟動VOID SLAM(Markerless)璃诀,初始化虛擬物體(為了得到更好的體驗效果弧可,點擊啟動時,請對準一個近處劣欢、特征豐富的平面)

Reset:重置VOID SLAM(Markerless)棕诵,移除虛擬物體裁良,停止跟蹤。

點擊[ Start ]已經(jīng)生成了虛擬物體的情況下校套,如果需要切換環(huán)境价脾,請先點擊[ Reset ],再點擊[ Start ]進行初始化搔确。


平面要求:

1. 特征豐富

2. 近處取景

平面示意:

至此彼棍,VOID SLAM制作完成。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末膳算,一起剝皮案震驚了整個濱河市座硕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涕蜂,老刑警劉巖华匾,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異机隙,居然都是意外死亡蜘拉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門有鹿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旭旭,“玉大人,你說我怎么就攤上這事葱跋〕旨模” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵娱俺,是天一觀的道長稍味。 經(jīng)常有香客問我,道長荠卷,這世上最難降的妖魔是什么模庐? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮油宜,結(jié)果婚禮上掂碱,老公的妹妹穿的比我還像新娘。我一直安慰自己验庙,他們只是感情好顶吮,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著粪薛,像睡著了一般悴了。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天湃交,我揣著相機與錄音熟空,去河邊找鬼。 笑死搞莺,一個胖子當(dāng)著我的面吹牛息罗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播才沧,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼迈喉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了温圆?” 一聲冷哼從身側(cè)響起挨摸,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎岁歉,沒想到半個月后得运,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡锅移,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年熔掺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片非剃。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡置逻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出备绽,到底是詐尸還是另有隱情诽偷,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布疯坤,位于F島的核電站,受9級特大地震影響深浮,放射性物質(zhì)發(fā)生泄漏压怠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一飞苇、第九天 我趴在偏房一處隱蔽的房頂上張望菌瘫。 院中可真熱鬧,春花似錦布卡、人聲如沸雨让。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栖忠。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間庵寞,已是汗流浹背狸相。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捐川,地道東北人脓鹃。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像古沥,于是被迫代替她去往敵國和親瘸右。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 趙建銅 秋山靜美天湛藍岩齿, 印臺蘋果香又甜太颤。 享譽天下,客商稱贊纯衍, 山鄉(xiāng)笑語頻頻傳栋齿。 不忘面朝黃土背朝天, 枝條瑟瑟...
    趙建銅閱讀 655評論 1 5
  • javascript是腳本語言?javascript萬物皆對象歌亲? 呵呵噠菇用!帶你見識下js面對對象的魅力 是的是的,...
    PXCao閱讀 627評論 2 9
  • 今天發(fā)現(xiàn)本機的hostname被自動修改了陷揪,原來是因為加入的某些局域網(wǎng)的DHCP的原因惋鸥,現(xiàn)在給出解決辦法,請參考:...
    jonesjedi閱讀 4,783評論 0 0
  • 放棄悍缠,這個奇怪的字眼卦绣, 仿佛如同窗外的云彩, 只是當(dāng)好奇驅(qū)動我走向了窗臺飞蚓。 他就惚地神秘成風(fēng)滤港, 無聲地進了未成熟的...
    蟈蟈與蝸牛閱讀 238評論 0 0