如何用 Lighthouse 生态打包自己的 .o2r?retro + fast64 完整工作流指南
【免费下载链接】Lighthouse项目地址: https://gitcode.com/GitHub_Trending/lighthouse26/Lighthouse
Lighthouse 是 Harbour Masters 开发的《香蕉卡兹》(Banjo-Kazooie)开源 PC 移植版,它的模组与资源全部以.o2r / .otr 档案为格式。本文将带你用 Lighthouse 生态里的三件工具——fast64(Blender 建模插件)、retro(OTR/O2R 生成器)与Torch(资产打包工具),完整走一遍「建模 → 打包 → 加载验证」流程,几行命令就能做出自己的 .o2r 自定义资源包,放进mods文件夹即可生效。
🧩 先认识这套生态:4 个工具各司其职
做 .o2r 之前,先分清每个工具负责哪一段管线:
| 工具 | 角色 | 说明 |
|---|---|---|
| Lighthouse | 游戏本体 | 基于 libultraship 框架的 PC 移植,运行时加载bk.o2r与mods里的自定义包 |
| fast64 | 建模与几何编辑 | Blender 插件,制作/修改 Banjo-Kazooie 的 3D 模型与纹理(Dolphin Engine 格式) |
| retro | OTR/O2R 生成器 | 命令行工具,把资产打包成.o2r/.otr,也负责生成 HD(alt/层)高清资源 |
| Torch | 资产提取/打包 | 命令行工具,能把 ROM 提取为资产库,也能把文件夹压成 .o2r,源码直接内置于 Torch/ |
一句话记忆:fast64 负责「做」,retro / Torch 负责「装」,Lighthouse 负责「吃」。Lighthouse 正是构建在 libultraship 通用引擎层之上,资源加载、模组挂载都依赖它:
💡 两个容易混淆的概念:
bk.o2r是从游戏 ROM 提取出的基础资产档案(游戏本体运行所需);你自己用 retro/Torch 打出来的则是模组用 .o2r,两者互不干扰。
📦 打包流程总览:从 Blender 到 mods 文件夹
整条主线只有 4 步:
- 建模:在 Blender + fast64 中制作或修改模型、纹理
- 打包:用 retro(或 Torch 的
pack命令)把资产目录压成mymod.o2r - 放置:把
.o2r放进 Lighthouse 的mods文件夹 - 验证:启动游戏,进游戏确认替换/新增的资产生效
如果只是想阅读 Lighthouse 自带的资产管线示例,可以直接翻仓库里的 README.md 与 docs/BUILDING.md。
第 1 步:用 fast64 建模并导出资源
fast64 是 HarbourMasters 开源的 Blender 插件(注意:目前不支持 BK64),安装进 Blender 后即可:
- 导入 ROM 中的现有几何体做参考,或直接从零建模
- 编辑 Dolphin Engine 格式的场景/模型,绑定并绘制纹理
- 导出模型与纹理文件到一个干净的目录,例如
mymod/models、mymod/textures
仓库本身就是一批 fast64 产物的活例子:Lighthouse 自己的灯塔模型放在 port/models/lighthouse/ 下,模型定义见 model.xml,配套纹理有lighthouse_tex_0~lighthouse_tex_2;按钮图标则位于 port/textures/buttons/。照着这些文件的组织方式摆放你自己的资产,打包时最省心。
第 2 步:用 retro(或 Torch)打包成 .o2r
资产目录就绪后,进入「装」的环节:
- retro是生态推荐的 OTR/O2R 生成工具,负责把资产目录转成 Lighthouse 可读的档案,并支持生成高清(
alt/)资源层 - 若只是简单目录打包,用内置的Torch命令行同样可以,核心就一条命令:
torch pack <资源目录> mymod.o2r o2rLighthouse 构建自己的lighthouse.o2r时走的就是这条路:构建系统先把 port/ 资源目录复制到暂存目录,再调用 Torch 打包成档案,完整逻辑见 CMakeLists.txt 中的GeneratePortO2R目标。
SD 还是 HD?如果你的资源是替换高清材质,把高分辨率版本放进档案内的alt/路径(由 retro 生成),游戏内按Tab键即可在 SD / HD 资产层之间切换。
第 3 步:放入 mods 文件夹,加载你的 .o2r
这是最轻松的一步:
- 正常启动 Lighthouse(需自备合法 ROM,首次会生成基础
bk.o2r) - 把你的
mymod.o2r(或.otr)复制到游戏目录下的mods文件夹 - 重启游戏,自定义资产自动生效
验证阶段建议用手柄实测一遍按键手感,默认映射为 A→X、B→C、Z→E 等,完整对照可看下面这张参考图:
另外,Lighthouse 支持用启动参数一次性加载 romhack:./Lighthouse -hack <hack名称>,方便对比你的 .o2r 与 romhack 叠加后的表现。
第 4 步(进阶):Torch 的「提取 → 编辑 → 回灌」工作流
如果你想修改原版游戏资产而不是新增,Torch 提供完整闭环:
torch o2r baserom.z64:把 ROM 提取为资产库(即bk.o2r的生成方式,对应 CMakeLists.txt 中的ExtractAssets目标)- 编辑导出后的资产文件,再重新打包回灌
- 文本类资产(对话、字体)还支持导出成可编辑的 YAML 再导入,完整流程参考 docs/modding/LANGUAGE PACKS.md
构建相关依赖与目标说明可查阅 docs/BUILDING.md,ROM 区域与版本配置见 config.yml。
⚠️ 新手常见坑速查
- 格式坑:基础 ROM 必须是
.z64(.n64需先转换),且版本要在支持列表内(US 1.0 / 1.1、PAL、JP) - romhack 坑:romhack 目前仅支持 US v1.0,做 romhack 相关 .o2r 时建议以 US v1.0 为基准
- BK64 坑:fast64 暂不支持 BK64 模型,遇到请改用原生资产
- 图层坑:HD 资源必须放在
alt/结构下才会被高清层识别,普通替换直接放原路径 - 命名坑:
.o2r与.otr两种格式都会被读取,但同一个包不要同时丢两份
🚀 总结:记住这条主线
fast64 做模型 → retro / Torch 打包 .o2r → mods 文件夹加载 → 游戏内验证
工具分工想清楚,整条管线其实只有「做、装、吃」三个动作。第一次跑通后,再叠加 HD 图层、语言包或 romhack 组合,都是在这条主线上做加法。祝打包愉快,你的第一个 .o2r 离你只有几行命令的距离!
【免费下载链接】Lighthouse项目地址: https://gitcode.com/GitHub_Trending/lighthouse26/Lighthouse
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考