npiriou/mountainizer
GitHub: npiriou/mountainizer
Mountainizer 是一款适用于 Windows 的开源只读工具,用于导入、解析和交互式查看 SSX 3(PlayStation 2)的全部赛道世界数据。
Stars: 0 | Forks: 0
# Mountainizer
Mountainizer 是一款开源、只读的 **SSX 3 (PlayStation 2) 世界查看器**,适用于 Windows 平台。它导入用户提供的 NTSC-U 光盘镜像,组装全部 17 个可玩赛道,并在交互式 OpenGL 视口中渲染其地形、道具、纹理、样条线、触发器和可见性数据。
Mountainizer 不包含任何 SSX 3 资产。它从不修改或重新打包源镜像;您必须提供自己合法获得的游戏副本。
## 当前功能
- 从 ISO9660 镜像中导入并识别 PS2 NTSC-U 版本 (`SLUS_207.72`)
- 按游戏内名称、山峰、项目类型和内部代码展示全部 17 个赛道
- 从赛道的活动、共享高山、连接器和天空流式传输区域组装每个赛道
- 渲染带纹理的地形以及解码的静态道具和模型
- 在赛道起点门附近打开,如比赛开始时一样面向下坡
- 提供基于地表锚定的环绕、自适应光标定向缩放、平移和飞行控制
- 浏览场景层级、属性、源偏移量、材质和解码后的纹理
- 将样条线、摄像机触发器和可见性幕布可视化为可选的调试几何体
- 将细分地形和解码的道具实例导出为 OBJ
- 保留不受支持的资源并报告结构化的解析诊断信息
- 包含用于识别、提取、检查、纹理转储和导出的 CLI
Mountainizer 目前的定位是检查和逆向工程。它不是关卡编辑器,无法将游戏数据写回 ISO。
## 系统要求
- Windows 10 或 Windows 11,x64
- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) 用于从源码构建
- 合法获取的 SSX 3 PS2 NTSC-U ISO,以进行经过全面测试的工作流
- 支持 OpenGL 3.3 的显卡驱动
其他光盘版本可以在尽力而为的只读模式下打开,但尚未经过全面验证。
## 下载
从[最新的 GitHub 发布页面](https://github.com/npiriou/mountainizer/releases/latest)下载 `Mountainizer.App.exe`。这是一个自包含的 Windows x64 可执行文件:无需安装程序、ZIP 压缩包或单独安装 .NET。
## 构建与运行
在仓库根目录下执行:
```
dotnet restore Mountainizer.sln
dotnet build Mountainizer.sln -c Release
dotnet run --project src/Mountainizer.App/Mountainizer.App.csproj -c Release
```
构建完成后,可执行文件位于:
```
src\Mountainizer.App\bin\Release\net8.0-windows\Mountainizer.App.exe
```
从该目录运行 EXE,并将其配套的 DLL 和 `runtimes` 目录保留在其旁边。无需 ZIP 或安装程序。开发构建需要 .NET 8 Desktop Runtime。
## 首次运行
1. 启动 `Mountainizer.App.exe`。
2. 选择 **File → Import SSX 3 ISO**。
3. 选择您合法获取的 ISO。
4. 选择父目录和项目名称。
5. 导入完成后,从赛道菜单中选择一个赛道。
Mountainizer 会创建一个可重用的本地项目缓存。源 ISO 保持只读状态,重新打开项目时会重用先前提取的文件。
## 视口控制
| 输入 | 操作 |
| --- | --- |
| 鼠标左键 | 选择可见的地形、道具或已启用的调试结构 |
| 鼠标右键拖动 | 围绕光标下方的赛道表面环绕 |
| 鼠标中键拖动 | 具备距离感知灵敏度的平移 |
| 鼠标滚轮 | 朝向光标下方的表面进行自适应缩放 |
| Ctrl + 滚轮 | 精确缩放 |
| Shift + 滚轮 | 快速缩放 |
| W/A/S/D | 向前、向左、向后和向右飞行 |
| Q/E | 向下和向上飞行 |
| Shift + 移动 | 加速飞行 |
| F | 聚焦选定项,或从隔离的道具返回赛道 |
| Escape | 清除选择 |
| 双击道具 | 隔离并聚焦该道具 |
选择 **View → Frame scene** 以聚焦整个赛道。地形和道具默认处于启用状态;使用 **View** 菜单可调整调试叠加层、线框、背面剔除和网格。
## 支持的赛道
| 山峰 1 | 山峰 2 | 山峰 3 |
| --- | --- | --- |
| Snow Jam — 竞速 (`ARA1`) | Ruthless Ridge — 竞速 (`CRA3`) | Gravitude — 竞速 (`ERA5`) |
| Metro-City — 竞速 (`ASS1`) | Intimidator — 竞速 (`DRA4`) | Kick Doubt — 坡面障碍技巧 (`ESS3`) |
| R&B — 坡面障碍技巧 (`BRA2`) | Style Mile — 坡面障碍技巧 (`DSS2`) | Much-2-Much — 大跳台 (`EBA3`) |
| Crow's Nest — 大跳台 (`ABA1`) | Launch Time — 大跳台 (`CBA2`) | Perpendiculous — U 型池 (`EHP3`) |
| Disfunktion — U型池 (`BHP1`) | Schizophrenia — U型池 (`CHP2`) | The Throne — 越野 (`EBC3`) |
| Happiness — 越野 (`ABC1`) | Ruthless — 越野 (`DBC2`) | |
49 个原始 SDB 流式传输区域也可用于技术检查。
## CLI
在开发期间使用以下命令运行 CLI:
```
dotnet run --project src/Mountainizer.Cli --
```
可用命令:
```
identify
list-files
extract-file
extract
import
list-levels
inspect [--json
Mountainizer 是一款开源、只读的 **SSX 3 (PlayStation 2) 世界查看器**,适用于 Windows 平台。它导入用户提供的 NTSC-U 光盘镜像,组装全部 17 个可玩赛道,并在交互式 OpenGL 视口中渲染其地形、道具、纹理、样条线、触发器和可见性数据。
Mountainizer 不包含任何 SSX 3 资产。它从不修改或重新打包源镜像;您必须提供自己合法获得的游戏副本。
## 当前功能
- 从 ISO9660 镜像中导入并识别 PS2 NTSC-U 版本 (`SLUS_207.72`)
- 按游戏内名称、山峰、项目类型和内部代码展示全部 17 个赛道
- 从赛道的活动、共享高山、连接器和天空流式传输区域组装每个赛道
- 渲染带纹理的地形以及解码的静态道具和模型
- 在赛道起点门附近打开,如比赛开始时一样面向下坡
- 提供基于地表锚定的环绕、自适应光标定向缩放、平移和飞行控制
- 浏览场景层级、属性、源偏移量、材质和解码后的纹理
- 将样条线、摄像机触发器和可见性幕布可视化为可选的调试几何体
- 将细分地形和解码的道具实例导出为 OBJ
- 保留不受支持的资源并报告结构化的解析诊断信息
- 包含用于识别、提取、检查、纹理转储和导出的 CLI
Mountainizer 目前的定位是检查和逆向工程。它不是关卡编辑器,无法将游戏数据写回 ISO。
## 系统要求
- Windows 10 或 Windows 11,x64
- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) 用于从源码构建
- 合法获取的 SSX 3 PS2 NTSC-U ISO,以进行经过全面测试的工作流
- 支持 OpenGL 3.3 的显卡驱动
其他光盘版本可以在尽力而为的只读模式下打开,但尚未经过全面验证。
## 下载
从[最新的 GitHub 发布页面](https://github.com/npiriou/mountainizer/releases/latest)下载 `Mountainizer.App.exe`。这是一个自包含的 Windows x64 可执行文件:无需安装程序、ZIP 压缩包或单独安装 .NET。
## 构建与运行
在仓库根目录下执行:
```
dotnet restore Mountainizer.sln
dotnet build Mountainizer.sln -c Release
dotnet run --project src/Mountainizer.App/Mountainizer.App.csproj -c Release
```
构建完成后,可执行文件位于:
```
src\Mountainizer.App\bin\Release\net8.0-windows\Mountainizer.App.exe
```
从该目录运行 EXE,并将其配套的 DLL 和 `runtimes` 目录保留在其旁边。无需 ZIP 或安装程序。开发构建需要 .NET 8 Desktop Runtime。
## 首次运行
1. 启动 `Mountainizer.App.exe`。
2. 选择 **File → Import SSX 3 ISO**。
3. 选择您合法获取的 ISO。
4. 选择父目录和项目名称。
5. 导入完成后,从赛道菜单中选择一个赛道。
Mountainizer 会创建一个可重用的本地项目缓存。源 ISO 保持只读状态,重新打开项目时会重用先前提取的文件。
## 视口控制
| 输入 | 操作 |
| --- | --- |
| 鼠标左键 | 选择可见的地形、道具或已启用的调试结构 |
| 鼠标右键拖动 | 围绕光标下方的赛道表面环绕 |
| 鼠标中键拖动 | 具备距离感知灵敏度的平移 |
| 鼠标滚轮 | 朝向光标下方的表面进行自适应缩放 |
| Ctrl + 滚轮 | 精确缩放 |
| Shift + 滚轮 | 快速缩放 |
| W/A/S/D | 向前、向左、向后和向右飞行 |
| Q/E | 向下和向上飞行 |
| Shift + 移动 | 加速飞行 |
| F | 聚焦选定项,或从隔离的道具返回赛道 |
| Escape | 清除选择 |
| 双击道具 | 隔离并聚焦该道具 |
选择 **View → Frame scene** 以聚焦整个赛道。地形和道具默认处于启用状态;使用 **View** 菜单可调整调试叠加层、线框、背面剔除和网格。
## 支持的赛道
| 山峰 1 | 山峰 2 | 山峰 3 |
| --- | --- | --- |
| Snow Jam — 竞速 (`ARA1`) | Ruthless Ridge — 竞速 (`CRA3`) | Gravitude — 竞速 (`ERA5`) |
| Metro-City — 竞速 (`ASS1`) | Intimidator — 竞速 (`DRA4`) | Kick Doubt — 坡面障碍技巧 (`ESS3`) |
| R&B — 坡面障碍技巧 (`BRA2`) | Style Mile — 坡面障碍技巧 (`DSS2`) | Much-2-Much — 大跳台 (`EBA3`) |
| Crow's Nest — 大跳台 (`ABA1`) | Launch Time — 大跳台 (`CBA2`) | Perpendiculous — U 型池 (`EHP3`) |
| Disfunktion — U型池 (`BHP1`) | Schizophrenia — U型池 (`CHP2`) | The Throne — 越野 (`EBC3`) |
| Happiness — 越野 (`ABC1`) | Ruthless — 越野 (`DBC2`) | |
49 个原始 SDB 流式传输区域也可用于技术检查。
## CLI
在开发期间使用以下命令运行 CLI:
```
dotnet run --project src/Mountainizer.Cli -- 标签:3D渲染, .NET 8, OpenGL, PS2, 云资产清单, 游戏工具, 资源提取, 逆向工程