iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
Mobile Development

從無到有! Unity AR手遊開發日誌-以山海異聞錄為例系列 第 11

Day 11 | UnityAR世界建立 - ARFoundation/ARCore介紹

上一篇文章介紹了Unity AR(Android)的建置環境,本篇文章會簡單介紹開發此款手遊的主要AR套件的基本功能。Unity在AR領域的發展一直走在前端位置,很早就開始支援不同平台的AR開發,具有數種AR套件,iOS的ARKit、Google的ARCore、Vuforia、Mars等,都是現在開發者常用的AR套件。

目錄
AR Foundation 介紹
ARCore 介紹
功能、環境測試

AR Foundation 介紹

以往開發Apple、Android兩個平台的AR應用程式時,需要各自開發不同的應用程式,對於開發人員來說需要耗費較大的開發成本。之後Unity推出了AR Foundation,一個跨平台、裝置的核心通用API,本身不實現任何AR功能,搭配ARCore、ARKit等套件,開發人員只要用一組程式碼,即可建置跨平台的應用程式,大大減少開發時間。

主要元件

  • ARSession:控制整體AR的生命週期,管理AR的開啟和關閉。
  • ARSessionOrigin:處理AR世界座標繫到Unity坐標系的轉換。可搭配許多元件管理各種AR功能,例如:ARPlaneManager處理平面偵測、ARFaceManager處理臉部偵測、ARRaycastManager負責AR世界中的射線碰撞。
  • ARCamera:由ARSessionOrigin管理,控制AR鏡頭,用戶在裝置上可看到方位。

ARCore 介紹

由Google開發的AR擴增實境套件,透過使用不同的API,讓智慧手機主要具備以下功能:

  • 動態追蹤:幫助手機理解虛擬實境與現實映射關係,調整AR虛擬物件的位置。
  • 環境感知:對實際環境中的平面進行評估,估算位置、大小以及方向。
  • 光線感知:分析當前環境的光罩信息,對虛擬內容渲染的光照色彩進行校正,使虛擬內容與現實場景融合的更加自然。

尚且具備如面部識別、環境光感測、場景觀測器、增強圖像等延伸功能,在這次的開發中提供核心AR功能,以ARFoundation作為使用介面來實現遊戲內容。

功能、環境測試

環境設定完成時,需實際建置簡單場景來檢測設定是否完成。在Sample Scene中
添加ARSesstionOrigin及ARSession兩個物件,關閉MainCamera。

在ARSesstionOrigin下添加ARPlaneManager以及ARRaycastManager兩個元件,並且創建AR Default Plane的Prefab放入ARPlaneManager的Plane Prefab,就可以輸出看看是否設定成功且具備AR偵測平面功能囉。

可以自己試試其他的Manager功能喔,例如ARFaceManager,創建AR Default Face,測試臉部辨識功能。


下一篇文章會正式開始AR遊戲實作喔,那我們就明天見囉~


上一篇
Day 10 | Unity AR 環境建置(Android)
下一篇
Day 12 | 魔術方塊AR遊戲開發Part1 - 魔術方塊建立
系列文
從無到有! Unity AR手遊開發日誌-以山海異聞錄為例30

尚未有邦友留言

立即登入留言