noidex0/fh6-model-tools
GitHub: noidex0/fh6-model-tools
将《极限竞速:地平线 6》的 burG 专有模型二进制格式转换为 glTF、OBJ、DDS 等标准交换格式的纯 Python 3 工具集。
Stars: 2 | Forks: 0
# FH6 模型工具
[](LICENSE)
[](https://python.org)
将 Playground Games 的专有 **burG** 二进制格式(用于**《极限竞速:地平线 6》**)转换为标准交换格式:glTF 2.0 (GLB)、Wavefront OBJ 和 DDS 纹理。仅使用标准库 Python 3,无需 pip 安装,无外部依赖。
## 快速开始
```
# 单个 mesh 到 GLB (Blender, Unity, Unreal 等)
python tools/modelbin_to_glb.py
# 单个 mesh 到 OBJ
python tools/modelbin_to_obj.py
# 整辆车 (所有组件, GLBs + PNG textures)
python tools/car_to_glb.py --lib-zip
# Texture 到 DDS
python tools/swatchbin_to_dds.py
```
默认情况下,输出会放在源文件旁边;传入第二个参数可指定输出目录。`car_to_glb.py` 默认输出到 `out//`。`--lib-zip` 指向游戏 `media\Cars\_library\` 目录下的 `Textures.zip`。
## 工具
| 工具 | 功能 |
|------|-------------|
| `modelbin_to_glb.py` | `.modelbin` → `.glb`(包含所有 LOD、骨骼、蒙皮、法线、UV0) |
| `modelbin_to_obj.py` | 每个 LOD 执行 `.modelbin` → `.obj` + `.mtl` 转换 |
| `car_to_glb.py` | 汽车目录 → GLB + PNG 纹理(读取 `Manifest.xml`) |
| `swatchbin_to_dds.py` | `.swatchbin` → `.dds` (BC4, BC5, BC7, R8, R8G8B8A8) |
| `dump_colors.py` | `ManufacturerColors.bin` → sRGB 十六进制颜色 + materialbin 路径 |
| `dump_lightpresets.py` | `LightPresets.bin_debug` → 98 个命名预设 |
| `dump_materialbin.py` | `.materialbin` → 车漆 shader 参数 |
| `extract_ao_volume.py` | `aovolumetexture.bin` → 作为 DDS 的 3D AO 体积 |
完整描述、选项和分析工具:**[docs/tools.md](docs/tools.md)**
## 文档
| 指南 | 内容 |
|-------|---------|
| [docs/format.md](docs/format.md) | 二进制格式规范、burG 容器、区块类型、顶点布局 |
| [docs/input-layout.md](docs/input-layout.md) | 预期的目录结构和纹理库 |
| [docs/glb-output.md](docs/glb-output.md) | GLB 参考、场景结构、几何体、蒙皮、材质 |
| [docs/tools.md](docs/tools.md) | 完整的工具描述、选项和分析工具 |
| [docs/troubleshooting.md](docs/troubleshooting.md) | 常见问题、常见问题和已知限制 |
| [docs/research-status.md](docs/research-status.md) | 已解码内容和剩余待解内容 |
## 许可证
[PolyForm Noncommercial License 1.0.0](LICENSE),允许在署名的前提下免费用于非商业用途。明确允许个人研究、爱好项目、教育和慈善用途。商业使用需要单独的许可证。
本仓库不包含任何游戏文件。您必须提供自己的资产。
## 免责声明
本项目是一项出于互操作性目的的独立逆向工程成果。它不隶属于 Playground Games、Turn 10 Studios、Microsoft 或任何相关实体,也未获得其认可或与之有任何联系。所有商标和版权均归其各自所有者所有。
标签:3D模型解析, Python, 数据提取, 文件格式转换, 无后门, 游戏模型转换