REFramework 项目分析报告
项目地址 : https://github.com/praydog/REFramework
分析日期 : 2026-05-07
报告版本: v1.0
一、项目概览
| 项目属性 | 详情 |
|---|---|
| 项目名称 | REFramework |
| 作者 | praydog (GitHub ID: 2909949) |
| 项目定位 | RE Engine 游戏的 Mod 加载器、脚本平台与 VR 支持框架 |
| 开源协议 | MIT License |
| 创建时间 | 2019-01-31 |
| 最后更新 | 2026-04-26(最新 commit) |
| 主语言 | C++(占 94.3%) |
| 仓库大小 | ~53 MB |
| 默认分支 | master |
| 官方网站 | https://reframework.praydog.com/ |
REFramework 是一个面向 Capcom RE Engine 引擎游戏的综合性修改框架,集成了 Mod 加载、Lua 脚本系统和通用 6DOF VR 支持三大核心能力。灵感来源于 Kanan 项目。
二、社区数据
| 指标 | 数值 |
|---|---|
| ⭐ Stars | 5,061 |
| 🍴 Forks | 544 |
| 👀 Watchers | 91 |
| 🐛 Open Issues | 623 |
| 📦 最新版本 | v1.5.9.1 (2025-03-05) |
| 🔧 Contributors | 10+ |
贡献者排名
| 排名 | 用户 | 贡献次数 | 角色 |
|---|---|---|---|
| 1 | praydog | 1,980 | 项目创始人 & 核心维护者 |
| 2 | cursey | 138 | VR 组件 & 脚本系统联合开发 |
| 3 | hcdd0304 | 16 | 贡献者 |
| 4 | Strackeror | --- | 贡献者 |
致谢名单(README 中提及)
- SkacikPL --- 手电筒 Mod 原作者
- cursey --- VR 组件 & 脚本系统联合开发
- The Hitchhiker & alphaZomega --- 压力测试、脚本创建、建议贡献
三、技术栈与语言分布
| 语言 | 字节数 | 占比 |
|---|---|---|
| C++ | 41,888,285 | 94.30% |
| C | 589,695 | 1.33% |
| C# | 412,977 | 0.93% |
| Lua | 192,038 | 0.43% |
| Python | 118,113 | 0.27% |
| CMake | 109,554 | 0.25% |
| JavaScript | 56,078 | 0.13% |
| CSS | 14,519 | 0.03% |
| HTML | 4,291 | 0.01% |
| Batchfile | 2,593 | 0.01% |
分析:
- 核心代码以 C++ 为主(绝对主导),符合游戏引擎级别的性能需求
- Lua 作为脚本语言,为 Mod 作者提供低门槛的扩展能力
- C# 可能用于编辑器工具或部分辅助组件
- Python 用于构建/CI 工具脚本
- CMake 作为构建系统,支持多目标编译
四、项目结构
REFramework/
├── .clang-format # 代码格式化配置
├── .clang-tidy # 静态分析配置
├── .github/
│ ├── ISSUE_TEMPLATE/ # Bug 报告 & 功能请求模板
│ └── workflows/
│ ├── build-pr.yml # PR 构建 CI
│ └── dev-release.yml # 开发版自动发布
├── CMakeLists.txt # 主构建文件 (67KB,多目标)
├── CMakePresets.json # CMake 预设
├── COMPILING.md # 编译指南
├── LICENSE # MIT 协议
├── README.md # 项目说明
├── dev/ # 开发/CI 工具脚本
├── src/ # 源代码目录
│ ├── D3D11Hook.cpp/hpp # DirectX 11 Hook
│ ├── D3D12Hook.cpp/hpp # DirectX 12 Hook
│ └── ... # 核心框架代码
├── shared/ # 共享库
├── scripts/ # Lua 脚本示例
├── games/ # 各游戏适配模块
│ ├── re2/ # 生化危机 2
│ ├── re3/ # 生化危机 3
│ ├── re4/ # 生化危机 4
│ ├── re7/ # 生化危机 7
│ ├── re8/ # 生化危机 8
│ ├── dmc5/ # 鬼泣 5
│ ├── sf6/ # 街霸 6
│ ├── mhrise/ # 怪物猎人:崛起
│ ├── mhwilds/ # 怪物猎人:荒野
│ └── dd2/ # 龙之信条 2
└── imgui/ # ImGui 调试界面
五、核心功能模块
5.1 Mod 加载系统
- DLL 注入方式加载(dinput8.dll)
- 支持运行时热加载/卸载 Mod
- 对游戏内存的实时修改能力
5.2 Lua 脚本 API & 插件系统
- 完整的 Lua 绑定,覆盖游戏对象、内存、输入等
- 支持所有已适配游戏
- 有完善的文档 Wiki: https://cursey.github.io/reframework-book/
- 社区已有大量 Lua 脚本生态
5.3 VR 支持(通用 6DOF)
- 通用 6DOF VR:所有 RE Engine 游戏均可通过 SteamVR 或 OpenXR 启用 VR 模式
- 运动控制器支持:RE2/RE3/RE7/RE8
- 第一人称视角:RE2, RE3
- 手动手电筒:RE2, RE3, RE8
- 需安装 SteamVR 或使用 OpenXR 头显
5.4 通用游戏工具
| 工具 | 说明 | 适用范围 |
|---|---|---|
| Free Camera | 自由视角相机 | 所有游戏 |
| Scene Timescale | 场景时间缩放 | 所有游戏 |
| FOV Slider | 视场角调节 | 所有游戏 |
| Vignette Disabler | 禁用暗角效果 | 所有游戏 |
| Ultrawide Fix | 超宽屏/比例修复 | 所有游戏 |
| GUI Hider | 隐藏/禁用 UI | 所有游戏 |
| Game Objects Display | 游戏对象显示 | 调试用 |
| Object Explorer | 对象浏览器 | 调试用 |
5.5 已修复的游戏问题
- RE8 启动崩溃
- RE8 卡顿(击杀敌人、受伤等触发)
- MHRise/RE8 第三方 DLL 导致的崩溃
六、支持的游戏列表
完全支持(有专用构建)
| 游戏 | 英文名 | 引擎 |
|---|---|---|
| 生化危机 2 重制版 | Resident Evil 2 | RE Engine |
| 生化危机 3 重制版 | Resident Evil 3 | RE Engine |
| 生化危机 4 重制版 | Resident Evil 4 | RE Engine |
| 生化危机 7 | Resident Evil 7 | RE Engine |
| 生化危机:村庄 | Resident Evil Village (RE8) | RE Engine |
| 生化危机:安魂曲 | Resident Evil Requiem (RE9) | RE Engine |
| 鬼泣 5 | Devil May Cry 5 | RE Engine |
| 街头霸王 6 | Street Fighter 6 | RE Engine |
| 怪物猎人:崛起 | Monster Hunter Rise | RE Engine |
| 怪物猎人:荒野 | Monster Hunter Wilds | RE Engine |
| 怪物猎人物语 3 | Monster Hunter Stories 3 | RE Engine |
| 龙之信条 2 | Dragon's Dogma 2 | RE Engine |
通过复用构建支持
| 游戏 | 复用构建 |
|---|---|
| Ghosts 'n Goblins Resurrection | RE8 构建 |
| Apollo Justice: Ace Attorney Trilogy | DD2 构建 |
| Kunitsu-Gami: Path of the Goddess | DD2 构建 |
| Onimusha 2: Samurai's Destiny | MHWILDS 构建 |
七、构建系统
编译环境要求
- 编译器:C++23 兼容(推荐 Visual Studio 2022 / MSVC)
- 构建工具:CMake
- 平台:Windows x64
- 图形 API:同时支持 DirectX 11 和 DirectX 12
编译方式
命令行方式:
bash
git clone https://github.com/praydog/REFramework
git submodule update --init --recursive
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --config Release
单目标编译(如只编译 RE2):
bash
cmake --build ./build --config Release --target RE2
VSCode 方式:通过 CMake Tools 扩展,选择 VS2022 Kit 即可。
CI/CD
- GitHub Actions 自动构建 PR
- 开发版自动发布到 Nightly Builds
八、发布历史(近期)
| 版本 | 发布日期 | 主要内容 |
|---|---|---|
| v1.5.9.1 | 2025-03-05 | 最新稳定版,包含 DD2/DMC5/MHRISE 等多游戏构建 |
| Nightly | 持续更新 | 开发版,包含最新修复(如 RE9 崩溃修复) |
最新提交记录(2026年4月)
| 日期 | 提交信息 |
|---|---|
| 2026-04-26 | LooseTextureLoader: Fix RE9 crash --- 修复 RE9 松散纹理加载崩溃 |
| 2026-04-25 | cleanup: remove AI slop docs and move scripts to dev/ --- 清理文档,移动构建脚本到 dev/ |
v1.5.9.1 下载统计(部分资产)
| 构建 | 文件大小 | 下载次数 |
|---|---|---|
| DD2.zip | 5.28 MB | 25,599 |
| DMC5.zip | 5.24 MB | 20,474 |
| MHRISE.zip | 5.28 MB | 18,919 |
九、技术架构分析
9.1 核心架构
┌─────────────────────────────────────────────┐
│ REFramework DLL │
│ ┌───────────┐ ┌───────────┐ ┌──────────┐│
│ │ D3D11 Hook│ │ D3D12 Hook│ │ 游戏 Hook ││
│ └─────┬─────┘ └─────┬─────┘ └────┬─────┘│
│ └──────────┬───┘ │ │
│ ┌──────▼──────┐ │ │
│ │ 核心框架 │◄─────────┘ │
│ │ (C++23) │ │
│ └──────┬──────┘ │
│ ┌──────────┼──────────┐ │
│ ┌─────▼────┐ ┌───▼───┐ ┌───▼────────┐ │
│ │ Lua 引擎 │ │VR 模块│ │ Mod 加载器 │ │
│ │ (脚本API)│ │(6DOF) │ │ (DLL注入) │ │
│ └──────────┘ └───────┘ └────────────┘ │
│ ┌──────────┐ │
│ │ ImGui │ (调试 UI) │
│ └──────────┘ │
└─────────────────────────────────────────────┘
9.2 关键技术点
- DLL 注入:通过 dinput8.dll 代理方式注入游戏进程,对用户透明
- DirectX Hook:分别实现 D3D11 和 D3D12 的渲染管线 Hook,用于 VR 合成和 UI 叠加
- 内存扫描与对象系统:运行时解析 RE Engine 的类型系统和游戏对象,实现动态访问
- Lua 绑定:将 C++ 对象系统完整暴露给 Lua,支持脚本化修改游戏行为
- VR 合成:在渲染管线中拦截帧输出,通过 SteamVR/OpenXR 合成为立体 VR 画面
- 多游戏适配:通过 CMake 多目标构建,为每款游戏生成专用 DLL
9.3 代码质量保障
.clang-format--- 统一代码风格.clang-tidy--- 静态代码分析(2.4KB 规则集,较完善)- GitHub Issue Templates --- 结构化 Bug 报告 & 功能请求
- CI 自动构建 --- PR 提交自动验证编译
十、生态与社区
10.1 Mod 生态
- Nexus Mods 上有大量基于 REFramework 的 Mod
- 社区维护了丰富的 Lua 脚本库
- 与 REFramework-book 文档项目配合
10.2 关联项目
| 项目 | 说明 |
|---|---|
| REFramework-nightly | 每日构建版 |
| Kanan | 灵感来源项目 |
| REFramework-book | Lua API 文档 |
10.3 Tags/主题
cmkr cpp dmc5 freecam lua modding mods monster-hunter-rise monster-hunter-wilds re-engine re2 re3 re4 re7 re8 re9 scripting sf6 virtual-reality vr
十一、总结与评价
优势
- 覆盖面广:支持几乎所有主流 RE Engine 游戏,包括最新的 MH Wilds 和 RE9
- 功能全面:Mod 加载 + Lua 脚本 + VR 支持三位一体
- 社区活跃:5000+ Stars,持续维护 7 年,最新提交距今仅 11 天
- 文档完善:有独立的 Lua API 文档站点和 Wiki
- 代码规范:使用 clang-format/tidy,有 CI 流水线
- MIT 协议:对商业和非商业用途均友好
不足
- Open Issues 较多(623个),可能存在积压问题
- 贡献者集中度过高:praydog 一人贡献 1,980 次(占 93%+),Bus Factor 风险
- 仅支持 Windows:无 Linux/macOS 原生支持(虽然可通过 Wine 运行)
- VR 功能游戏间差异大:运动控制器仅支持 4 款游戏
适用场景
- 🎮 想为 RE Engine 游戏安装 Mod 的玩家
- 🥽 想在 VR 中体验生化危机/鬼泣/怪猎的 VR 爱好者
- 🔧 想通过 Lua 脚本深度修改游戏行为的 Mod 开发者
- 📸 想使用自由相机拍摄游戏画面的摄影师
报告生成于 2026-05-07 03:55 CST,数据来源:GitHub API