1 环境配置
Unity版本:2021.3.1f1 LTS
可在此处通过打开Unity Hub下载
安装过程中提示添加模块时,需要选择Android Build Support及其子模块。
2 下载官方提供的AR Starter工程
zip下载位置在此,点击即可下载。
下载完成解压后,即可通过Hub打开该工程。
具体操作如下:
- 在Hub中项目栏目的右上角点击打开,也可以点击下拉箭头选择从磁盘添加项目。
- 选择解压完成的文件夹,并点击右下角打开即可。注意需要确保打开的文件夹下的目录如下(Assets、Packages、ProjectSettings):
3 AR Starter工程中的包以及打包设置
3.1 Package Manager
打开该工程的包管理器(Windows→Package Manager),选择工程中的包(In Project),可以观察到,相比于普通的项目,多了以下的这些包:
其中,URP包表示该项目是URP管线项目,其他的包:
- AR Foundation:提供了用于在Unity中快速构建AR交互相关的类和GameObjects。
- ARCore:安卓的AR框架。AR Foundation会与ARCore相联系以在安卓设备上获得AR功能。
- ARKit:苹果的AR框架。AR Foundation会与ARKit相联系以在苹果设备上获得AR功能。
-
XR Plugin Management:管理ARCore和ARKit的工具。
目前,ARKit比ARCore支持更多的功能,包含3D物体追踪以及身体追踪。
3.2 Player Settings
打开该工程的项目设置(Edit→Project Settings),在左侧侧边栏选择Player,可以在安卓图标的面板下对项目进行设置。
在Other Settings中可以观察到有如下的一些更改:
-
移除了安卓的Vulkan图形API,因为ARCore尚不支持。
-
设置安卓支持的最低级别API。
-
将脚本后端设置为IL2CPP而不是Mono,以支持64位。
-
将目标架构设置为ARM64以满足Google Play的64位要求。
4 创建一个新的AR场景
项目中预制了一个AR模板场景,我们可以基于该场景创建自己的AR场景。
在Assets的Scene文件夹下使用Ctrl+N新建一个Scene(或者File→New Scene),选择AR场景,点击Create创建:
这样,就可以在该新建的AR Scene中添加自己的模型了,使用Ctrl+S保存该场景并为其命名。
如果不对该场景进行修改,直接打包出来安装在安卓手机上的话,那么你将看见一个旋转的立方体漂浮在空中。
安卓手机在打开应用后,会提示安装Google Play Services for AR,到应用商店安装好后再开启应用,允许应用使用摄像机,就会发现有一个旋转的立方体是固定在一个位置在旋转。
5 AR场景中的物体
在一个经典的3D场景中,unity会自动为我们创建2个物体:主摄像机Main Camera以及方向光Directional Light。
而对于AR场景来说,将会有这些物体:
- AR Session Origin:空间中的AR设备。当用户在现实世界移动或旋转AR设备时,AR Session Origin在unity场景中也会相应的移动或旋转。
- AR Camera:AR Session Origin的子物体,也即AR场景中的主摄像机,因此必须给它标上Main Camera的tag。它拥有一些组件使得这个相机能够在AR中起作用,如AR Pose Driver、AR Camera Manager和AR Camera Background。
- AR Session:是一个Session管理器,包括帧率和与设备的通信。注意,一个场景中只能有一个激活的AR Session。
6 在unity中运行AR场景
-
观察到黑色的背景下,在中心有一个旋转的正方体。打包到手机上运行时,这个黑色背景会被替换成真实世界的环境。
-
观察到一个名为Trackables的物体会作为AR Session Origin的子对象出现。它将用于存储现实世界环境中检测到的任何物体,如追踪到的面孔、平面或点等等。
-
在运行状态下,选中AR Session Orgin物体,并在Inspector面板修改其position以及rotation值,这实际上就是在模拟用户手持着安卓设备在移动。
7 在AR场景的基础上添加自己的想法
7.1 修改Cube的旋转速度/方向
如果要使得Cube旋转得更快些,可以通过修改Cube物体下挂载的Scene Template_Rotate Cube脚本中的Rotate Speed来调整,修改Object Rotation可以调整Cube的旋转方向。
7.2 将Cube替换为其他物体
如果要添加其他物体,或者替换掉Cube,那么可以直接将物体添至AR Camera的可视范围内,为其挂载上Scene Template_Rotate Cube脚本即可。
8 打包至安卓手机上运行
注意,平台需切换至安卓平台。项目按照3.2节配置即可。文章来源:https://www.toymoban.com/news/detail-426448.html
9 资源合集下载
Unity创建一个自己的AR安卓程序资源合集文章来源地址https://www.toymoban.com/news/detail-426448.html
到了这里,关于【Unity】创建一个自己的AR安卓程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!