7. 导出与跨平台发布
2026/4/14大约 3 分钟
导出与跨平台发布
游戏做好了,下一步就是让别人也能玩到。Godot 支持一键导出到 Windows、Mac、Linux、Android、iOS 和 Web 平台。但每个平台有不同的限制和要求,比如手机屏幕小、性能弱,网页版不支持某些功能等。这一章帮你了解各平台的导出要点。
本章你将学到
- Windows / Mac / Linux 桌面端的导出设置
- Android 和 iOS 移动端的适配要点
- Web 版(HTML5)导出与浏览器限制
- 各平台的性能配置和常见坑
桌面端导出(Windows / Mac / Linux)
桌面端导出最简单。步骤:
- 下载对应平台的导出模板(编辑器菜单 → 编辑 → 导出模板管理器)
- 添加导出预设(项目 → 导出 → 添加)
- 选择目标平台,配置图标、权限等
- 点击"导出项目"
C#
// 检测当前运行平台,适配不同行为
using Godot;
public partial class PlatformAdapter : Node
{
public override void _Ready()
{
// 桌面端使用较高画质
if (OS.HasFeature("windows") || OS.HasFeature("macos") || OS.HasFeature("linux"))
{
// 启用 HDR 和高分辨率阴影
GetViewport().Msaa3D = Viewport.Msaa.Msaa4x;
GD.Print("桌面端:启用高画质");
}
// 移动端降低画质
else if (OS.HasFeature("android") || OS.HasFeature("ios"))
{
GetViewport().Msaa3D = Viewport.Msaa.Disabled;
// 降低阴影质量
GD.Print("移动端:降低画质以保流畅");
}
}
}GDScript
# 检测当前运行平台,适配不同行为
extends Node
func _ready():
# 桌面端使用较高画质
if OS.has_feature("windows") or OS.has_feature("macos") or OS.has_feature("linux"):
# 启用高分辨率抗锯齿
get_viewport().msaa_3d = Viewport.MSAA_4X
print("桌面端:启用高画质")
# 移动端降低画质
elif OS.has_feature("android") or OS.has_feature("ios"):
get_viewport().msaa_3d = Viewport.MSAA_DISABLED
# 降低阴影质量
print("移动端:降低画质以保流畅")移动端适配要点
- 触控输入:手机没有键盘鼠标,需要用
ScreenTouch或VirtualJoystick做虚拟摇杆 - 屏幕分辨率:手机屏幕比例多样(18:9、20:9),UI 需要用锚点自适应
- 性能限制:手机 GPU 比电脑弱得多,必须降低分辨率、减少粒子数量、简化 Shader
- 包体大小:APK/IPA 有大小限制,压缩纹理资源很重要
Web 导出
Godot 可以把游戏导出为 HTML5/WASM,直接在浏览器里运行。但有几个限制:
- 不能直接访问本地文件系统(浏览器的安全策略)
- 音频需要用户交互后才能播放(点击屏幕后才能出声)
- 性能比桌面端弱,不适合大型 3D 游戏
- 推荐使用 Extension版 Web 导出模板,体积更小性能更好
常见坑
- Mac 签名:没有 Apple 开发者账号签名的 .app 会被 macOS Gatekeeper 拦截
- Android SDK:导出 Android 需要配置 Android SDK 和 JDK
- iOS 证书:必须有 Apple 开发者账号(付费)才能在真机测试
- Web CORS:加载外部资源可能遇到跨域问题
