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

【Unity】创建一个自己的AR安卓程序

目录

  • 1 环境配置
  • 2 下载官方提供的AR Starter工程
  • 3 AR Starter工程中的包以及打包设置
    • 3.1 Package Manager
    • 3.2 Player Settings
  • 4 创建一个新的AR场景
  • 5 AR场景中的物体
  • 6 在unity中运行AR场景
  • 7 在AR场景的基础上添加自己的想法
    • 7.1 修改Cube的旋转速度/方向
    • 7.2 将Cube替换为其他物体
  • 8 打包至安卓手机上运行

1 环境配置

Unity版本:2021.3.1f1 LTS
可在此处通过打开Unity Hub下载

安装过程中提示添加模块时,需要选择Android Build Support及其子模块。
在这里插入图片描述

2 下载官方提供的AR Starter工程

zip下载位置在此,点击即可下载。
下载完成解压后,即可通过Hub打开该工程。

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场景

  1. 观察到黑色的背景下,在中心有一个旋转的正方体。打包到手机上运行时,这个黑色背景会被替换成真实世界的环境。
    在这里插入图片描述

  2. 观察到一个名为Trackables的物体会作为AR Session Origin的子对象出现。它将用于存储现实世界环境中检测到的任何物体,如追踪到的面孔、平面或点等等。
    在这里插入图片描述

  3. 在运行状态下,选中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节配置即可。

相关文章:

【Unity】创建一个自己的AR安卓程序

目录1 环境配置2 下载官方提供的AR Starter工程3 AR Starter工程中的包以及打包设置3.1 Package Manager3.2 Player Settings4 创建一个新的AR场景5 AR场景中的物体6 在unity中运行AR场景7 在AR场景的基础上添加自己的想法7.1 修改Cube的旋转速度/方向7.2 将Cube替换为其他物体…...

游戏平台商店化的功能特点

帮助用户高效的获取游戏以及游戏相关内容是游戏平台的核心,基于这个需求在平台功能的设计上与其他类型产品也有着类似的思路。商店模式的特点诸如百货商店、超市、书店以及其他类型的商店,都会根据推荐、分类两个特点提供商品。 如果把游戏比作书籍&…...

最新前端面试知识点总结-2023(3w+字,长篇幅)

2023-前端面试知识点总结面试题总览javascript相关一、js 代码的常用优化手段二、es5 构造函数与继承三、new 一个对象的过程四、防抖与节流五、promise/A规范概述六、实现一个柯里函数封装七、事件队列八、微任务是哪些宏任务是哪些九、执行js代码时,同步任务、微任…...

离线安装ffmpeg

linux离线安装ffmpeg 获取安装包:[ffmpeg-release](Index of /releases (ffmpeg.org)) 下载最新版本,ffmpeg-4.4.tar.gz 然后传送到服务器上,解压安装 # 解压 tar -zxvf ffmpeg-4.4.tar.gz# 安装 cd ffmpeg-4.4 ./configure --enable-sha…...

位置编码Positional Encoding

位置编码Positional Encoding1.Transformers中的PE2.什么是Transformer位置编码2.1.表格型2.2.相对位置的关系-函数型3.为什么可以表示相对距离?4.其他参考内容全来自于网络总结。 其他参考1其他参考2 1.Transformers中的PE 摘抄自这里。 公式是初中生都看的懂, …...

Java异步注解@Async详解

一、Async注解 Async的作用就是异步处理任务。 在方法上添加Async,表示此方法是异步方法;在类上添加Async,表示类中的所有方法都是异步方法;使用此注解的类,必须是Spring管理的类;需要在启动类或配置类中…...

macOS Big Sur 11.7.5 (20G1225) 正式版 ISO、PKG、DMG、IPSW 下载

本站提供的 macOS Big Sur 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。 2023 年 3 月 27 日 (北京时间 28 日凌晨),…...

硬件语言Verilog HDL牛客刷题day02 组合逻辑部分

1.VL11 4位数值比较器电路 1.题目: 某4位数值比较器的功能表如下。请用Verilog语言采用门级描述方式,实现此4位数值比较器。 2.解题代码: timescale 1ns/1nsmodule comparator_4(input [3:0] A ,input [3:0] B ,output …...

【LM401】ADC采集代码解读

本文主要实现基于LM401模组,,测试ADC低功耗采集,详细解析代码基于计算方式 对于小白理解ADC有更详细的理解 【LM401】ADC采集代码解读1. 单片机ADC与DAC简单理解2. 模组ADC通道介绍3. ADC初始化4. 采集值的计算5.测试结果硬件基于易智联的LM401的LoRa模组…...

CSDN 编程竞赛四十期题解

竞赛总览 CSDN 编程竞赛四十期&#xff1a;比赛详情 (csdn.net) 竞赛题解 题目1、小鱼的航程 有一只小鱼&#xff0c;它上午游泳150公里&#xff0c;下午游泳100公里&#xff0c;晚上和周末都休息&#xff08;实行双休日)。假设从周x&#xff08;1<x<7&#xff09;开…...

【TypeScript学习之路】泛型

【TypeScript学习之路】泛型 文章目录【TypeScript学习之路】泛型写在前面前言一、认识泛型1.1 什么是泛型1.2 泛型函数的使用二、泛型接口与泛型类2.1 泛型接口2.2 泛型类三、泛型约束写在前面 &#x1f917;这里是前端程序员小张&#xff01; &#x1f33b;人海茫茫&#xff…...

数据分析学习项目:东京奥运会跳水评论分析

“中国跳水梦之队” ————有关东京奥运会跳水评论分析 导语 第32届夏季奥林匹克运动会于2021年07月23日-2021年08月08日在日本东京举办。 四年一届的奥运会可以说是世界瞩目的盛会&#xff0c;奥运健儿们在赛场上的精神风貌不只是代表了他们自身的运动精神&#xff0c;更昭…...

Winform/Csharp中使用Linq的Where条件筛选、Select字段映射(左外连接并设置无匹配时默认值)、OrderBy(排序并自定义排序规则)

场景 Java8新特性-Stream对集合进行操作的常用API&#xff1a; Java8新特性-Stream对集合进行操作的常用API_streamapi操作集合_霸道流氓气质的博客-CSDN博客 上面讲的是在Java中使用Stream中对集合的常用操作。 在C#中Linq是有对应的类似的api。 完整和详细的用法可自行查…...

Linux-常用的Shell命令

文章目录前言常用的Shell命令文件和目录管理查看文件、目录信息查看文件内容查看文件类型查找文件查找内容查看目录大小创建文件删除文件拷贝文件移动文件创建目录删除目录拷贝目录压缩文件解压文件路径相关操作目录切换显示当前路径用户、用户组管理创建用户删除用户创建用户组…...

Go语言基础:数组定义及循环遍历

前言 大家好&#xff0c;我是沐风晓月&#xff0c;本文go语言入门-掌握go语言函数收录于《go语言学习专栏》专栏&#xff0c;此专栏带你从零开始学习go语言&#xff0c;持续更新中&#xff0c;欢迎点赞收藏。 &#x1f3e0;个人主页&#xff1a;我是沐风晓月 &#x1f9d1;个人…...

【树与二叉树】二叉树顺序结构实现以及堆的概念及结构--详解介绍

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录1. 二叉树顺序结构2.…...

天狗实战(二)SpringBoot API开发详解 --SpringMVC注解+封装结果+支持跨域+打包(下)

本文目录 前言专栏介绍一、创建SpringBoot项目1.1 添加springboot依赖1.2 创建启动类1.3 创建控制器类1.4 Run 或 Debug二、开发图书管理API2.1 web层BookAdminControllerBookVO2.2 service层BookServiceBookServiceImplBookBO2.3 dal层...

实验一 Windows系统安全实验【网络安全】

实验一 Windows系统安全实验【网络安全】前言推荐实验一 Windows系统安全实验3.1 帐户和口令的安全设置3.1.1 实验目的3.1.2 实验环境3.1.3 实验内容和步骤1. 删除不再使用的帐户并禁用guest帐户2.启用密码策略和帐户锁定策略3.查看“用户权限分配”4.查看“用户组权限分配”5.…...

蓝桥杯正确的解题姿势

在做算法题的过程中最忌讳的就是上来就一顿乱敲&#xff0c;一开始我就是这样&#xff0c;但随着不断的刷题和老师的指导&#xff0c;总结了自己的刷题方法 示例题目 三角回文数 问题描述 对于正整数 n, 如果存在正整数 k使得 n123...kk(k1)/2 , 则 n 称为三角数。例如, 66066 …...

【mysql】性能优化

目录一、硬件与操作系统二、架构设计层面的优化三、mysql程序配置优化四、mysql执行优化一、硬件与操作系统 1.使用高性能cpu&#xff0c;提高计算能力 2.增大可用内存&#xff0c;提高读取能力 3.提高硬盘的读写速度&#xff0c;使用专用的固态硬盘 4.增大网络带宽&#xff0c…...

别再傻傻分不清了!全桥、半桥、推挽电源拓扑,到底哪个更适合你的项目?

全桥、半桥与推挽拓扑实战选型指南&#xff1a;从理论到工程落地的关键抉择 在电力电子设计领域&#xff0c;拓扑结构的选择往往决定着整个项目的成败。当我第一次面对500W工业电源设计需求时&#xff0c;曾天真地认为"功率越大拓扑越高级"——这个错误认知让我付出了…...

番茄小说下载器:如何用开源工具构建个人数字图书馆?

番茄小说下载器&#xff1a;如何用开源工具构建个人数字图书馆&#xff1f; 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾经遇到过这样的情况&#xff1a;在手机上追…...

别再手动绕田了!用Python+Google Earth Pro搞定农田边界KML文件(附完整代码)

零成本农田边界数字化&#xff1a;Python与Google Earth Pro实战指南 在农业自动化领域&#xff0c;获取精确的农田边界数据是路径规划的第一步。传统方法依赖RTK设备或无人机测绘&#xff0c;成本高昂且操作复杂。本文将介绍一种无需专业硬件的解决方案&#xff0c;仅需一台普…...

别再死记硬背SPI时序了!用STM32CubeMX+W25Q128实战,5分钟搞懂CPOL/CPHA模式选择

从波形到代码&#xff1a;STM32CubeMX可视化解析SPI四种模式的实战指南 当第一次接触SPI通信时&#xff0c;那四种工作模式&#xff08;CPOL/CPHA组合&#xff09;就像天书一样令人困惑。传统教程往往要求死记硬背时序图&#xff0c;但今天我们将通过STM32CubeMX和W25Q128 Flas…...

AI编码工作流:工程化实践框架与团队效能提升

1. 项目概述&#xff1a;从“AI编码工作流”说起最近在GitHub上看到一个挺有意思的项目&#xff0c;叫nicksp/ai-coding-workflow。光看这个名字&#xff0c;可能很多朋友会想&#xff0c;这不就是又一个教你怎么用ChatGPT或者Copilot写代码的教程吗&#xff1f;说实话&#xf…...

东南亚1.5亿数字钱包用户如何覆盖?Antom收单解决方案拆解

在东南亚&#xff0c;很多用户第一次完成线上付款可能不是通过信用卡&#xff0c;而是通过自己熟悉的本地电子钱包。从印尼的GoPay、DANA&#xff0c;到菲律宾的GCash&#xff0c;再到泰国的TrueMoney、马来西亚的Touch ‘n Go&#xff0c;电子钱包已经深度融入当地人的日常消费…...

告别混乱!用EPLAN高效管理端子连接图的5个实战技巧与常见坑点复盘

告别混乱&#xff01;用EPLAN高效管理端子连接图的5个实战技巧与常见坑点复盘 在电气工程设计领域&#xff0c;端子连接图的质量直接影响着生产效率和调试准确性。许多工程师在项目后期常常陷入反复修改端子图表的泥潭&#xff0c;不仅耗费宝贵时间&#xff0c;还可能因疏忽导致…...

用PyQt5给树莓派人脸门禁做个图形界面:从Qt Designer设计到移植上板的完整流程

树莓派人脸门禁系统GUI开发实战&#xff1a;从Qt设计到嵌入式部署的全链路解析 当硬件项目需要与用户交互时&#xff0c;一个直观的图形界面往往能大幅提升使用体验。本文将带您完整实现一个基于树莓派的人脸识别门禁系统GUI应用&#xff0c;涵盖从桌面端设计到嵌入式部署的全…...

Banana Pi BPI-M2S边缘AI开发板:双千兆网口与5TOPS NPU实战指南

1. 项目概述&#xff1a;一块为边缘AI与网络应用而生的全能型单板计算机 最近在捣鼓一些边缘计算和轻量级网络服务的项目&#xff0c;一直在寻找一块性能足够、接口丰富&#xff0c;同时性价比又不错的开发板。市面上常见的树莓派4B固然经典&#xff0c;但在面对需要一定AI推理…...

Beyond Compare 5密钥生成终极指南:快速激活与完全使用教程

Beyond Compare 5密钥生成终极指南&#xff1a;快速激活与完全使用教程 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare是一款广受欢迎的文件对比工具&#xff0c;但当30天试用期…...