Unity下载

Unity个人版是免费的,可以去官网下载Unity Hub再下载Unity个人版。个人版功能足以满足个人学习Unity需求,如果有商业用途最好下载专业版。需要先下载Unity Hub,以便后续下载Unity开发Android相关开发组件。
官方下载地址

Unity工程

通过Unity Hub新建一个空的3D工程

导入3D模型:
选择Project面板中的Assert->右键Import New Asset->选择要导入的模型文件(fbx、obj、3ds等格式皆可)。导入成功后即可将3D模型拖拽到场景中。

场景Scene操作模型
通过Tools工具栏来操作模型,快捷键对应QWERTY(游戏玩家应该很熟悉),调节到合适的位置即可,将模型拖到Camera的视角内,点击Camera可预览效果。

Unity去掉天空盒
Window->Rendering->lighting->在属性面板中选择Environment,修改Skybox MaterialNone

Unity导出Android工程

首次导出Android工程会提示下载相关组件,按提示下载安装。安装成功后显示下面界面:

Unity导出Android工程需要用到Android SDK、NDK、JDK等一系列Android开发组件,可通过Unity Hub下载安装Unity版本配套的Android组件。
在Unity偏好设置Preferences面板中,选择External Tools可配置Android SDK、NDK、JDK的路径,最好勾选推荐的从Unity Hub下载路径以免版本不匹配导致一系列问题。

专业版可以在Build Settings->Player Settings->Player->Other Settings下的Target Architectures选择的cpu架构,个人版只支持ARMv7(armabi-v7a)架构,导出的3D工程也只能在该架构上运行,个人版也满足正常在android设备中运行调试。

Build Settings中,首次导出需要切换平台Switch Platform,切换成功后勾选Export Projec再点击Export即可导出Android工程。

**注意:**勾选了Development Build,会导致Android运行的3D画面右下角出现Development Build字样。

AndroidStudio中导入Unity工程

导入前,需要把androidstudio的jdk版本修改为unity对应的版本否则报错。


以import module的方式导入Unity生成的Android工程,其中有两个module,launcher为可运行的应用模块,unityLibrary包含Unity相关的库。

可以在launcher模块中开发UI界面,但如果已有应用app模块也可以参考launcher模块配置来unityLibrary来进行3D相关开发。
参考launcher模块进行ndk引用:

        ndk {abiFilters 'armeabi-v7a'}

同时需要依赖unityLibrary

    implementation project(':unityLibrary')
launcher模块

需要注意依赖到一个字符串game_view_content_description,拷贝到app模块中:

    <string name="game_view_content_description">Game view</string>

如果Android打包 不想把Assets/StreamingAssets/folder1Assets/StreamingAssets/folder2等打进apk里,可以在gradle中加入下面配置:

android {...androidResources {ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'noCompress '.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'}
}

主Activity继承UnityPlayerActivity,由于UnityPlayerActivity实现了Unity的三方库的IUnityPlayerLifecycleEvents接口,主app没依赖此库,因此无法直接继承。

public class UnityPlayerActivity extends Activity implements IUnityPlayerLifecycleEvents

于是需要去掉实现IUnityPlayerLifecycleEvents,同时改为内部实现IUnityPlayerLifecycleEvents接口

private IUnityPlayerLifecycleEvents lifecycleEvents = new IUnityPlayerLifecycleEvents() {@Overridepublic void onUnityPlayerUnloaded() {UnityPlayerActivity.this.onUnityPlayerUnloaded();}@Overridepublic void onUnityPlayerQuitted() {UnityPlayerActivity.this.onUnityPlayerQuitted();}};//改为内部实现类mUnityPlayer = new UnityPlayer(this, lifecycleEvents);

同时UnityPlayer类也是无法直接调用,需要在unityLibrary模块中增加方法调用。

    protected void addCustomView(View view) {if(mUnityPlayer != null) {mUnityPlayer.addView(view);}}protected void init() {}

增加sendUnityMessage来调用Unity方法:

    protected void sendUnityMessage(String s1, String s2, String s3) {UnityPlayer.UnitySendMessage(s1, s2, s3);}

这样主Activity就可以继承,如需添加自定义布局可重写init方法,再调用addCustomView方法添加。

public class MainActivity extends UnityPlayerActivity {@Overrideprotected void init() {View view = LayoutInflater.from(this).inflate(R.layout.layout_buttons, null, false);addCustomView(view);}
}

unityLibrary模块需要在AndroidManifest.xml去掉activity声明,主Activity中需要添加一下声明:

       <activityandroid:name=".MainActivity"android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density"android:hardwareAccelerated="false"android:launchMode="singleTask"android:resizeableActivity="false"android:screenOrientation="fullSensor"android:exported="true"android:theme="@style/UnityThemeSelector.Translucent"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter><meta-dataandroid:name="unityplayer.UnityActivity"android:value="true" /><meta-dataandroid:name="android.notch_support"android:value="true" /></activity>

最后运行来看下效果:

Unity3D导出Android工程(Android中应用Unity3D)相关推荐

  1. 【IOS自动化解放双手系列一】unity3D导出xcode 工程并配置各种权限

    打包是程序员必经之路.如何实现自动化是一个程序员的基本素质.(都是因为我懒,哈哈哈). 使用环境 :unity3D 2017.4.7 Mac Pro 打包分一下几个部分 : 1.unity3D导出xc ...

  2. 【Unity3D】Android 打包 ④ ( Android 工程打包 | Unity 中导出安卓工程 | Android Studio 打开 Unity 导出的 Android 工程 )

    文章目录 一. Android 工程打包 二. Android Studio 打开 Unity 导出的 Android 工程 一. Android 工程打包 Android 工程打包 就是将 Unit ...

  3. 创建android工程,Android天天向上(3)— 创建Android工程

    在创建Android工程进行开发之前,我们先来设置一下Android仿真器(Android Virtual Device,AVD).AVD可以模拟各种硬件配置的Android设备,也可以支持不同的An ...

  4. android怎么用别人的工程,Android导入别人的工程

    原文出处:http://blog.csdn.net/jiangwei0910410003/article/details/16962635 有的时候我们需要在现有的项目中引用到其他项目的资源和文件,当 ...

  5. android 面试 android 知识点 提高篇

    来源:以前网上买的资料+面试遇到的+百度到的 ____本篇为提高篇 一.Android性能优化 1.如何对Android应用进行性能分析 一款App流畅与否安装在自己的真机里,玩几天就能有个大概的感性 ...

  6. unity3d android 后台运行,unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android...

    易采站长站为您分析unity3d发布apk在android虚拟机中运行的详细步骤,需要的朋友可以参考下 unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android ...

  7. android 引用非 android 工程,Unity3D调用android方法(非插件方式)

    关于Unity3D工程与android工程的转换与合并,请参考我的另外一篇博客,如果你对Unity3D工程加入到android工程的过程不熟悉,也请先看完下面这篇博客: android与Unity3D ...

  8. Unity2018导出Android工程并自行生成apk(总)

    https://docs.unity3d.com/2018.4/Documentation/Manual/android-gradle-overview.html 以下内容都是在unity2018.4 ...

  9. Unity3D研究院之与Android相互传递消息

       上一篇文章我们学习了Unity向Android发送消息,如果Android又能给Unity回馈消息那么这就玩美了.恰好Unity for Andoid 和 IOS一样都是可以相互与Unity发送 ...

  10. unity android eclipse,[转]Android笔记:Eclipse嵌入Unity3D开发的3D场景

    1.Unity3D开发程序员开发好场景后,打包apk包,将此apk包发给android开发人员 2.android开发人员将得到的apk包后缀名改为.zip(即重命名将.apk改为.zip) 3.解压 ...

最新文章

  1. java springcloud版b2b2c社交电商spring cloud分布式微服务(十三)断路器聚合监控(Hystrix Turbine)...
  2. 虚拟化基础架构Windows 2008篇之8-添加启动映像
  3. 手机安全卫士——进程管理
  4. 【BZOJ4236】JOIOJI [DP]
  5. 计算机在智慧交通的应用论文,智能交通的毕业论文
  6. 那些年我看过的前端书
  7. 女同志50岁退休可以早领养老金,55岁退休拿的养老金比较高,哪个更划算?
  8. RabbitMQ-镜像队列配置相关
  9. 有没有安卓4.0的java模拟器_电脑端安装Android4.0模拟器使用教程
  10. Gstreamer衬垫(pad)支持的媒体类型(三)
  11. 深耕金融行业数字化转型,人大金仓数据库自主可控解决方案综述
  12. pyboard :红外遥控模块,class UART
  13. 如何成为一名很酷的机器人工程师
  14. VScode:禁止VScode自动升级
  15. unity 打包时 StreamingAssets文件的数目过多
  16. yum 安装程序找不程序安装包,诸如类似 No package zlib-devel available 报错的解决
  17. 赛迪网:VMware访谈实录
  18. 【Python-1】
  19. 苹果电脑python快捷键_我常用用的MAC快捷键和手势
  20. jsp学生体育成绩管理系统

热门文章

  1. win10哪个版本最好用,推荐win10企业版LTSC
  2. VMware Ubuntu 18.04 搭建个人Hustoj教程
  3. OSPF 多区域配置实例学习记录
  4. 在线计算机进制换算,进制转换计算器
  5. java nlpir_java实现NLPIR(ICTCLAS)分词
  6. 广州地铁线路查询程序C语言,c语言广州地铁系统报错,帮帮忙看一看哈?
  7. Cisco WebEx设备ssl证书安装指南
  8. 常用编码说明-GBKBIG5GB18030
  9. Tcl 语言 ——列表篇
  10. php日历天气预报下载安装手机桌面_日历天气预报下载安装app_手机桌面时钟日历天气软件下载 安卓版 V7.5.1 - 罐头安卓网...