Aseprite → Godot 工作流(下)
三平台打包 · Web 部署原理 · failed-to-fetch 根因 —— 2026-09 整理
导出预设要点(export_presets.cfg)
- Web:
vram_texture_compression/for_desktop=true,产物index.html + .wasm + .pck + .js - Windows:
binary_format/embed_pck=true→ 单个 game.exe 最方便分发 - Android:非 gradle 模式只需模板+签名(JDK ≥17);只打 arm64-v8a 体积最小
$GODOT = "_tools\godot43\Godot_v4.3-stable_win64.exe"
& $GODOT --headless --path .\demo_project --export-release "Web" .\dist\web\index.html
& $GODOT --headless --path .\demo_project --export-release "Windows Desktop" .\dist\win\game.exe
& $GODOT --headless --path .\demo_project --export-release "Android" .\dist\apk\game.apk
Web 版“failed to fetch”根因与修复原理
Godot 4 Web 导出在普通静态托管上常见的 Failed to fetch / 白屏,95% 是宿主环境问题,按优先级排查:
- MIME:
.wasm必须返回application/wasm(Nginx 需在 conf.d 追加 types) - 跨源隔离:线程版导出需要
COOP: same-origin+COEP: require-corp(否则 Worker/SAB 被拦) - 协议一致:页面与 wasm/pck 同源同协议,杜绝混合内容
- 编码:若服务端压缩过资源,Content-Encoding 必须与文件实际一致
本站实测(logic_map 导出包):按上述头部署后 Godot Engine v4.3 正常启动并渲染; 旧站点问题基本可以定位到旧托管的代理/CORS/编码配置——浏览器 F12 → Network 里那条红色请求就是病根。
把导出包放进本站的姿势
- 整目录拷到
games/<slug>/(或大文件走服务器游戏池,见games/logic_map/README.md) games/manifest.json登记一条npm run release -- x.y.z发布(纯静态包可不发版,直接同步服务器)
更完整的托管细节见项目内 docs/GODOT-HOSTING.md 与 docs/DEPLOY.md。