本人也是第一次了解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
,就可以运行到真机上了。
最终运行效果如下: