2018年1月6日 星期六

跨出混合實境的第一步,地板和天花板的偵測

虛擬實境(Virtual Reality, VR)是指用電腦虛構出生活情境,與使用者進行互動的一種科技,跟使用者所處環境無關,一切的影像都是虛構出來的,而擴增實境(Augmented Reality, AR)是在現實生活中呈現出3D的物件或數位內容,如影片等,最常使用的技巧是用標籤(Marker)方式,Vuforia是採用非標籤(Markless)的方式,用影像物件(Image Target)的方式其實影像物件也可以算是標籤的一種,只是沒有邊框而已,當然使用不的樣式來設計,其辦識的方法就不同。以下是用Vuforia影像物件來實現AR的情形:



混合實境(Mixed Reality,MR)是較新的概念,它結合AR和VR,利用現實環境來打造電腦虛構出來的場景,因此地板和天花板的偵測就變得相當重要,要讓運算裝置(電腦或手機)能知到地板、天花板、和牆壁等。以下微軟推出Hololens專案的展示影片:



看完影片,您是不是覺得很有趣,也很好玩呢?接下來我們來看到如何使用Vuforia以及Unity來實現地板和天花板的偵測。
軟體的版本:
Vuforia 7
Unity 2017.3 (ARKit enabled iOS devices only)
目前Android要等Unity 2017.3的補丁檔或是Unity 2017.4才會支援,以下是建立地板偵測實驗步驟:
1.開啟Unity 2017.3(含以後)
2.建立新的專案
3.在Edit選單中選擇Project Settings> Player,按下 PlayerSettings按鈕,在“XR Settings”區塊中,將“Vuforia Augmented Reality Supported”打勾。

4.替換預設的“Main Camera”成為"ARCamera",在Game Object選單中,選擇Vuforia> AR Camera,在scene視窗中產生新的AR Camera物件,移除預設 “Main Camera”。
5.在Game Object選單中,選擇Vuforia> Ground Plane> Ground Plane Stage。
6.地平面階段遊戲物件(Ground Plane Stage GameObject)為其他遊戲物件(GameObject)的父親的角色。數位內容應該是地平面階段遊戲物件的一個小孩。 請注意,地平面舞台有視覺標記,表明它是100平方厘米。 這些視覺指南僅在Unity編輯器中呈現,並用於確定Unity編輯器中的真實世界的比例。 此外,地面平台允許內容相對於地平面本身定位,允許將內容相對於現實世界的地平面。
7.接下來放一些數位內容放到地平面舞台上。 在 Game Object單中,選擇3D Object> Cube。 這將在Unity  Hierarchy 窗口中,建立新的Cube物件。 拖動Cube,使它位於地平面舞台GameObject的內部。 將Cube的X,Y和Z位置設置為0.將X,Y和Z Scale設置為0.1,您應該看到它佔據了舞台的大約一半。


8.在Game Object選單中,選擇 Vuforia> Ground Plane> Plane Finder, 平面搜查器(Plane Finder)的主要任是:

1.使用錨點輸入監聽器行為(Anchor Input Listener Behaviour)來監聽用戶的輸入(例如在設備屏幕上輕按)。
2.試圖找到一個適當的平面,在真實世界中以平面搜索行為(Plane Finder Behaviour)放上數位內容。
3.在真實世界使用內容定位行為(Plane Finder Behaviour),嘗試找到一個合適地方將在數位內容放在現實世界,本範例的數位就是指在步驟7的Cube。

9.將“Ground Plane Stage”物件拖到“Content Positioning Behavior”組件的“Anchor Stage”參數中。

10.在Project視窗中,可以在Assets\Editor\Vuforia\ForPrint\Emulator\目錄下,找到下列影像物件,把它放在地上就可以進行測試。


11.敏哥偷懶直接在電腦中打開,按下Play鈕進行測試,結果如下圖:


沒有留言:

張貼留言