模块学习

「当模块化遇见人性化,效率与灵感从此共生。」

在右侧导航栏可快速步进到教程指定位置

「X.R.M 的模块化架构,如同乐高宇宙的基石 ——开发者可重构规则,玩家可定制体验,这里是工具的未来,也是开源生态的起点」

🌸 主题系统

🫐 个性化

主题设置入口 1 - 1

通过主题系统,用户可以自定义界面的视觉风格,以符合个人偏好或工作环境的要求。要更改主题,请导航至标题栏位置,然后选择“主题”选项。1-1

主题设置窗口 1 - 2

在主题窗口,您可以浏览可用选项并实时预览更改。完成后,点击“×”按钮以保存界面外观。1-2

自定义背景可使用静态图片格式 (如*.PNG,*.JPG,*.BMP) 或 动态图片格式 (*.GIF) 1-3 实体图像图层、颜色覆盖层、高斯模糊层、之间存在层级关系 1-2

实体图像图层 = 255 时,颜色覆盖层ARGB禁用 1-3 实体图像图层 = 0 时,颜色覆盖层ARGB独占 1-3 实体图像图层 >0 且 < 255 时,颜色覆盖层ARGB与实体图像混合 1-2

高斯模糊层位于顶层 1-2

仅当实体图像图层非255状态,颜色覆盖层的透明通道才会生效 1-2

在设计程序界面时,合理应用实体图像层、颜色覆盖层和高斯模糊层之间的关系,可以增强视觉效果。 1-2

🌸 一键启动

🫐 画质插件

🫐 XFIRM FOR XRM (Nvidia)

控制台模式菜单会生成一个按钮,在控制台刷新时为镂空状态

来自XRM的附属内存&显存压制器,用于临时释放全部显存或压制内存占用 使用XRM时此插件会被内置到 BepinEX 控制台窗口(需开启控制台),也可独立使用

显存释放 3 - 1

如图所示黄色折线为显存释放操作,游戏进程被挂起(不中断且不可操作),游戏对GPU的核心负载被100%释放 3-1

内存压制 3 - 2

如图所示绿色柱体为内存压制操作,游戏内存被释放 3 - 2

🫐 分辨率设置

一键启动 1 - 1

当您尝试更改游戏分辨率时会在屏幕左上角弹出一个模拟窗口提供视觉参考 1-1

此窗口标记了您的屏幕最大分辨率以及设置的游戏窗口分辨率

蓝色矩形模拟游戏窗口大小 橙色矩形模拟屏幕大小

此窗口会在选择项目动作后1秒内自动关闭

🫐 游戏冻结

游戏冻结 1 - 2

冻结后显卡占用为0,恢复后游戏不中断,图示为从XRM分离的独立版本,XRM功能开关位于全屏开关上方

🌸 卡片管理

卡片管理 2 - 1

卡片管理适用于 i 社游戏的 人物卡类型场景卡类型 界面分为主要的4部分 2-1

① 目录树:目录树可展示人物卡目录/场景卡目录 层级结构,如图 2-2 ,双击时④卡片浏览器作出反应 ② 功能区:此处功能区针对①目录树 ③ 卡片浏览器:目录树双击项目时对此项目内包含的*单层全部卡片进行展示,同时解析其角色名(角色卡) ④ 功能区:此处功能区针对③卡片浏览器

卡片管理 2 - 2

卡片浏览器识别到非人物卡格式的文件时会标记为红色“卡片格式错误

🫐 卡片数据展示器

鼠标移动到卡片浏览器-人物卡表项时自动展示现行悬浮项的性别、好感度、享受度、依赖度、奴隶度、厌恶度、崩坏度、性格、特质、心理、性爱、生日等数据

🫐 关联浏览

关联浏览 2 - 2 - 1

当您选中一张卡片浏览器内的某个角色后,点击即可展示与此卡片关联的ModID 2-2-1

关联浏览仅针对单张卡片并提供两个功能 复制全部内容:略 在模组管理中定位:双击列表项目/选中后点击此按钮 跳转到模组管理功能此Mod位置

关联浏览 2 - 2 - 2

如图2-2-2,您可以继续双击其他卡片关联项目,定位此Mod,并在模组管理对其进行后续操作 需要注意:关联浏览窗口被关闭时会自动返回卡片管理页面 2-2-2

🫐 打包提纯

打包提纯 2 - 2 - 3

当您选中一张卡片浏览器内的某个角色后,点击即可对此卡片进行打包提纯 2-2-3

打包提纯功能会整理此卡片相关Mod和Unity3D文件并提取,自动检查Mod内Unity3D文件是否存在 支持输出为文件夹或者压缩包,支持各种压缩算法等 请使用7z或文件夹方式输出

🫐 打包提纯 (批量)

打包提纯 (批量) 2 - 2 - 3

此功能可批量处理大量卡片:同时支持人物卡、服装卡、场景地图卡 适用于需要将大量卡片及所需Mod&Unity3D文件在整合包中分离的需求 ▶ 提纯范围:可设置 全部女生、全部男生、全部女装、全部男装、全部场景、自定义值 若您设置自定义值,则其他五项自动取消,另外,自定义值会始终出现在提纯范围内,直到您重启XRM 若您不设置自定义值,则可自由选择另外五项

▶ 提纯方法: 复制模式:找到所需文件时复制到保存目录 移动模式:找到所需文件时剪切到保存目录 保留原有目录结构:提取的文件完全按照原本的路径存放 使用合并目录结构:提取的文件按照类型全部放在同目录 Abdata+Mods Mods Abdata:提纯目标 需要注意的是,由于XRM测试版严格遵循“修改仅针对副本,原档零触碰”的设计规范,所以请使用复制模式+保留原有目录结构

▶ 保存位置:提取出的文件存放位置,请确保空间充裕 在后续加入对新整合包哈希表检测后可直接选择新整合包根目录作为保存目录来实现整合包快速0重复迁移

🫐 缺失查询 (批量)

缺失查询 2 - 2 - 4

批量查询角色卡的Mod缺失,输出ModID&作者(如果有) 可选扫描位置:当前卡片浏览器全部项目、全部女生、全部男生、全部角色 2-2-4 暂不支持补全操作

🫐 文件定位

🫐 封面替换

替换卡片封面,默认保存至桌面,原卡片不更改

🌸 模组管理

模组管理 3 - 1

模组管理的数据库很重要,X.R.M的许多功能依赖于此 3-1

模组管理适用于 i 社游戏*.zipmod,使用此功能需要您点击右下角创建/更新数据库 数据库文件不可手动修改,否则失效

数据库创建使用线程池操作 线程池默认1线程 有关线程配置 I/O密集型建议: CPU核数 * (1 + (I/O耗时 / CPU耗时)) 计算密集型建议: CPU核数 + 1 一般保持默认

🫐 模组数据指示器

🫐 模组禁用

模组管理 3 - 2

使用此功能将禁用/启用对应模组,禁用后游戏不会再加载此Mod,更新数据库不会受到影响 3-2

🫐 查看多预览图

模组管理 3 - 3

查看包含多张预览图的模组,窗口显示名称为图片名 3-3

🫐 预览模型

应用场景
模组管理 3 - 4

点击“使用Unity3DViewer预览模型” 3-4 在弹窗进行配置,同游戏

请勾选Windowed 选项使Unity3DViewer窗口化显示,以便于在XRM快捷切换不同MOD的预览

模组管理 3 - 5

模型视角或缩放与游戏一致 3-5

🫐 数据检索

模组管理 3 - 6

🫐 高级模组查重

Q:模组查重会删除我的模组吗? A:不会。模组查重只会将重复结果标记为禁用,但是不会删除您的任何文件。

Q:标记禁用是什么意思? A:标记禁用的模组启动游戏时不会被载入,您可以利用这个特性来检查您的处理结果是否准确无误。当您确认无误后,再点击删除禁用的模组即可彻底删除。

Q:NULL空值处理选项是什么意思? A:在标准数据库处理中,空值不参与运算,然而并不是所有MOD作者都会认真填写 XML_GUID、XML_NAME、XML_AUTHOR 等字段。这会导致数据表产生许多空值。启用此选项可以让此类模组参与正确处理。建议启用。

Q:组别染色什么意思呢? A:组别染色会将不同重复组标记不同颜色背景,按照 粉色-白色-粉色-白色……交替。视觉上可能仅此而已,但启用此选项后程序内部会计算重复组数、每组内重复项数、每组头部成员起始索引等大量数据并写入数组内。用于选择助手等后续数据处理。

Q:查询操作的处理时间是多少? A:性能验证基于官方标准测试数据(约 1 万条),实测处理时间低于 0.7 秒,结果仅用于性能评估,不代表实际业务负载。

Q:选择助手是什么? A:在查询处理结束后根据您的整合包模组重复率可能产生高达几百组重复项。如果手动选择保留和禁用项显然是非常耗时的。为此我们开发了选择助手,可以根据算法自动为每组保留合适的结果。

Q:每组除了一份MOD之外其他所有是什么意思? A:根据玫红色标识线您可以发现,一份MOD是您的保留项,指向保留条件;其他所有为禁用项,指向了禁用状态的开关按钮。

Q:这个开关按钮我可以点他吗? A:在保留条件功能未开发之前,这个开关是可以作为反选项处理任务结果的。不过,现在可以在任意条件下撤销本次操作了,这个按钮失去了作用,仅用于代码分支判断,您不可以点击他。

Q:保留条件我不选会发生什么? A:如果保留条件全部为“NONE”,那么执行后每组默认保留索引0,也就是保留每组中的第一个,其他禁用。

Q:保留条件的具体算法是什么? A:保留条件一共可以设置三个。您可以一起设置,比如 每组中最大的文件、每组中路径最短的文件、每组中时间最新的文件

● 多个筛选条件不能同时被满足,所以三个组合框选择的筛选条件只能设定优先级而不是 4 2 2 排列组合出16种筛选方案 ● 比如一个重复组有两个文件,一个是最大文件且路径最长,一个是最小文件且路径最短 ● 那么如果筛选条件是要求最大文件 最短路径,那么这种算法会让组成员被全部 PASS ● 我们的算法是每个组合框选择的条件得到一个最优解,再根据三个最优解的出现次数计算最终保留项 ● 比如在一个重复组内有三个重复项,用户同时勾选了三个保留条件,那么谁符合的条件最多,谁会成为最终保留项,而其他重复项会被禁用。

Q:假如重复组每个项目都满足一个筛选条件怎么办? A:这种情况下,会保留一个。

Q:我该怎么恢复原来的完整数据表? A:点击恢复数据按钮即可,位于模组查重按钮附近。

Q:撤销本次操作什么意思呢? A:执行选择助手后,对应条件的重复模组会被禁用。在您关闭查重窗口前可以撤销选择操作和禁用状态。

Q:查询结果是百分之百准确的吗? A:我们可以保证我们的代码逻辑和算法是准确无误的。但是,并不是所有模组作者都会严格要求自己模组GUID等信息的唯一性。不同的模组他们可能错误的复用同一GUID,甚至不填写任何字段信息,从而影响查询结果的准确性。不过,这只是个例。

Q:我还有XXX问题? A:您可以联系我们补充。

🌸 插件管理

插件管理 4 - 1

当前插件管理主页支持

显示插件名并置入*中译,单击表项显示插件说明,插件开关控制,打开下载页等

支持中文搜索,范围包括:插件名、*中译、版本号、网址、备注说明

插件管理 4 - 2

自定义文件位于:data\Resources\Plugins\Plugins.csv

🫐 配置修改器 [CFG]

插件管理 4 - 3

在表项右键启用 兼容CFG配置文件的配置编辑器

支持全文汉化处理

翻译文件位置:data\Resources\Plugins\Translation.txt

插件列表配置:data\Resources\Plugins\Plugin list.ini

🫐 插件拦截规则

插件管理 4 - 4

通过XRM的插件拦截规则您可以自行规定某些插件只有在工作室或本体状态时启用

比如 CharLoader 插件,在本体与 BrowserFolders 冲突导致无法切换文件夹,且许多应用场景下无选择器

相比之下,BrowserFolders 在文件夹选择方面更加全面优秀,但是 CharLoader 并未提供关闭选项

然而在工作室 CharLoader 仍然是一个无法替代的优秀插件

🌸 进阶功能

🫐 StudioNEOV2 工作室启动图自定义

支持随机事件(按次、按日),首次运行会备份原文件。多个自定义启动图可随意切换。如勾选按次随机,XRM每次启动工作室之前会随机在一个至多个自定义启动图之间选择一个,若选择按日随机,则当日内启动图相同,次日可能发生改变。

此功能是个人定制的,尽管很简单但是代码层面并未做广泛化支持处理,如果您首次使用且预览框并未显示当前启动图,则不要使用。如果您希望使用此功能,请向开发者提交支持申请。

最后更新于

这有帮助吗?