ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

三步接管 RE 引擎游戏:REFramework 游戏内菜单、Lua 脚本与 C++ 插件一次讲透

三步接管 RE 引擎游戏:REFramework 游戏内菜单、Lua 脚本与 C++ 插件一次讲透 三步接管 RE 引擎游戏REFramework 游戏内菜单、Lua 脚本与 C 插件一次讲透【免费下载链接】REFrameworkMod loader, scripting platform, and VR support for all RE Engine games项目地址: https://gitcode.com/GitHub_Trending/re/REFramework想改游戏却不想动游戏本体的任何一个文件REFramework 就是为此而生的 RE 引擎游戏 mod 框架覆盖《生化危机》系列、《鬼泣 5》《街霸 6》《怪物猎人》等——往游戏目录放一个 dinput8.dll进游戏按 Insert 键游戏内菜单随即弹出能跑 Lua 脚本、加载 C 插件还能接入 VR。先让框架进游戏dinput8.dll 放置位置与 Insert 菜单验证 框架本体是一个伪装成 DirectInput 输入库的dinput8.dll游戏加载它时渲染钩子就被接管DirectX 11 和 12 都支持。从官方 Releases 页拿稳定版 zip追求新特性可以选 Nightly 开发版。放置规则分两种情况非 VR 用户只解压出dinput8.dll放进游戏根目录和游戏主.exe同级VR 用户先装 SteamVROpenXR 头显除外再把整个 zip 包解压到游戏目录Linux 玩家则在 Steam 游戏属性的启动选项里加这一行进游戏后效果相同WINEDLLOVERRIDESdinput8.dlln,b %command%验收标准游戏正常进入后按 Insert 键默认菜单键菜单里可改弹出一个覆盖式窗口里面分区块列出 Script Runner、各内置 mod 和 VR 设置——菜单窗口出现就说明注入成功。框架支持《生化危机 2/3/4/7/Village/Requiem》《鬼泣 5》《街霸 6》《怪物猎人 Rise/Wilds/Stories 3》《龙之信条 2》《死亡之岛豪华重制版》《鬼武者》等 RE 引擎作品。窗口里装好的功能开箱即用Free Camera、FOV 滑块、时间缩放、暗角关闭、超宽屏修复、GUI 隐藏全游戏通用First PersonRE2/RE3、Manual FlashlightRE2/RE3/RE8开发者模式另带 Game Objects Display 和 Object Explorer 两个看场景对象的小工具。从菜单到第一段 Lua写出第一个 REFramework Lua 脚本 打开菜单里的 Script Runner 区块三个按钮各管一摊Run script弹文件选择框选中.lua立即执行Reset scripts卸载全部已加载脚本Spawn Debug Console弹出调试控制台可勾选开机自动打开。注意框架要等日志打出 Scene and scene manager found. Loading scripts... 之后才开始真正加载脚本。在游戏目录新建my_first.lua写入下面内容用Run script加载local get_go sdk.find_type_definition(via.Component):get_method(get_GameObject) re.on_frame(function() local cam sdk.get_primary_camera() if cam then print(主相机: .. tostring(get_go(cam))) end end)sdk是操作游戏托管对象的统一入口find_type_definition(类型全名)拿到类型:get_method(方法名)拿到方法再:call调用sdk.get_primary_camera这类是常用快捷方式。方法指针get_method的返回值在脚本顶部取一次存起来别在每帧里重复查找。验收标准调试控制台里稳定刷出相机对应的 GameObject 信息说明re.on_frame回调已经挂上。想直接拿玩家对象用仓库自带的 scripts/utility/ 工具库require(utility/RE2)一步拿到玩家前提是把整个 scripts/ 目录放进游戏目录完整类型 → 方法 → 对象链路可对照 scripts/re2_smooth_movement.lua 读一遍。面板里的 Known scripts 复选框还能单独开关某个脚本。编译并投放第一个 C 插件REFramework 插件开发流程 准备一个 C23 编译器推荐 Visual Studio 2022和 CMake然后取源码git clone https://gitcode.com/GitHub_Trending/re/REFramework git submodule update --init --recursive接着两条路任选跑仓库根目录的build_vs2022.bat构建全部游戏目标或者在 cmake --build 命令后加--target RE2只构建一个游戏省掉全量编译的时间。examples/example_plugin/ 是最完整的参照物重点读三处导出函数reframework_plugin_required_version声明插件版本和适配的游戏名reframework_plugin_initialize注册各生命周期回调以及 D3D11/D3D12 双后端初始化和用create_script_state创建独立 Lua state 沙箱的写法。通读一遍胜过翻文档。投放走自动加载机制游戏启动时框架会扫描持久目录下的reframework/plugins/并加载里面每个.dll文件名就是插件名。流程固定为编译出 DLL → 放进reframework/plugins/→ 重启游戏。一个 DLL 就是一个完整插件分享给别人只需把文件发过去。验收标准日志里没有[Plugin] error菜单的插件列表里能看到你这个文件名。踩坑前先读这里脚本报错怎么查与三个高频坑⚠️ 排查入口就两个。Script Runner 面板常驻一块红字区显示 Last Script Error 和报错距现在多少秒再勾上Log Lua Errors to Disk所有 Lua 错误会同步落到磁盘日志配合调试控制台可以实时定位。三个高频坑先记住再动手在线对局下脚本会被整体卸载面板会明确提示scripts have been unloaded——这是设计行为单机模式才生效DLL 放错位置dinput8.dll必须和游戏主程序同级VR 用户只放了单文件却期望 VR 功能就会看起来没生效os 库被沙箱裁剪os.remove/execute/getenv等已被禁用脚本里删文件、读写文件请改用fs绑定内存方面面板里的 Garbage Collection Stats 显示当前 MB 占用下方是 GC Handler / Mode / Budget 参数每帧由框架统一回收。经验法则re.on_frame回调里只做增量计算重活挪出去。验收标准Stats 数值稳定不再上涨说明回收节奏已调好。从自用到分发打包作品与查文档的去处 C 插件的成品就是一个 DLL有资源文件就一并附上Lua 脚本就是一个.lua依赖工具库的话把 scripts/utility/ 一起带走。分发说明一句话就够放入reframework/plugins/或游戏目录重启游戏。资料按用途各查各的Lua API 的第一手资料是官方 WikirefdocsC 插件 API 的准确定义看仓库里的 include/reframework/ 头文件各游戏的 Lua 实战脚本在 scripts/按re2_xxx、re4_xxx命名区分C 插件骨架看 examples/example_plugin/。读完后做三件观察任务 每个任务只动一处观察一处变化把 scripts/re2_smooth_movement.lua 顶部的alpha平滑系数从 0.05 改成 0.5加载后走动几步体会移动跟手程度的差别再用Reset scripts卸载对比一次在脚本里故意调一个不存在的方法打开Log Lua Errors to Disk核对面板红字与磁盘日志是否对得上确认自己已经会读报错编译 examples/example_plugin/ 的示例把 DLL 随意改个名丢进reframework/plugins/观察菜单插件列表里显示的名字是否随文件名一起变——变了说明你已经理解文件名即插件名【免费下载链接】REFrameworkMod loader, scripting platform, and VR support for all RE Engine games项目地址: https://gitcode.com/GitHub_Trending/re/REFramework创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表