ARFoundation入门踩过的那些坑
ARFoundation入门
Android支持使用ARCore设备列表
Android(Google Play)*运行在搭载Google Play应用商店的设备上
.
Android 7.0 或更高版本(如下所示,个别型号需要更高的版本)
若你的应用为AR可选应用,请修改minSdkVersion明:'minSdkVersion>14'(API Level 14,Ice Cream Sandwich,version
4.0.1-4.0.2)
若你的应用为AR必备应用,请修改minSdkVersion声明:minSdkVersion 2 24(API Level 24,Nougat,version 7.0)Android(中)
在中国,设备不搭载Google应用商店。您可以从以下应用商店中选择其一来安装ARCore:
.
Xiaomi app store(米应用商店)
Huawei Apps Gallery(为应用商店)OPPO APP Market(OPPO 软件商店)
.
Samsung Galaxy Apps(E星应用市)
-Appstore(vivo应用商店)
谷歌官方查看支持ARCore设备地址:ARCore支持的设备| Google Developers
ARFoundation 示例地址:ARFoundation Samples
踩过的那些坑之
--导出安卓出现黑屏
在手机没有安装GooglePlay服务的时候,打开就会黑屏 一定要记得安装;
安装地址:各大应用商店
在构建的时候进行如下设置:
在弹出的窗口中做如下设置: Other Settings中 删除Vulkan,取消Multithreaded Rendering, Minimum APILevel 调整为28 ,Scripting Backend 改为IL2CPP(如果不能打包就选mono),勾选ARM64
再选择左边的XR Plug-in Management,勾选 ARCore
二、打包失败,Gradie构建失败
问题:
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Java\jdk1.8.0_171\bin\java.exe -classpath “C:\Program Files\Unity2017.4.2.0\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.6.jar” org.gradle.launcher.GradleMain “-Dorg.gradle.jvmargs=-Xmx1024m” “assembleRelease”
解决办法:修改JDK,安装1.8.0_171,然后配置环境变量;
三、AndroidJDK&SDK
安装方法两个:
1.下载AndroidJDK&NDK工具包,或者Android Studio,直接安装配置;
2.unityHub,直接下载的时候选择模块;在下载的时候可能会出现长时间的等待,取决于你的网络问题,有渠道的可以尝试绿色上网;
配置问题:
Mininum API Level设置,记得勾选安卓7.0,因为最低支持7.0不然会报错;
四、 Gradle Project构建卡死
用的版本2019unity,默认下载的Gradie为5.01,由于太低,需要升级,我们可以重新下载一个解压进去重新指定就可以了;Gradie下载地址
错误一:Gradie版本问题
解决办法:
点击上面网址,下载最新的Gradie,然后解压出来将里面lib拷贝到默认原路径;
错误二:Missing ‘package’ key attribute on element package at [:arcore_client:] AndroidManifest.xml:30:9-54
解决办法:
打开Project Settings > Player > Android(就是安卓那个图标)-> Publishing Settings
,把这两个勾上,然后他会在下面对应的路径的地方各生成一个文件。
然后再编辑器中会出现这两个文件,用记事本或者VS打开删除开头注释行;
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
然后粘贴如下代码:
-
buildscript {
-
repositories {
-
谷歌()
-
jcenter()
-
}
-
dependencies {
-
// Must be Android Gradle Plugin 3.6.0 or later. For a list of
-
// compatible Gradle versions refer to:
-
// https://developer.android.com/studio/releases/gradle-plugin
-
classpath 'com.android.tools.build:gradle:3.6.0'
-
}
-
}
-
-
allprojects {
-
repositories {
-
谷歌()
-
jcenter()
-
flatDir {
-
dirs 'libs'
-
}
-
}
-
}
然后可以正常构建了。
图像跟踪识别
在ARFoundation中,图像跟踪系统依据参考图像为库的图像信息尝试在周围环境中检测到匹配的2D图像并跟踪之,在ARFoundation的图像跟踪处理中,有一些特定的术语如下表所示。
在ARFoundation中,图像跟踪的操作使用分成两步,第一步是建立一个参考图像库,第二步是在场景中挂载AR Tracked Image Manager组件,并将一个需要实例化的Prefab赋给其Tracked Image Prefab即可,下面我们来具体操作。
按上述步骤,在Unity中新建一个工程,第一步建立一个参考图像库,首先在Project窗口中的ImageLib文件夹下点击鼠标右键并依次选择Create->XR->Reference Image Library新建一个参考图像库,并命名为RefImageLib,如下图所示。
选择新建的RefImageLib参考图像库,在Inspector窗口中,点击“Add Image”添加参考图像,将参考图像拖到图像框中,如下图所示。
在上图中,每一个参考图像除了图片信息外都有若干属性,其具体含义见下表。
图像跟踪与启用:
-
public Text m_TogglePlaneDetectionText;
-
private ARTrackedImageManager mARTrackedImageManager;
-
void Awake()
-
{
-
mARTrackedImageManager = GetComponent<ARTrackedImageManager>();
-
}
-
-
-
public void ToggleImageTracking()
-
{
-
mARTrackedImageManager.enabled = !mARTrackedImageManager.enabled;
-
-
string planeDetectionMessage = "";
-
if (mARTrackedImageManager.enabled)
-
{
-
planeDetectionMessage = "禁用图像跟踪";
-
SetAllImagesActive(true);
-
}
-
else
-
{
-
planeDetectionMessage = "启用图像跟踪";
-
SetAllImagesActive(false);
-
}
-
-
if (m_TogglePlaneDetectionText != null)
-
m_TogglePlaneDetectionText.text = planeDetectionMessage;
-
}
-
-
void SetAllImagesActive(bool value)
-
{
-
foreach (var img in mARTrackedImageManager.trackables)
-
img.gameObject.SetActive(value);
-
}
-
更多详细类容移步(感谢大大):ARFoundation之路-图像跟踪
发布手机端
发布并运行,需要如下操作;
1.打开手机开发者模式,具体方法详见百度,开启调试;
2.打开Unity的Project,并在菜单栏中选择:
Edit –> Project Settings –> Editors ,在Device项中选择 Any Android Device。
以上差不多就是我遇到的一些问题,欢迎大家交流讨论,记录学习日记:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfgikg
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01