Mars Android 开发完整教程
目录
-
第一部分:初识 Mars
(图片来源网络,侵删)- 什么是 Mars?
- 为什么选择 Mars?(优势)
- Mars 与 Unity/Unreal 的对比
- 适用人群
-
第二部分:环境搭建
- 前置要求
- 步骤 1:安装 JDK
- 步骤 2:安装 Android Studio
- 步骤 3:安装 Mars 编辑器
- 步骤 4:配置 Mars 的 Android SDK/NDK
- 步骤 5:验证环境配置
-
第三部分:第一个项目 - Hello World
- 创建新项目
- 熟悉编辑器界面
- 创建一个简单的 3D 场景
- 编写第一个脚本
- 构建并运行到 Android 设备/模拟器
-
第四部分:核心概念与工作流
- 场景
- 实体
- 组件
- 脚本
- 资源管理
-
第五部分:Android 平台特有配置
(图片来源网络,侵删)- 包名与图标设置
- 权限管理
- 屏幕方向与分辨率适配
- 性能优化技巧
-
第六部分:发布与打包
- 生成 APK
- 生成 AAB (Android App Bundle)
- 签名配置
- 安装到测试设备
-
第七部分:学习资源与社区
- 官方文档
- 视频教程
- 社区论坛
- 示例项目
第一部分:初识 Mars
1 什么是 Mars?
Mars 是由 米哈游 开发并开源的一款 跨平台、数据驱动 的游戏引擎,它最初用于《崩坏3》、《原神》等 3D 大作的开发,以其强大的渲染性能和高效的开发流程而闻名。
2 为什么选择 Mars?(优势)
- 强大的渲染能力:继承了米哈游在 3A 游戏中的渲染技术,支持 PBR (Physically Based Rendering)、后处理、高级光照等,画面表现力强。
- 跨平台支持:一次开发,可轻松部署到 Windows, macOS, Linux, iOS, Android 等多个平台。
- 数据驱动:游戏逻辑、配置、美术资源等大量数据通过 JSON 等格式定义,实现了逻辑与资源的解耦,便于团队协作和热更新。
- 高性能:底层使用 C++ 编写,对性能进行了极致优化,尤其适合移动端。
- 开源与活跃社区:核心渲染模块已开源,社区持续贡献,问题能得到较快响应。
3 Mars 与 Unity/Unreal 的对比
| 特性 | Mars | Unity | Unreal Engine |
|---|---|---|---|
| 开发语言 | C++ (主) / Lua (脚本) | C# | C++ / Blueprints (蓝图) |
| 渲染管线 | 自定义,高度优化 | Built-in / URP / HDRP | 自定义,Lumen/Nanite |
| 跨平台 | 优秀 | 优秀 | 优秀 |
| 数据驱动 | 核心优势,非常成熟 | 支持良好,但非核心 | 支持,但不如 Mars 纯粹 |
| 上手难度 | 较高,需要 C++ 基础 | 较低,生态成熟 | 中等,蓝图可视化降低门槛 |
| 移动端优化 | 极致优化 | 良好 | 较重,但近年有改善 |
4 适用人群
- 有一定 C++ 基础的游戏开发者。
- 追求高性能渲染和跨平台能力的独立开发者或小团队。
- 对《原神》等游戏技术实现感兴趣的开发者。
- 希望学习大型游戏引擎内部架构的开发者。
第二部分:环境搭建
这是最关键的一步,请严格按照顺序操作。

1 前置要求
- 操作系统:Windows 10 (推荐) / macOS
- 硬件:8GB 以上内存,建议 SSD 硬盘以提升编译速度。
- 网络:需要稳定的网络连接,因为需要下载大量 SDK 和依赖库。
2 步骤 1:安装 JDK
Mars 需要 Java Development Kit 来编译项目。
- 下载 JDK 8 或更高版本 (JDK 11 是推荐版本)。
- 安装 JDK。
- 配置环境变量:
- 新建系统变量
JAVA_HOME,值为你的 JDK 安装路径 (C:\Program Files\Java\jdk-11)。 - 编辑系统变量
Path,添加%JAVA_HOME%\bin。 - 打开命令行,输入
java -version,如果显示版本号,则安装成功。
- 新建系统变量
3 步骤 2:安装 Android Studio
Mars 使用 Android Studio 的工具链来构建 Android 应用。
- 从 Android 官网 下载并安装 Android Studio。
- 安装时,确保勾选了 "Android SDK Platform-Tools" 和 "Android SDK Build-Tools"。
- 打开 Android Studio,进入
Settings->Appearance & Behavior->System Settings->Android SDK。 - 记下 "Android SDK Location" 的路径,后面会用到。
4 步骤 3:安装 Mars 编辑器
- 从 Mars 的 GitHub Releases 页面 下载最新版的编辑器(通常是
mars-editor-win-x64.zip或类似名称)。 - 解压压缩包到你想安装的目录(
D:\Mars)。 - 进入
bin目录,双击MarsEditor.exe(Windows) 或MarsEditor.app(macOS) 启动编辑器。
5 步骤 4:配置 Mars 的 Android SDK/NDK
这是最容易出错的一步,Mars 需要你告诉它 Android SDK 和 NDK 的位置。
- 在 Mars 编辑器中,打开
Settings(齿轮图标)。 - 找到
Engine->Platforms->Android设置项。 - 设置 SDK Path:
- 点击
Browse,选择你在 步骤 2.3 中记下的 "Android SDK Location" 路径。
- 点击
- 设置 NDK Path:
- 如果你的 Android Studio 中没有 NDK,请先在 Android Studio 的 SDK Manager 中下载一个 NDK 版本(推荐 r21e 或更高)。
- 点击
Browse,选择你下载的 NDK 路径(D:\Android\Sdk\ndk\21.4.7075529)。
- 点击
Apply和OK保存设置。
6 步骤 5:验证环境配置
- 在 Mars 编辑器中,点击顶部菜单的
Tools->Build & Run->Android。 - 如果一切正常,编辑器会开始编译引擎和你的项目,如果编译成功,说明环境配置正确。
第三部分:第一个项目 - Hello World
1 创建新项目
- 启动 Mars 编辑器。
- 点击
File->New Project。 - 选择一个模板(
Empty Project)。 - 给项目命名,选择一个存放路径,然后点击
Create。
2 熟悉编辑器界面
- Scene View (场景视图):3D 场景的预览窗口,你可以在这里移动相机、摆放物体。
- Hierarchy (层级视图):显示当前场景中所有实体(Entity)的树状结构。
- Inspector (属性视图):选中一个实体或资源后,这里会显示其所有可配置的属性和组件。
- Project (项目视图):显示你的项目文件,包括脚本、场景、模型、贴图等资源。
- Console (控制台):输出日志、错误和警告信息,是调试的好帮手。
3 创建一个简单的 3D 场景
- 在
Hierarchy视图中,右键点击,选择Create->Camera创建一个相机。 - 再次右键点击,选择
Create->Mesh->Cube创建一个立方体。 - 在
Scene View中,使用鼠标左键旋转视角,右键平移,滚轮缩放,调整相机位置,以便能看到立方体。
4 编写第一个脚本
-
在
Project视图中,右键点击,选择Create->Script->Lua Script。 -
给脚本命名,
RotateCube。 -
双击打开脚本,你会看到一些默认的模板代码。
-
修改代码,让立方体旋转:
-- RotateCube.lua local RotateCube = {} function RotateCube:start() -- 获取这个实体上的 MeshRenderer 组件 self.meshRenderer = self.entity:GetComponent("MeshRenderer") end function RotateCube:update() -- 在每一帧更新时,让立方体绕 Y 轴旋转 self.entity.rotation = self.entity.rotation + Vector3(0, 0.5, 0) end return RotateCube -
回到编辑器,在
Hierarchy视图中选中Cube实体。 -
在
Inspector视图中,点击Add Component,选择你刚刚创建的RotateCube脚本组件。
5 构建并运行到 Android 设备
- 连接设备:用 USB 线将你的 Android 手机连接到电脑,并开启“开发者选项”和“USB 调试”。
- 选择设备:在 Mars 编辑器顶部工具栏,确保目标设备是你的手机。
- 点击运行:点击工具栏上的播放按钮(一个绿色的三角形),选择
Android Device。 - 编辑器会开始编译项目,并将 APK 安装到你的手机上,安装成功后,游戏会自动启动,你应该能看到一个正在旋转的立方体。
第四部分:核心概念与工作流
- 场景:游戏的一个关卡或一个界面,是所有实体的容器。
- 实体:场景中的基本对象,可以是玩家、敌人、相机、灯光等,实体本身像一个空容器。
- 组件:附加到实体上,赋予实体特定功能的模块。
Transform:位置、旋转、缩放(每个实体都有)。MeshRenderer:渲染 3D 模型。Camera:定义视角。Script:附加你编写的 Lua 脚本。
- 脚本:使用 Lua 编写的逻辑代码,控制实体的行为,通过
start(初始化) 和update(每帧更新) 等生命周期函数来组织逻辑。 - 资源管理:将模型、贴图、音频等文件放在
Resources文件夹下,然后在代码中通过Resources.Load()加载。
第五部分:Android 平台特有配置
1 包名与图标设置
- 在
Project视图中,找到Settings/AndroidManifest.xml文件。 - 修改
package属性来设置你的应用包名。 - 在
Project视图中,找到Assets/Icons文件夹,放入不同尺寸的图标文件(如icon_48x48.png,icon_128x128.png等)。
2 权限管理
在 AndroidManifest.xml 中,添加 <uses-permission> 标签来申请权限,申请相机权限:
<uses-permission android:name="android.permission.CAMERA" />
3 屏幕方向与分辨率适配
在 AndroidManifest.xml 中,为 Activity 添加 screenOrientation 属性来锁定屏幕方向:
<activity android:name=".MainActivity"
android:screenOrientation="landscape">
</activity>
Mars 引擎通常会自动处理分辨率适配,你可以在项目设置中调整缩放模式。
4 性能优化技巧
- Draw Call 优化:尽量合并网格,使用纹理图集。
- LOD (Level of Detail):为远处的模型使用低精度模型。
- Occlusion Culling (遮挡剔除):关闭被不透明物体遮挡的物体的渲染。
- 降低粒子特效数量。
- 使用 Profiler:Mars 编辑器内置性能分析工具,可以帮你找到性能瓶颈。
第六部分:发布与打包
- 点击顶部菜单
File->Package Project->Android。 - 选择输出路径,选择打包格式:
- APK:可直接安装的包,包含所有架构(如 arm64-v8a, armeabi-v7a),文件较大。
- AAB (Android App Bundle):Google 推荐的格式,只包含设备需要的架构,体积更小,便于动态分发。
- 点击
Package开始打包,完成后,你会在指定的输出路径找到打包好的文件。
签名配置
正式发布必须对 APK/AAB 进行签名,你需要一个签名密钥库。
- 在 Mars 编辑器的
Settings->Platforms->Android中,配置你的 Keystore 文件路径、密码、别名等信息。 - 打包时,编辑器会自动使用这个密钥进行签名。
第七部分:学习资源与社区
1 官方文档
- Mars GitHub 仓库:https://github.com/miloyip/mars
- 这是获取源码、阅读 Issue 和贡献代码的地方。
docs文件夹下有详细的文档。
2 视频教程
- 在 Bilibili 上搜索 "Mars 教程" 或 "Mars引擎",有社区分享的入门和进阶视频。
- 官方也可能在特定渠道发布视频教程。
3 社区论坛
- GitHub Discussions:在 Mars 的 GitHub 仓库下,可以提问和参与讨论。
- 米哈游开发者社区:可能会有相关板块。
4 示例项目
- Mars 仓库中通常包含一些示例项目,是学习引擎 API 和工作流的最佳材料。
