Android集成Unity

news2025/1/10 20:21:37

前言

随着前两年元宇宙的提出,虚拟现实开始在各大平台大展身手。各个平台都开始搭上了元宇宙的列车,Unity作为虚拟引擎中的热门,渲染效果和开发效率极其出色;Android作为移动开发的巨头之一也搭上了元宇宙这趟列车。今天,小编带大家将Unity与Android这两把利剑结合起来,双剑合璧,大有所为。 大家做好位置,列车马上出发。

开发环境

Android端: Android Studio(各大版本都可以,区别不大)

Unity端:  Unity3D(Unity2019及其以下 向下兼容)

这里小编不推荐大家用Unity3D 2020及其以上版本开发,因为这是Unity打包方式  Mono 和 IL2CPP 之间的差异,这里不详细说明,想了解的可以私聊我

一 .创建Unity项目并打包 

1.创建Unity项目

建议大家Unity的项目名和Android项目名尽量相同

2. Unity构建打包配置

创建Unity项目后,不对Unity场景做任何操作,我们只调整打包平台

点击左上角 File ——> 点击Build Settings ——> 点击Add Open Scenes ——> 点击Android  ——>勾选Export Project ——> 点击Switch Platform

下图是点击Switch Platform后的窗口样子,大家可以对比一下

3. Android环境相关配置

打包Android相关的东西都是要配置好Java环境,配置好AndroidSDK,再使用Gradle等工具进行构建,Unity也不例外

3.1. 点击Unity左上角Edit ——>Preferences,弹出如下图

如果你下载Unity没有什么问题的话,JDK  ,AndroidSDK,Android NDK ,Gradle这些路径按照默认的设置

小编建议大家自定义去选择和Android Studio配置一样的路径,这样可以Android Studio和Unity使用的配置都一样,可以减少很多不必要的版本差异问题 

3.2. 点击Unity左上角Edit ——> 点击Project Settings  ,弹出窗口如下

点击Player ——> 点击Other Settings,操作如下图所示

4. 导出Unity项目文件

点击左上角File ——> Build Settings ——> Export

 打包进度条结束后,弹出文件夹如下

 如果打包出来的项目和上图不一致,那可能是打包形式不同或者Unity版本差异大,到此为止,Unity打包出来的Android项目就完成了,接下来小编带大家将此项目嵌入Android Studio中

二. 将Unity嵌入Android中开发

1. 创建Android项目

项目名尽量和Unity项目名保持一致,不一致也可以,到时候Unity改一下包名即可,创建完成后,先不要写Android代码

2.  找到Unity打包出的项目,把Unity项目中libs文件夹下的jar包放入到Android项目中的libs文件夹中

3.  将Unity项目中的 assets文件夹和 jniLibs文件夹放入到Android项目的main文件夹目录下

4.  将Unity文件夹中的UnityPlayerActivity.java  放置到Android项目中 和MainActivity.java 同级

 到此为止,我们就将Unity项目嵌入到了Android项目中了,接下来跟紧小编,小编带大家在Android项目配置一下Unity项目

三. 在Android项目中配置Unity项目

1. 将jar包解压,找到UnityPlayerActivity这个类,在清单文件中声明,这个类是从Unity项目加入过来的,打开这个类,修改包名

包名和Android项目包名一致,,修改完包名后,会发现好几处报错,分别找到报错的地方,按下Alt + Enter ,选择import class  如下图所示:

2. 在Android项目中添加字符串引用

为什么要添加这个呢?这是因为Unity项目中默认引用了这个字符串,如果不添加上去,Unity程序会找不到这个字符串,从而引发Unity程序启动就立马闪退,如下图:

3. 在build gradle中添加ndk

到此为止,我们就将Unity项目在Android中配置好了,接下来跟紧小编,小编带大家走向最后一步,直接上代码

四. 在Android中启动Unity

 

Unity嵌入式开发

到此为止,小编就带大家继承好了Unity,这是Android搭上元宇宙快车的第一步

下一篇小编带大家实现双端通信(Unity端 与 Android端)

有任何疑问可以在评论区提出,小编每周六周日都会耐心的一一解答,也可以私信小编,添加小编的联系方式,大家一起探讨

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像基础概念

加解串器图像相关的概念:相关的概念:一个像素时钟可以产生两个像素可以通过调大frame freelance或vts来增大 V blinking sensor的基本配置曝光:一行一行进行曝光:每一行曝光时间 非常短 从第一行到最后一行为有效时间同步信号:同步信号的处理同步曝光的需求:曝光的…

IoU Loss综述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

边界框回归(BBR)的损失函数对于目标检测至关重要。它的良好定义将为模型带来显著的性能改进。大多数现有的工作假设训练数据中的样本是高质量的,并侧重于增强BBR损失的拟合能力。 一、L2-norm 最初的基于回归的BBR损失定义为L2-norm&#xf…

IIS隐藏敏感数据信息

安装URL Rewrite web.config: 想要隐藏Server和X-AspNet-Version 两项 <system.webServer>节点添加子节点rewrite <system.webServer> <rewrite> <outboundRules> <rule name"REMOVE_RESPONSE_SERVER"> …

python3+requests:接口自动化测试(二)

前言&#xff1a;上篇文章python3requestsunittest&#xff1a;接口自动化测试&#xff08;一&#xff09;&#xff1a;python3requestsunittest&#xff1a;接口自动化测试&#xff08;一&#xff09; - Shapelei - 博客园 &#xff0c;已经介绍了基于unittest框架的实现接口自…

在Spring Boot中整合Katharsis,来快速开发JSON API的Web应用

1 简介 我们进行Web API开发的时候&#xff0c;经常会使用Json格式的消息体&#xff0c;而Json格式非常灵活&#xff0c;不同的人会有不同的设计风格和实现&#xff0c;而JSON API提供了一套标准。但它并不提供直接实现。 Katharsis是JSON API的Java实现&#xff0c;使用它可…

canal env create (mysql -> kafka)

&#xff08;1&#xff09;获取资源及解压 选定安装路径 cd /home下载canal.admin wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.admin-1.1.5.tar.gz解压canal-admin mkdir canal-admin tar -zxvf canal.admin-1.1.5.tar.gz -C canal-adm…

Nginx服务器上安装SSL证书

Nginx服务器上安装SSL证书1、前提条件2、nginx安装http_ssl_module模块2.1 查看是否安装过http_ssl_module2.2 进入nginx源文件目录2.3 重新编译nginx2.4 用新的nginx覆盖旧的3、https配置(SSL证书安装)3.1 下载证书文件和密钥文件3.2 服务器上创建cert文件夹3.3 配置nginx.con…

2023年中级计算机软考怎么报考呢?软考证书有用吗?

计算机软考简称软考&#xff0c;全称计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;是由人力资源和社会保障部&#xff08;原人事部&#xff09;、工业和信息化部&#xff08;原信息产业部&#xff09;领导的国家级考试&#xff0c;其目的是&#…

C++——stack和queue的介绍和使用

文章目录1. stack的介绍和使用1.1 stack的介绍1.2 stack的使用1.3 几个比较经典的oj题2. queue的介绍和使用2.1 queue的介绍2.2 queue的使用3. 容器适配器3.1 什么是适配器3.2 STL标准库中stack和queue的底层结构3.3 deque的简单介绍(简单介绍)3.3.1 deque的原理介绍3.3.2 dequ…

王道操作系统笔记(四)——— 进程同步与互斥

文章目录一、同步与互斥的概念1.1 同步与互斥的基本概念1.2 临界资源与共享资源1.3 独占设备与共享设备二、实现临界区互斥的基本方法2.1 软件实现方法2.1.1 单标志法2.1.2 双标志先检查法2.1.3 双标志后检查法2.1.4 Peterson 算法2.1.5 软件实现方法总结2.2 硬件实现方法2.2.1…

OpenMMLab 计算机视觉 # day2: 图像分类与基础视觉模型

相关资源: github 第二课 图像分类与基础视觉模型 图像分类 图像分类任务&#xff1a;给定一张图片&#xff0c;识别图像中的物体是什么 X∈RH∗W∗3→{1,2..,K}X\in R^{H*W*3} \rightarrow \{1,2..,K\}X∈RH∗W∗3→{1,2..,K}&#xff1b; 从图片中学习&#xff1a; …

Linux--Version Branch

参考链接1. Linux Version BranchLinux的发行版本大体分可为两类。一类是商业公司维护的发行版本&#xff0c;以Redhat&#xff08;RHEL&#xff09;为代表一类是社区组织维护的发行版本&#xff0c;以Debian为代表。2.Debian branchDebian系列主要包含Debian和Ubuntu等。Debia…

操作系统权限提升(十二)之绕过UAC提权-Windows UAC概述

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 操作…

已解决TypeError: eval() arg 1 must be a string, bytes or code object

已解决TypeError: eval() arg 1 must be a string, bytes or code object 文章目录报错问题报错翻译报错原因解决方法联系博主免费帮忙解决报错报错问题 粉丝群里面的一个小伙伴&#xff0c;想用Python爬虫然后解析数据&#xff0c;但是发生了报错&#xff08;当时他心里瞬间…

YOLOv8 Ultralytics:最先进的 YOLO 模型——简介+实战教程

YOLOv8 Ultralytics&#xff1a;最先进的 YOLO 模型 什么是 YOLOv8&#xff1f; YOLOv8 是来自 Ultralytics 的最新的基于 YOLO 的对象检测模型系列&#xff0c;提供最先进的性能。 利用以前的 YOLO 版本&#xff0c; YOLOv8 模型更快、更准确 &#xff0c;同时为训练模型提…

unity Vuforia发布移动端,禁止相机权限,出绿屏,强制退出app,如何去掉PERMISSION ERROR

unity Vuforia发布移动端&#xff0c;禁止相机权限&#xff0c;出绿屏&#xff0c;强制退出app&#xff0c;如何去掉PERMISSION ERROR问题描述更改需求解决方案&#xff1a;总结&#x1f4a2;&#x1f4a2;版权声明问题描述 unityvuforia 发布移动端&#xff0c;运行时需要相机…

墨天轮《2022年中国数据库行业年度分析报告》正式发布,精彩抢先看

自2022年4月份起&#xff0c;墨天轮数据社区持续发布月度 《中国数据库行业分析报告》&#xff0c;目前已发布7期&#xff0c;点击超过10万次&#xff0c;下载近万次。 为总结过往&#xff0c;展望未来&#xff0c;墨天轮数据社区正式发布了《2022年中国数据库年度行业分析报告…

MAC(m1)-VsCode上传项目到GitHub仓库

安装Git集成插件&#xff1a; GitHub Pull requests 在Visual Studio Code中查看和管理GitHub拉取请求和问题 Git Graph Git图形化显示和操作 最新最全 VSCODE 插件推荐&#xff08;2023版&#xff09;_白墨石的博客-CSDN博客_vscode插件 在vscode使用git提交推送代码_水…

精选100个Python实战项目案例,送给缺乏实战经验的你

前言&#xff1a;随着 Python 语言的流行&#xff0c;越来越多的人加入到了 Python 的大家庭中。为什么这么多人学 Python &#xff1f;我要喊出那句话了&#xff1a;“人生苦短&#xff0c;我用 Python&#xff01;”&#xff0c;正是因为语法简单、容易学习&#xff0c;所以 …

Jetson 相机编码

Jetson 相机编码 Jetson相机编码是即将发布的“实践”系列的相关代码。有三个存储库: 1. camera-caps JetsonHacks Github存储库camera-caps 通过v4l2-ctl命令行工具提供了一个图形用户界面。您可能会发现&#xff0c;它可以方便地检查连接到Jetson上的V4L2相机的功能。这适…