REFramework开发环境搭建:程序员指南
你是否在为RE引擎游戏开发mod时遇到环境配置难题?本文将帮助你从零开始搭建REFramework开发环境,掌握编译、调试和插件开发全流程,让你轻松进入游戏mod开发世界。读完本文,你将能够:配置完整开发环境、编译REFramework核心模块、开发基础插件、调试Lua脚本。
准备工作
系统要求
REFramework开发需要Windows系统,推荐使用Windows 10或11 64位版本。开发工具方面,必须安装Visual Studio 2022(社区版即可)和CMake 3.20以上版本。
安装依赖
- Visual Studio 2022:确保勾选"使用C++的桌面开发"工作负载,包含MSVC编译器和Windows SDK
- CMake:从CMake官网下载最新版本并添加到系统PATH
获取源代码
克隆仓库
使用Git命令克隆REFramework仓库到本地:
git clone https://gitcode.com/GitHub_Trending/re/REFramework
cd REFramework
初始化子模块
仓库包含多个子模块依赖,需要执行以下命令初始化:
git submodule update --init --recursive
此步骤会下载ImGui、Lua、nlohmann/json等核心依赖库,位于dependencies/目录下。
编译项目
使用批处理脚本(推荐)
项目根目录提供了预配置的编译脚本,适合快速上手:
build_vs2022.bat
脚本会自动生成Visual Studio解决方案并编译所有目标,输出文件位于build目录。
手动编译(进阶)
如果需要自定义编译选项,可以使用CMake手动配置:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --config Release
如需仅编译特定游戏的模块(如RE2),可指定目标:
cmake --build ./build --config Release --target RE2
VSCode开发环境
对于习惯VSCode的开发者,可通过以下步骤配置:
- 安装CMake Tools扩展
- 打开REFramework文件夹,按
Ctrl+Shift+P选择"CMake: Configure" - 选择"Visual Studio Community 2022 Release - amd64"工具集
- 选择"Release"配置,按
F7开始编译
目录结构解析
REFramework采用模块化设计,主要目录结构如下:
REFramework/
├── dependencies/ # 第三方依赖库
├── examples/ # 示例插件代码
├── include/ # 公共头文件
├── scripts/ # Lua脚本示例
├── shared/ # 共享库代码
└── src/ # 核心源代码
其中,src/mods/目录包含官方插件实现,如FreeCam、FirstPerson等功能模块;examples/example_plugin/提供了插件开发模板,适合初学者参考。
开发第一个插件
插件结构
以example_plugin为模板创建新插件,基本结构如下:
my_plugin/
├── Plugin.cpp # 插件入口和核心逻辑
├── Plugin.hpp # 头文件定义
└── CMakeLists.txt # 编译配置
核心代码示例
Plugin.cpp基本框架:
#include "reframework/API.hpp"
void on_frame() {
// 每帧执行的逻辑
}
extern "C" __declspec(dllexport) void InitializeREFramework(REFramework::API::REFrameworkAPI* api) {
api->RegisterOnFrame(on_frame);
api->LogInfo("My Plugin initialized!");
}
编译插件
修改项目根目录的CMakeLists.txt,添加插件编译配置,然后使用之前介绍的编译方法进行构建。
调试与测试
调试环境配置
- 在Visual Studio中打开生成的REFramework.sln解决方案
- 设置插件项目为启动项目
- 配置调试目标:右键项目→属性→调试→命令,设置为游戏可执行文件路径
- 添加命令参数指定REFramework路径:
-reframework:path="你的REFramework目录"
Lua脚本调试
REFramework提供强大的Lua脚本支持,脚本文件位于scripts/目录。可以使用scripts/utility/中的辅助模块简化开发,例如操作游戏对象:
local GameObject = require("utility.GameObject")
local player = GameObject.find("player")
if player then
player:set_position({x=0, y=0, z=0})
end
高级开发
图形界面开发
REFramework集成了ImGui和ImGuizmo库,可用于创建调试界面。ImGuizmo提供了节点编辑器功能,适合创建复杂的交互界面:
相关代码位于dependencies/imguizmo/目录,包含GraphEditor和ImSequencer等组件。
VR功能开发
VR模块是REFramework的重要特性,相关实现位于src/mods/VR/目录。开发VR插件需要熟悉OpenVR SDK,可参考re2_vr_crosshair.lua等示例脚本。
参考资源
官方文档
- 编译指南:COMPILING.md
- API参考:include/reframework/API.hpp
示例代码
- 插件示例:examples/example_plugin/
- Lua脚本:scripts/
- VR模块:src/mods/VR/
社区支持
- GitHub Issues:提交bug报告和功能请求
- Discord社区:与其他开发者交流经验
- Reddit相关板块:分享你的mod作品
现在,你已经掌握了REFramework开发环境的搭建方法和基础开发流程。开始你的mod开发之旅吧!如果遇到问题,可以查阅官方文档或加入社区寻求帮助。祝你开发顺利!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




