使用 Unity 开发 Android VR 应用系列之一——开发环境设置
0. 读者定位
- 熟悉 Android 开发
- 对 C#/.NET 有一定了解
- 想学习如何通过 Unity 开发 Android 应用
Unity 是微软旗下的跨平台游戏/应用开发工具,C# 自然成为其首推支持的前端开发语言。C# 虽是从 Java 脱胎而出,经过近二十年的独立发展,已经成长为一门明显优于 Java 的现代化语言(这当然是我个人的主观见解)。我也发愿以此项目为起点,重新掌握 C#/.NET 的技术体系。
1. 开发环境一览
- Windwos 10, 16 GB RAM, 1060 3GB+ 独显
Unity 对硬件具有一定要求,不仅指构建版本,开发过程中还需要频繁使用开发机运行调试项目,硬件配置对开发效率的影响还是比较大的。
- Android Studio 环境(包括 SDK 和 NDK)
不确定 Unity 兼容所有 Android Studio 版本环境——毕竟 Android Studio 本身就存在比较显著的版本兼容性问题。所以如果你碰到项目配置相关的错误,建议尝试提高或降低 Android Studio/SDK/NDK 版本来解决。我个人的 Android Studio 环境是 Android Studio 3.5.3/SDK Platform 26/NDK r16b。
- Unity 2018.4.14f1
Unity 存在多个并行版本,包括 2017/2018/2019 等系列。大版本间互不兼容,所以立项之初 Unity 版本选择是一个重要任务。
版本选择大概有几个原则:- 依赖方的要求,很多第三方 SDK 不保证兼容所有 Unity 版本
- 优先使用 LTS (Long Term Support) 版本,LTS 意味着官方的持续维护,版本质量更高
- 如果想体验所有新功能,优选 2019 版本;如果更注重产品的稳定性,优选 2018 版本。LTS 并不意味着会同步所有最新版本的大功能,所以 2018 LTS 的功能是弱于 2019 系列的
- Visual Studio Community 2019
此项可选。通过一些渠道安装 Unity,会同时包含 Visual Studio Community 2017 的安装选项,这已经足够了。
- Pico G2 4K 眼镜
我们应用的适配机型之一,我个人的最爱
2. 首次运行设置
1) Unity 关联 Android 环境
启动 Unity,依次选中菜单项 Edit - Preferences - External Tools,显示如下:
按实际安装路径分别填充标注的两个选项。没有用到 NDK 时,此项可空。
2) Android App 构建配置
在 Unity 中依次选中菜单项 Edit - Project Settings,在弹出窗口中的左栏选中 Player 选项后,在右栏切换到 Android settings 标签页。
选项繁多,不一一介绍。强烈建议对照文档熟练掌握所有选项含义,这是十分有意义的。这里仅介绍几个”高级”选项。
2.1) 自定义 Gradle 脚本
选中 Publishing Settings 下拉菜单,勾选如上图标识选项。Unity 默认使用对用户隐藏的 gradle 脚本构建 App,使用自定义 gradle 脚本,给开发者提供了从更细粒度上干预构建过程的能力。
2.2) C# 脚本配置
在 Other Settings 下拉菜单中,按上图所示设置各选项。将 .NET 运行时版本提升到 4.x 的原因是可以使用 C# 6.0 特性。
3) Unity 关联 Visual Studio
Preferences 窗口中的 External Tools 标签页中,有如下选项
如果你的 Visual Studio 是通过 Unity 安装器打包安装,这里已经自动关联;如果想手动切换到其它 Visual Studio 实例,可以通过点击这里,浏览本地安装目录,找到并选中 devenv.exe
即可。
如果这里没有配置正确,在 Visual Studio 中打开脚本文件后将不能成功自动感知,且不能通过 “附加到 Unity” 功能实时调试脚本。虽然不影响脚本的正常编译,对开发效率无疑是巨大打击。
3. 后记
文中所记并非一个完整的 “Unity 下开发 Android App 配置流程”,此种教程文档网络上已数不胜数,我也是参照此类文章迈出的第一步。
此文的价值,恰恰在于它是对此类千篇一律的入门流水账的一个重要补充,是我开发过程中一些痛苦教训的精炼提取,可以让你的第一步迈得更扎实。
叙事的同时,也掺杂了很多我个人的理解。限于认知,如有冒犯或错误或词不达意等负面情绪传递,凡此种种,请留言指正,谢谢。