REFrame

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 & 插件系统

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 关键技术点

  1. DLL 注入:通过 dinput8.dll 代理方式注入游戏进程,对用户透明
  2. DirectX Hook:分别实现 D3D11 和 D3D12 的渲染管线 Hook,用于 VR 合成和 UI 叠加
  3. 内存扫描与对象系统:运行时解析 RE Engine 的类型系统和游戏对象,实现动态访问
  4. Lua 绑定:将 C++ 对象系统完整暴露给 Lua,支持脚本化修改游戏行为
  5. VR 合成:在渲染管线中拦截帧输出,通过 SteamVR/OpenXR 合成为立体 VR 画面
  6. 多游戏适配:通过 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


十一、总结与评价

优势

  1. 覆盖面广:支持几乎所有主流 RE Engine 游戏,包括最新的 MH Wilds 和 RE9
  2. 功能全面:Mod 加载 + Lua 脚本 + VR 支持三位一体
  3. 社区活跃:5000+ Stars,持续维护 7 年,最新提交距今仅 11 天
  4. 文档完善:有独立的 Lua API 文档站点和 Wiki
  5. 代码规范:使用 clang-format/tidy,有 CI 流水线
  6. MIT 协议:对商业和非商业用途均友好

不足

  1. Open Issues 较多(623个),可能存在积压问题
  2. 贡献者集中度过高:praydog 一人贡献 1,980 次(占 93%+),Bus Factor 风险
  3. 仅支持 Windows:无 Linux/macOS 原生支持(虽然可通过 Wine 运行)
  4. VR 功能游戏间差异大:运动控制器仅支持 4 款游戏

适用场景

  • 🎮 想为 RE Engine 游戏安装 Mod 的玩家
  • 🥽 想在 VR 中体验生化危机/鬼泣/怪猎的 VR 爱好者
  • 🔧 想通过 Lua 脚本深度修改游戏行为的 Mod 开发者
  • 📸 想使用自由相机拍摄游戏画面的摄影师

报告生成于 2026-05-07 03:55 CST,数据来源:GitHub API

相关推荐
我不是懒洋洋3 天前
【C++】string(string的成员变量、auto和范围for、string常用接口的说明、OJ题目、string的模拟实现)
c语言·开发语言·c++·visual studio
C++ 老炮儿的技术栈4 天前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
A.零点4 天前
【2个月 C 语言从入门到精通:零基础系统教程】第十二讲:深入了解指针(五)
c语言·开发语言·网络·笔记·visual studio
彷徨而立4 天前
【VS2026】介绍 Visual Studio 几个重要配置项
visual studio
AndyHuang19764 天前
【避坑指南】Visual Studio 插件报错 “Windows Terminal (wt.exe) was not found in PATH“ 完美解决
ide·windows·visual studio
彷徨而立4 天前
【Visual Studio】msbuild 使用举例
ide·visual studio
blueman88885 天前
VS2022 切换定义(F12 / Go to Definition)反应慢
c++·visual studio
周杰伦fans5 天前
记一次 Visual Studio 突然报错“未能加载 Microsoft.Internal.VisualStudio.Interop”的奇葩经历
microsoft·log4j·visual studio
x138702859576 天前
c语言中srtlen(指针使用计算字符长度)、传值和传址调用
c语言·开发语言·算法·visual studio
robot_???7 天前
Visual studio2022:找不到指定的SDK“Microsoft.NET.Sdk”
microsoft·.net·visual studio