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,就可以运行到真机上了。

最终运行效果如下:

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