前置 Mod
详情

该 mod 最初只是一个小型 SKSE 插件,用来引入核心功能——真正的方向性“360°”移动。后来我意识到它需要一个自定义的目标锁定组件,因为当时可用的 mod 无法与它正常配合。不过,仅靠现有 mod 仍无法 100% 实现我的设想,于是我不断加入更多自定义功能,只要我觉得它们与核心理念或已包含的改动相关。我尽量让每个功能都尽可能贴合原版游戏。
在此过程中,插件的目标变成了让《天际》的第三人称玩法现代化,更像当代动作 RPG。不过插件名称保留了下来,我也实在想不出一个不会显得太泛泛的更好名字。
最终,我做出了这一长串功能,也一路学到了很多。于是就有了现在这个几乎可算作第三人称玩法重制/UI mod 的插件。希望你能像我一样享受它。

- 在第三人称视角下朝任意方向移动和攻击
- 也提供原版风格的移动模式,同时因摄像机解锁而保留一些改进
- 目标锁定专为方向性移动设计,支持单个 actor 上的多个目标点
- 动画目标锁定准星部件,有几种样式可选
- 目标锁定期间的投射物瞄准支持(预测/追踪)
- 骑乘方向性移动与摄像机修复
- 大幅改进的骑乘弓箭
- 用潜行和跳跃键上下游泳
- 同时支持键鼠和手柄
- 一切都通过 SKSE 实现,可随时安装/卸载
- 模块化且灵活——所有功能都可通过 MCM 禁用和配置


与其他实现“360°移动”的尝试不同,这不是通过巧妙的动画/行为修改伪造出来的。玩家角色的旋转实际上被改变了,因此近战、冲刺以及其他一切都正常运作。
玩家角色转向输入方向的速度可以配置,并且角色可能处于的各种状态有不同的倍率。
默认设置会在挥动武器后强制攻击硬直(禁用角色旋转),但你可以在攻击蓄力期间快速旋转。搭配像 SkySA 或 ABR 这样会在攻击期间锁定移动的战斗行为重制,以及一套优秀的攻击动画包,会让游戏感觉几乎像现代动作 RPG。如果你不喜欢这种方式,更喜欢原版玩法,或者只想调整某些数值,可以单独配置每个旋转倍率。
MCM 中有不少你可能会想调整的选项。例如,有一个(默认启用)功能会在移动时自动调整摄像机角度。你可以调整其速度、延迟,设置为仅在冲刺时调整,或完全禁用它。
自 2.1.0 起,你还可以在 MCM 中切换设置,使你在移动和攻击时面向准星,从而实现原版风格的移动,但由于摄像机不再完全锁定在角色上而有所改进(例如更好的目标锁定、冲刺时横向移动)。


目标锁定期间,你的角色会自动面向目标。摄像机的偏航角和俯仰角也会被调整。摄像机锁定并不是简单尝试把目标保持在屏幕正中央,它更复杂一些,以避免尴尬的摄像机角度以及当你离目标太近时令人头晕的移动(尽管我仍然对角度不是 100% 满意)。
你可以通过移动鼠标、滚动滚轮或移动手柄上的右摇杆来切换目标。你也可以选择绑定自定义按键来切换当前目标。
你可以在目标锁定期间朝任意方向冲刺,以快速调整位置。
尝试将目标保持在屏幕上半部分的摄像机调整速度和俯仰偏移可以配置。它与 SmoothCam 完美兼容,我非常推荐这个 mod。
自 2.1.0 起,该功能支持单个 actor 上的多个目标点。这通过位于 SKSE\Plugins\TrueDirectionalMovement 文件夹中的 .toml 配置文件(类似 .ini)进行配置。该系统类似于你可能从 TrueHUD 的 Boss 血条中了解到的机制——它会读取该文件夹中的所有 .toml 文件,因此你可以在不替换原始文件的情况下为不同目标添加支持。逻辑基于 actor 种族的 BodyPartData——因为拥有相同 BodyPartData 的种族通常共享相同骨架。你通过列出骨骼名称来定义可能的目标点,这些名称可以通过编辑该种族的 skeleton.nif 文件找到。默认文件在我觉得合适的目标上添加了一些目标点。大多数模组生物也应该得到支持。


玩家角色会看向当前目标或对话对象。没有目标时,角色的头部会微妙地跟随摄像机方向。
原版中玩家“头部追踪范围内随机目标”的功能——通常在未强制目标时进行头部追踪时发生——已被禁用,因此你跑过城镇时不会朝随机 NPC 转头,因为那通常看起来很傻。
理论上其他头部追踪 mod 应该兼容。此插件会覆盖它们的目标,但不会覆盖写入它们,因为游戏中的头部追踪目标优先级系统通常无法通过 Papyrus 访问。只有摄像机头部追踪功能要求你在其他头部追踪 mod 中禁用类似选项,因为它的优先级较低。
包含一个 Nemesis 补丁,可以修复所有头部追踪 mod 引起的某些问题。阅读这篇文章了解解释。


如果已安装 TrueHUD 并且在 MCM 中启用了目标锁定准星,当前目标锁定目标上方会出现一个动画准星部件。你可以选择几种不同样式。


在目标锁定期间,你可以选择两种瞄准支持类型。一种预测瞄准,会考虑当前目标速度,并将投射物瞄准预测的敌人位置,但如果他们突然改变方向则可能射失;或者你可以启用追踪投射物,几乎保证投射物命中。你也可以禁用瞄准支持,这会在目标锁定期间临时解锁摄像机,让你自由瞄准。每种选项都可以分别应用于箭矢/弩矢和法术。


现在你可以完全旋转骑乘时的摄像机。上马/下马动画不再改变摄像机角度和缩放,并且动画播放期间你也能旋转摄像机。看似很小的改动,却让使用坐骑不再那么烦人。我推荐找一个调整马匹旋转速率的 mod,因为默认速度非常慢且笨重。
自 2.1.0 起,还有一个(可选)Nemesis 补丁,是与 NickNak 合作制作的,添加了在坐骑上朝任意方向瞄准弓箭的支持,并使用新动画在马鞍上转身!
得益于射线检测,在马背上射出的箭矢也更准确地命中准星。骑乘弓箭现在可玩了,即使没有目标锁定也是如此。

一个小功能,允许你通过按跳跃和潜行键上下游泳。毕竟没有上下就谈不上“真正的方向性”。现在游泳时玩家角色的俯仰角也会改变。

- SKSE
- Address Library for SKSE Plugins
- SkyUI,用于在 Mod Configuration Menu 中访问插件设置
- MCM Helper,用于让 Mod Configuration Menu 正常工作
- Nemesis,用于安装可选但强烈推荐的头部追踪补丁
- TrueHUD,用于让目标锁定准星正常工作
将压缩包解压到游戏 Data 目录,或使用你选择的 mod 管理器。
运行 Nemesis 并在其中选择 True Directional Movement 补丁。
如果你的角色是虎人或亚龙人,考虑下载这个尾巴行为编辑,它可以修复快速转身时尾巴乱动的问题。

我尽量让插件保持模块化。例如,如果你只使用 Boss 血条,就不必担心与无关功能的不兼容问题。
- 与 SmoothCam 兼容,非常强烈推荐使用。
- 与 CGO 兼容。
- 与 SkySA 兼容。
- 与 Improved Camera Beta 4 基本兼容,除了水下游泳俯仰功能。
- 与 Immersive First Person View 兼容。你必须安装 IFPV 页面上提供的可选检测插件。
- 不应与 360 度移动动画/行为 mod 一起使用。在目标锁定期间,会使用所有原版动画,以便你正确面向目标。
- 有一个用于 Movement Behavior Overhaul 的兼容补丁。
- 与其他锁定 mod 不兼容。
- TK Dodge 将闪避方向硬编码为输入方向,因此根据你当前的角色旋转,闪避方向可能会出错。我建议使用其他闪避 mod(例如 The Ultimate Dodge Mod,或者理想情况下 Distar 即将推出的、将使用我的 SKSE 闪避框架的 mod)。为了完全兼容,闪避 mod 应该在闪避期间设置 'TDM_Dodge' 行为变量,如下方“给 mod 作者的信息”部分所述。
- 对话功能可能与 Alternate Conversation Camera 中的某些功能不兼容。调整两个 mod 的设置以实现兼容。你可能想更改 TDM 中的对话模式。
- Better Power Attack Direction Control 已更新,现在完全兼容。
虽然这个 mod 已经被多人测试了相当长一段时间,但我确信仍有一些问题漏掉了。报告任何问题时,请清楚地描述它们,最好附带复现方法。如果发生崩溃,请提供崩溃日志。对于 SKSE 插件来说,它们真的非常有用。
至于功能请求,欢迎提出建议,但请理解这最终是我对这个 mod 的设想,我可能不同意你的想法。请把建议当作建议,不要假定我一定会实现它们。

-
传奇版?
抱歉,没有。特别版的引擎稳定得多,而且像 CommonLibSSE 这样的框架让高级插件的实现容易得多。我们应该向前看了。不过,如果你愿意接受挑战,欢迎尝试将 mod 移植到 LE。相比支持一个过时版本的游戏,我更愿意把时间花在别的事情上。
-
它与 CGO 兼容吗?
是的。
-
它与 SkySA 兼容吗?
是的。
-
它与 [需要 Nemesis/FNIS 的 Mod] 兼容吗?
此插件不会修改行为文件,因此不应与任何此类 mod 冲突。安装/卸载后也不要求你运行 Nemesis 或 FNIS。可选的(但非常推荐)头部追踪 Nemesis 补丁只是添加了一些变量和事件,并跳过了头部追踪的 IsNPC 检查。它应该与一切兼容。 -
它与 [Mod 名称] 兼容吗?
是的,大概兼容,除非它已在兼容性部分列为不兼容。如果不兼容请告诉我。
-
对话菜单不出现并卡住!
这是与 Alternate Conversation Camera 的冲突。你可能想在 True Directional Movement 的设置中更改对话模式。
-
MCM 是空白的!
你的 MCM Helper 或这个 mod 没有正确安装。,
-
设置重置了!
不要删除 MCM Helper 创建的 .ini 文件(如果你使用 Mod Organizer 2,它默认会出现在 overwrite 文件夹中)。
-
我认为这个 mod 导致我的游戏崩溃了!
请发布 .NET Script Framework / Crash Logger 崩溃日志。当崩溃实际上是由这样的 SKSE 插件引起时,它非常有用。否则没有更多信息我什么也做不了。
-
攻击期间的旋转与我使用的动画 mod 不兼容!
动画可能缺少一些应该存在的动画事件。请参考下方“给 mod 作者的信息”部分。作为权宜之计,你可以尝试更改旋转倍率设置,但这可能会让一切都感觉飘忽。
-
移动时摄像机旋转得非常快!
这是因为 Requiem 将 'fMoveWeightMax' 游戏设置设为 0,进而导致 Havok 角色控制器将其 speedPercent 设为极高的值(本应在 0 到 1 之间,冲刺时略高)。你可以禁用自动调整摄像机设置,或者通过移除该编辑来自己修复 Requiem 的问题。
-
GIF 中的 HUD 材质是什么?
请阅读 mod 描述,并仔细浏览 MCM 中的选项。有几次我被问到已经作为 MCM 选项实现的功能。

- 当你突然改变移动方向时,会调用一个名为 'TDM_Turn180' 的行为通知事件。
- 在目标锁定期间,行为布尔变量 'TDM_TargetLock' 会被设为 'true'。目标锁定期间还会对玩家施加一个假的法术效果,可供 DAR 条件使用:HasMagicEffect("TrueDirectionalMovement.esp" | 0x000804)
- 为了正确处理闪避,插件会检查 'TDM_Dodge' 行为变量。闪避 mod 应该在闪避时将其设为 'true'。(事实证明这还有更多内容,如果你想添加支持请联系我,我之后会在这里写出来)
- 攻击阶段识别依赖某些原版动画事件被发送,但也会由一些自定义事件触发。如果你想在招式集中精确控制攻击阶段的时机(从而控制应用哪个旋转倍率),请将这些事件添加到你的动画中:
-
'CastOKStart' / 'preHitFrame' 会将攻击状态设为 Start。
-
'weaponSwing' / 'weaponLeftSwing' 会将攻击状态设为 Mid。
-
'HitFrame' 会将攻击状态设为 End。
-
'attackStop' 会将攻击状态设为 None。
如果你的攻击动画缺少其中一些事件,攻击期间玩家旋转速率可能感觉不对。
- 名为 'TDM_AttackStart'、'TDM_AttackMid'、'TDM_AttackEnd'、'TDM_AttackStop' 的自定义事件也会控制攻击状态。精准事件 'Collision_AttackStart'、'Collision_Add'、'Collision_AttackEnd' 也会被识别,以及 SkySA/MCO 事件。
- 上述自定义事件需要安装 Nemesis 行为补丁。
如果你是 mod 作者,想为你的 mod 添加一些兼容性,请告诉我,我们看看能做什么。我已经尽量让 TDM 尽可能兼容一切。


感谢 SKSE 团队制作 SKSE。
感谢 Ryan 提供无价的 CommonLibSSE、CommonLibSSE 插件模板,以及 QuickLootRE,我将其用作带有 UI 元素的 SKSE 插件模板。
感谢 meh321 提供 Address Library 和尝试地址匹配文件,使移植到 AE 变得轻而易举。
感谢 Nuukem 将 CommonLib 更新到 AE。
感谢所有分享成果的《天际》逆向工程师,以及所有分享其 SKSE 插件源码的人。没有这些,我无法学会如何做任何这些事。
感谢 NickNak 提供骑乘弓箭 Nemesis 补丁和动画。
感谢 dunc001 帮助我学会如何制作漂亮的部件。
感谢 Distar、Loki、alexsylex、MikeNike、NickNak,以及 Discord 服务器上所有其他帮助测试和提出建议的人。
感谢 Parapets 在迁移到 MCM Helper 方面提供的帮助和想法。
感谢 MikeNike 提供 GIF,感谢 Mern 提供缩略图和 MCM 标志。
感谢 FlyingParticle 分享源代码并帮助弄清楚射线检测。
追踪投射物代码使用了 Auto Homing Missile 的代码片段。
多亏 Expired 的 Floating Healthbars,我找到了使用哪个函数将世界空间位置转换为屏幕空间。
投射物预测来自这里。
感谢 Decompiled UI 源码,我能借此仔细检查原版游戏 UI 来创建我的部件。
Free Look 激发了这个插件的想法。
mod 描述中使用了 Sovngarde 字体。




