# BeamNG Terrain Tool **Repository Path**: slimeabc/BeamNG-Terrain-Tool ## Basic Information - **Project Name**: BeamNG Terrain Tool - **Description**: BeamNG Terrain Tool BeamNG 地形工具 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-30 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [English](README.en.md) # BeamNG Terrain Tool IconBeamNG 地形解析工具 一个基于 Python 的地形数据解析与可视化工具,用于处理 `.ter` 格式地形文件。提供高度图分析、材质分布统计、多模式3D预览及批量导出功能。 ## 核心功能 ### 数据解析 - **格式支持**:解析 `.ter` 二进制格式,提取版本号、地形尺寸(uint16高度图 + uint8材质层) - **数据结构**:处理高度图(Heightmap)与材质索引层(Layer Map)的矩阵数据 ### 可视化分析 - **总览面板**:6视图并排展示(彩色高度图、灰度高度图、材质分布图、混合渲染图、高度直方图、材质统计图) - **材质检视**:逐材质遮罩预览,支持像素级占比统计 - **颜色映射**:基于材质名称的启发式配色(Grass→绿色、Rock→灰色等),支持自定义颜色配置持久化 ### 3D预览(可选) - **双渲染模式**: - 高度着色模式:基于海拔的渐变色(蓝→绿→黄→红) - 材质着色模式:基于材质ID的自定义颜色 - **光照系统**:Blinn-Phong光照模型,支持半Lambert漫反射+镜面高光+边缘光 - **相机控制**:平滑插值相机(旋转/平移/缩放),基于球坐标系轨道控制 ### 导出功能 - **位深度支持**:8-bit/16-bit PNG输出 - **导出类型**: - 高度图(彩色/灰度) - 独立材质遮罩(批量导出选中材质) - 材质分布彩图 - 统计图表(高度分布直方图、材质占比条形图) - 混合叠加图(地形+光照+材质) ### 工程特性 - **配置管理**:JSON持久化存储(材质颜色、UI布局、语言设置) - **国际化**:基于JSON的语言文件系统,支持运行时切换(默认中文) > *注:英文版为AI翻译,可能存在不准确之处。如需修正或贡献翻译,欢迎联系。* - **跨平台字体适配**:自动检测 Windows/macOS/Linux 中文字体(Microsoft YaHei/PingFang SC/WenQuanYi) - **响应式UI**:可调整分割面板布局,自动保存用户偏好 ## 使用说明 ### 基本流程 1. 通过菜单 **文件 → 打开 .ter 文件** 加载地形 2. 在左侧材质列表面板查看 ID、名称及像素占比 3. 切换右侧标签页查看总览图表或单材质详情 4. 使用 **导出 → 导出图片** 批量输出分析结果 ### 配置文件 工具自动创建 `config/` 目录: - `material_colors.json`:用户自定义材质颜色 - `ui_config.json`:面板宽度与高度记忆 - `languages/*.json`:翻译文件(默认提供 5 种语言:简体中文、英语、日语、德语、法语) ### 3D预览要求 如需启用3D视图,需安装 OpenGL 依赖: ```bash pip install moderngl glfw PyGLM ``` ## 项目信息 **开发环境**:Python 3.8+ **许可证**:GPL 3.0 --- *注:此工具为个人开发的地形数据分析助手,适用于游戏开发中的地形资产检查与数据统计。*