Unity之ARFoundation動作捕捉

本人也是第一次瞭解Unity,目的是想調研下UnityAR Foundation框架。

一、準備工作

註冊個人賬號,然後下載Unity

最好選擇從Hub下載Hub是管理項目的平臺。

下載完成後,打開Hub,登錄賬號,授權個人版(個人調研測試使用)。

選擇一個Unity版本下載,最好是推薦或者其它正式版本

這是我已經安裝的2Unity版本:

然後添加特定平臺的支持模塊

我是調研在iOS端使用,最後只需要運行到iOS設備上即可。所以只選擇了iOS Build Support

估計網絡一般的情況下,下載完上面的東西,也得個4個小時左右。

等這些必備的準備工作搞定,接下來就可以創建項目了。

二、開發

2.1 創建項目

Hub裏面,項目下,點新建,彈出如下

選擇3D,輸入自己的項目名稱,點擊創建。等待幾秒之後,會自動打開Unity IDE 開發工具。

2.2 下載AR Foundation和相關依賴

在菜單欄選擇 Window -> Package Manger,打開Package Manager彈窗。

搜索AR,選擇一個版本,點擊 Install

我這裏最終是需要運行到iPhone或者iPad上的,需要使用ARKit XR Plugin,所以也需要下載一下。

提示
如果打開Package Manager刷新一直報錯,[Package Manager Window] Error searching for packages offline. 可以切換到手機4G試試,我是用公司網絡,一直報錯,最後用4G沒問題。

2.3 創建AR Session和AR Camera

下載完成後,在Hierarchy中,右擊,選擇XR-> AR Session

ARSession 作用
控制AR會話的生命週期和配置選項。 只有一個active session。 如果您有多個ARSession組件,它們全部都在同一個會話中交談,並且將彼此衝突。

2.4 創建AR Session Origin和AR Camera

選擇XR-> AR Session Origin

ARSessionOrigin 作用
ARSessionOriginAR設置的父級。 它包含一個Camera和根據檢測到的特徵(例如平面或點雲)創建的任何GameObject

因爲AR Session Origin 自帶一個AR Camera,所以,可以把項目創建時默認帶的Main Camera刪除。

刪除Main Camera 後工程目錄如下:

AR CameraTag改爲MainCamera

AR Session Origin 添加 AR Human Body Manager Component

2.5 給AR Camera添加 Scene Space Joint Visualizer(Script) Component

Scene Space Joint Visualizer Unity裏面默認是沒有的,下載Unity官方示例工程

按下圖路徑 Assets->Scripts 找到 ScreenSpaceJointVisualizer.cs文件,拖入到 Unity Demo項目中Project Assets 下。

最好也創建一個Scripts的文件夾,把腳本統一歸類管理。

拖入工程後,就可以在AR CameraAdd Component。搜索添加Screen Space Joint Visalizer

2.6 配置Scene Space Joint Visualizer(Script)

  • AR Camera: 選擇 AR Camera
  • Human Body Manager: 選擇 AR Session Origin(AR Human Body Manager)
  • Line Renderer Prefab: 暫時沒有創建

2.7 創建 Renderer Prefab

Hierarchy中,右擊選擇 Create Empty,取名Line,創建一個空的遊戲對象。

選中LineAdd Component,搜索Line,選擇添加Line Renderer

Project中點擊 + 號,選擇Material創建紋理文件,取名body_material,選中body_material,在Inspector中更改ShaderSprites/DefaultTint選擇一個你自己喜歡的顏色。

創建好了之後,使用鼠標把body_material材質,拖到HierarchyLine上,建立關聯關係。

Hierarchy中的Line拖入到ProjecAssets中,創建一個Prefabs文件夾,把Line拖入裏面統一管理。

然後把Hierarchy中的Line刪除即可。

2.8 再次配置 AR Camera 的 Screen Space Joint Visualizer

Line Renderer Prefab: 選擇 Assets中的Line

三、Build 構建iOS項目

打開 File-> Build Setting 窗口。

3.1 添加Open Scenes

可能,默認沒有構建的Scene,可以點擊 Add Open Scenes按鈕,添加Scene

3.2 切換Platform

選中iOS平臺,Switch Platform

3.3 Player Settings

Player Settings中,可以修改iOS工程的一些參數。

比如:

  • Company Name: 公司名稱
  • Product Name: app名稱
  • Version: 版本號
  • Default Icon: app圖標

iOS平臺下Other Settings中需要重點配置一下

  • Target Device: 可選擇iPhoneiPad、兩者兼有
  • Target minimum iOS Version: 最低11.0
  • Required ARKit support: 勾選

3.4 XR Plug-in Management Settings

Project Settings中選中 XR Plug-in Management

選中iOS平臺:

  • Initialize XR on Startup: 勾選
  • Plug-in Providers->ARKit: 勾選

提示
如不勾選,在導出的iOS工程運行後,屏幕可能是黑的

3.5 Build 構建

回到Build Settings 彈窗頁面,點擊Build

選擇構建位置之後,等待一會兒,導出文件如下:

四、運行iOS工程

在上一步導出的文件中,找到 Unity-iPhone.xcodeproj文件,雙擊打開,這裏我配置了我自己的開發賬號和證書,設置BundleID,就可以運行到真機上了。

最終運行效果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章