当前位置: 首页 > news >正文

Unity ARFoundation 配置工程 (Android)

注意:
1、AR Core是Google的产品,因为谷歌制裁华为,所以 有些 华为机可能不支持AR Core的软件;
2、手机在设置里搜索Google Play,看看是否已经安装上了,如果没有装此服务,去商城里搜索Google Play,安装到手机上,如果商城里搜不到,就去网上下载一个Google Play装到手机上(有些设备即使装上也可能无法使用);

1、继承Packages
打开Package Manager,导入以下几个包;
在这里插入图片描述
2、工程切换到安卓平台
在这里插入图片描述
3、配置Player Settings
取消多线程渲染,没必要勾选
在这里插入图片描述

Min API Level 选择24;
Target API Level用本地最高的就ok,一般是在29及以上就可以,我本地用的是32
在这里插入图片描述
选择IL2CPP打包
ARCore不支持32位的,取消勾选ARMv7,选择ARM64;不然打出包来运行会闪退。
在这里插入图片描述

4、新建测试场景
新建场景,然后在Hierarchy面板删除Camera,添加下图中标注的AR Session Origin和AR Session
在这里插入图片描述
在这里插入图片描述
写个测试脚本(AppController.cs),我挂到了AR Session Origin物体上了。

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.ARFoundation;
using UnityEngine.XR.ARSubsystems;[RequireComponent(typeof(ARRaycastManager))]
public class AppController : MonoBehaviour
{public GameObject spawnPrefab;private List<ARRaycastHit> Hits;private ARRaycastManager mRaycastManager;private GameObject spawnedObject = null;private void Start(){Hits = new List<ARRaycastHit>();mRaycastManager = GetComponent<ARRaycastManager>();}void Update(){if (Input.touchCount == 0)return;var touch = Input.GetTouch(0);if (mRaycastManager.Raycast(touch.position, Hits, TrackableType.PlaneWithinPolygon | TrackableType.PlaneWithinBounds)){var hitPose = Hits[0].pose;if (spawnedObject == null){spawnedObject = Instantiate(spawnPrefab, hitPose.position, hitPose.rotation);}else{spawnedObject.transform.position = hitPose.position;}}}
}

在这里插入图片描述
Spawn Prefab 就是一个小方块,目的是检测到平面后显示在平面上

然后保存场景,打包到真机上测试

相关网址:
1、AR Foundation的官方文档:点击跳转链接
2、谷歌ARCore 的官方例子(不是Unity的工程,可以用Android Studio打开,打包到真机上测试):点击跳转Git;可以下载谷歌官方例子,打包到真机上测试官方案例是否可以正常运行。
3、AR Foundation的例子工程,ARFoundation Samples:点击跳转Git;下载到本地后,用Unity打开,可能会报错,但是解决一下相应的错误就好,是一个很完整的例子工程。

http://www.lryc.cn/news/129205.html

相关文章:

  • 【广州虚拟现实开发】VR智能中控系统进一步提高VR教学管理水平
  • 关于WordPress 的时间倒计时
  • 极光笔记 | 如何为您的业务开发和训练一个AI-BOT
  • 如何给ELK日志加上索引
  • elementUI遇到的问题记录
  • 计算机竞赛 协同过滤电影推荐系统
  • 网络综合布线实训室建设方案
  • 【山河送书第七期】:《强化学习:原理与Python实战》揭秘大模型核心技术RLHF!
  • LeetCode 400. 第 N 位数字——JAVA
  • 解决生成式AI落地之困,亚马逊云科技提供完整解决方案
  • 【5款登录验证校验】基于jquery实现的5款登录验证码组件(附完整源码)
  • 数据结构的树存储结构
  • linux--epoll
  • async和await
  • 如何从cpu改为gpu,pytorch,cuda
  • JavaScript简介--语句--变量
  • Windows CMD 关闭,启动程序
  • 统计XML标注文件中各标注类别的标签数量
  • 一百六十、Kettle——Linux上安装的Kettle9.2.0连接Hive3.1.2
  • C++新经典03--共用体、枚举类型与typedef
  • HCIP-OpenStack组件介绍
  • 2682. 找出转圈游戏输家
  • RESTAPI简介与DRF使用
  • 深度学习笔记(kaggle课程《Intro to Deep Learning》)
  • windows下载任意版本php
  • Linux命令
  • TDD(测试驱动开发)?
  • C/C++
  • CCF C³ 走进百度:大模型与可持续生态发展
  • Vue使用html2canvas将DOM节点生成对应的PDF