Unity+ARFoundation 探坑之路

前两天想要上手Unity来AR方面的项目东东 ,探索过程中出现了各种各样的问题,现在将这个过程中遇到的各种各样问题梳理一下,希望后来者能开开心心上手Unity+AR。
注意:这是一篇踩坑博客,具体搭建还请自行百度。

一、ARFoundation or ARCore or ARKit

Unity作为一个平台,不直接提供XR(包括VR、AR和MR)的开发包,这时就需要其他公司提供各种各样的SDK工具包,国外有苹果公司的ARKit、谷歌公司的ARCore、Unity的ARFoundation,还有最近发现的OpenCVForUnity,而国内有EasyAR这些SDK工具包。ARKit是针对于IOS开发,ARCore是针对于Android开发,而我使用的是ARFoundation,这是Unity将ARKit和ARCore进一步整合的工作平台。
(这里就要说到一个应该知道的问题,IOS开发一定需要Mac,或者是电脑装双系统,据望网友可靠信息,如果使用虚拟机,龟速运行不说, 还会有很多Bug。)

二、Android JDK & NDK

1、解决方法

这是搭建环境过程遇到的最让我头疼的问题,直接原因就是我对进度条的不信任。
当你进行Android开发时,需要将项目打包成apk,这时就需要Android JDK & NDK工具包,这时你有两种选择
①、自行下载SDK manager和NDK;(这条路让我感受到世界的恶意)
②、使用Unity Hub直接下载Unity 2019.3.0f6 (64-bit),这样可以直接添加各种模块;

2、方法①

(想要较好解决方法的同学可以直接看方法②)
SDK和NDK下载可以直接从官网下载,建议使用Goole浏览器的迅雷插件,这样可以快一点。
SDK:https://www.androiddevtools.cn/
NDK:https://developer.android.google.cn/ndk/downloads/
下载SDK Tools后打开SDK manager再下载需要的对应工具,尽量下载最新版本。
下载NDK之后,就会遇到一个第一个问题:NDK版本不正确
Unity+ARFoundation 探坑之路_第1张图片
令人震惊的是,Unity要求的NDK版本的小版本号怎么这么长!(黑人问号脸)还能把所有小版本都发布吗!这就导致我花费了大量时间在下载NDK,大版本错完小版本错,小版本错完之后还有错。

3、方法②

对比之下,方法②就非常好。下载了Unity Hub之后,添加Android Build Support以及其分目录的模块后,直接下载Unity 2019.3.0f6 (64-bit)或者是Unity 2019.2.20f1 (64-bit)。下载的过程比较漫长,需要耐心等待,但是面包总会有的。下载到五分之四的时候,进度条就会卡住,而由于我对进度条的不信任,我就直接取消下载转到方法一。。。
所以使用这个方法你只要相信进度条即可。

三、Mininum API Level

配置环境的过程,有一个步骤时设置Mininum API Level,而我想的是设置的小一些,一定不会有问题,但事实不是如此。当我将其设置为最小的API Level 19:
Unity+ARFoundation 探坑之路_第2张图片
在编译运行的时候,会出现报错:
Unity+ARFoundation 探坑之路_第3张图片
这时需要将Mininum API Level设置的大一些,比如我设置的是API Level 24,就可以成功编译。

四、Building Gradle Project

最终编译的时候,进度条再一次卡住/(ㄒoㄒ)/~~,这时编译进行到Building Gradle Project,Unity会直接卡死。

Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。——百度百科

而编译卡在这里的原因由于本地并没有Gradle,所以编译时需要下载,而外网资源下载速度我不用再提,据网友信息,他编译数小时后成功了! 真是很短的时间呢!
但我采取了其他的方法:预先下载Gradle
我下载的是gradle-5.4.1,之后在Edit->Preferences中将下载内容的地址输入到Gradle中。Unity+ARFoundation 探坑之路_第4张图片
辛苦一整天,遇到诸多艰难,所幸克服,没有放弃,坚持走下去咯!

你可能感兴趣的:(Unity)