本人也是第一次瞭解Unity
,目的是想調研下Unity
的AR Foundation
框架。
一、準備工作
註冊個人賬號,然後下載Unity。
最好選擇從Hub下載,Hub
是管理項目的平臺。
下載完成後,打開Hub
,登錄賬號,授權個人版(個人調研測試使用)。
選擇一個Unity
版本下載,最好是推薦或者其它正式版本。
這是我已經安裝的2
個Unity
版本:
然後添加特定平臺的支持模塊:
我是調研在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
作用
ARSessionOrigin
是AR
設置的父級。 它包含一個Camera
和根據檢測到的特徵(例如平面或點雲)創建的任何GameObject
。
因爲AR Session Origin
自帶一個AR Camera
,所以,可以把項目創建時默認帶的Main Camera
刪除。
刪除Main Camera
後工程目錄如下:
把AR Camera
的Tag
改爲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 Camera
中 Add 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
,創建一個空的遊戲對象。
選中Line
,Add Component
,搜索Line
,選擇添加Line Renderer
。
在Project
中點擊 +
號,選擇Material
創建紋理文件,取名body_material
,選中body_material
,在Inspector
中更改Shader
爲Sprites/Default
,Tint
選擇一個你自己喜歡的顏色。
創建好了之後,使用鼠標把body_material
材質,拖到Hierarchy
中Line
上,建立關聯關係。
把Hierarchy
中的Line
拖入到Projec
的Assets
中,創建一個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
: 可選擇iPhone
、iPad
、兩者兼有 -
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
,就可以運行到真機上了。
最終運行效果如下: