位面转换 任意门

位面转换 任意门

默认情况下游戏拒绝的表面上进行平面位移。树干、围栏、大门、长椅、板条箱、桶以及数百种其他实物变得有效,使用游戏自身的资格标志。仍需要真实表面——开放空气仍然无效。

图片

《黎明行者之血》的相位转移(Planeshift)资格判定是基于每个网格的,并使用游戏自带的一个标志位。只有一组精选的表面带有该标志——原木墙壁、房屋墙壁、屋顶、窗户、石头废墟、木板、矿井壁架。其他一切表面都会被拒绝,即使它是一个完全坚固的实体物件,就矗立在你面前。

“随处相位转移”(Planeshift Anywhere)会在那些未携带该标志的表面上设置此标志。

树干、围栏、大门、长椅、板条箱、桶、集市摊位、工具、陶器以及数百种其他实体物件都将成为有效的相位转移目标。在首个测试区域中,立即启用了451个额外的表面,并且随着新区域的加载,还会启用更多表面——每个区域通常会增加几百个。

这不是穿墙、自由传送、飞行或移除碰撞。它只更改一个布尔值,仅此而已。仍然需要一个真实的、坚固的表面:瞄准开阔的天空则依然无效,与原版游戏完全相同。

→ 安装说明

  1. 为《黎明行者之血》安装 UE4SS(在“需求”下提供链接)。
  2. 解压缩此压缩包。
  3. PlaneshiftAnywhere 文件夹复制到: The Blood of Dawnwalker\Dawnwalker\Binaries\Win64\ue4ss\Mods\
  4. 启动游戏。

安装正确后,你将拥有: ...\ue4ss\Mods\PlaneshiftAnywhere\enabled.txt ...\ue4ss\Mods\PlaneshiftAnywhere\Scripts\main.lua

要卸载,请删除该文件夹。无需其他任何操作——该模组从不写入磁盘,因此你的存档中不会留下任何痕迹。

→ 主要特性

  • 每个区域新增数百个相位转移表面——树木、围栏、大门、长椅、板条箱、桶、摊位、工具、陶器等等。
  • 在你所到之处均有效。新区域在加载时会自动覆盖,包括加载存档之后。
  • 原版行为不受影响。一旦表面被接受,游戏对附着、方向、穿越、动画、相机和脱离的处理将一如既往。相位转移的感觉没有丝毫改变。
  • 开阔空间仍然会被拒绝。该模组从不转换无表面的结果,因此天空、缝隙和超出范围的瞄准行为与原版完全相同。
  • 游戏自身的几何体检查仍然会运行。资格是必要条件,而非充分条件——相位转移仍然会应用它一直以来所有的墙体接触、步幅和坡度测试。
  • 安全且完全可逆。不构建物件、不使用内存技巧、不修补可执行文件、不向磁盘写入任何内容。删除文件夹即可完全恢复原始行为。
  • 轻量级。每个表面一个布尔值,每隔几秒重新检查一次。无逐帧工作,无世界扫描,无显著性能开销。

已知限制 —— 请在报告错误前阅读

  • 有些树木仍然无法使用。这不是模组失效。这些树木已被标记为符合资格,但游戏自身的碰撞几何体会拒绝它们——通常是因为树干太细或太圆,无法满足相位转移的接触和坡度测试。修复这个问题意味着需要重新调整相位转移的穿越参数,而这会改变该技能在所有表面(包括原版墙壁)上的体验。这种取舍不值得,所以这些树木就保持原样。
  • 悬崖、岩石表面和钟乳石不受支持。这些网格在发布时不带任何资格数据,因此没有可设置的标志。创建一个标志在技术上可行,但在测试中被证明是不安全的——它破坏了内存并导致渲染器崩溃。这种方法已被放弃,而不是想办法绕过。如果找到安全的方法,将会在未来的版本中实现。
  • 手工放置的关卡标记会得到尊重。在开发者将某个特定位置标记为不符合资格的地方,该决定将保持不变。只会更改共享的、基于网格的默认值。

测试环境

Steam 构建版本 25129649,虚幻引擎 5.5,UE4SS v3.0.1 Beta。

已验证:附着、沿表面移动、脱离、天花板表面、重复使用、跨多个存档的保存与加载、原版墙壁不受影响、开阔空间被正确拒绝,以及对攀爬或翻越无影响。

原理说明(面向好奇者)

相位转移在内部被称为 AntiGrav。每个静态网格都可以携带一个 DawnwalkerTraversalMetaData 对象,其中包含一个布尔值 bAntiGravable,如果该网格未设置此值,游戏将拒绝任何表面。构建中甚至留下了一个开发者工具,其唯一职责就是检查所有资源中的该标志——这是创作数据,而非运行时决策。

该模组会在已加载的、未设置该标志的网格上设置此布尔值,然后每隔几秒重复一次,以便新加载的区域也能被覆盖。这就是全部改动。

→ 需求

  • 适用于《黎明行者之血》的 UE4SS —— 必需。 https://www.nexusmods.com/thebloodofdawnwalker/mods/18
  • 没有它,此模组将无法加载,也不会起任何作用。
  • 无其他需求。无需脚本扩展器,无需新存档,无需重新开始游戏。随时可以安全地将其添加或从现有存档中移除。
  • 与“无相位转移体力消耗”(No Planeshift Stamina Drain)(https://www.nexusmods.com/thebloodofdawnwalker/mods/313) 兼容——已测试可同时运行。应与任何不更改相位转移表面资格的模组兼容。

→ 致谢

感谢 UE4SS 团队提供的脚本框架,以及适用于《黎明行者之血》的 UE4SS 软件包的作者,正是他们针对《黎明行者之血》所做的兼容性工作,才使这个模组成为可能。


鸣谢信息

  • UE4SS 由 UE4SS 团队制作。
  • 适用于《黎明行者之血》的 UE4SS —— 必需的框架,链接见“需求”部分。
  • 未使用任何第三方资源。此模组是一个单独的 Lua 脚本,不包含任何游戏文件、网格、纹理或音频。