
平滑行者 - 第三人称摄像机
一个第三人称相机模组,用自定义实现替换游戏的相机延迟,可通过纯ini文件或可选的游戏内模组设置菜单配置为即用预设。可针对每种模式设置距离、高度、偏移和FOV,并可通过V键切换肩部视角。
查看大图[size=5][b]Smoothwalker - 第三人称相机[/b][/size]
Smoothwalker 是一个用于 UE4SS 的 C++ 模组,它用自定义实现替换了游戏原本的相机延迟。它附带三个预设:Tight、Balanced 和 Cinematic。Cinematic 是唯一一个还会平滑转向的预设。距离、高度、肩部偏移和 FOV 可以按相机模式分别设置,按 [font=Courier New]V[/font] 键切换左右肩。
此版本为预发布版。相机按预期工作,性能良好,我也尽可能保持了兼容性,但我还没有进行大量实际游戏测试。三个预设对我来说手感不错,但我仍在调整它们。我更好奇其他人会想出什么样的预设。
[youtube]SRa63f47Hnw[/youtube]
[size=4][b]要求[/b][/size] [list] []UE4SS,二者任选其一: [list] [][url=https://www.nexusmods.com/thebloodofdawnwalker/mods/18]UE4SS for Dawnwalker[/url],作者 Vercadi,文件 Dawnwalker-UE4SS-v1.2.1-rc6-build25232147(该页面上标注版本为 1.3)。[/] [][url=https://www.nexusmods.com/thebloodofdawnwalker/mods/283]UE4SS for BoD[/url],作者 Framecore,版本 2c 或 2b,Performance 或 Compatibility 配置文件。[/] [/list][/] []游戏的 Steam 版本,构建 1.0.5(25232147)。在任何其他构建上,该模组将保持未激活,并在 [font=Courier New]UE4SS.log[/font] 中说明这一点。[/] []可选:[url=https://www.nexusmods.com/thebloodofdawnwalker/mods/271]Mod Setting Menu[/url],用于游戏内设置页面。[/] [/list] [size=4][b]安装[/b][/size] 将压缩包解压到包含 [i]ue4ss[/i] 文件夹和 Dawnwalker.exe 的文件夹中: [code]<Steam library>\steamapps\common\The Blood of Dawnwalker\Dawnwalker\Binaries\Win64[/code]无需编辑 mods.txt。加载后,[font=Courier New]UE4SS.log[/font] 会显示以下两行: [code][DWSmoothwalker] v0.8.0 loaded, on [DWSmoothwalker] GetCameraView hooked (slot 214)[/code]要卸载,请关闭游戏并删除 ue4ss\Mods\DWSmoothwalker。不会向存档写入任何内容。
[size=4][b]已知问题[/b][/size] [list] []从 Mod Menu 加载预设后,已打开的页面会继续显示旧的滑块值,直到你重新打开它,并且在此之前会拒绝再次应用。[/] [/list] [size=4][b]兼容性[/b][/size] [list] []与任何其他替换第三人称相机的模组冲突。只能二选一运行。[/] [][url=https://www.nexusmods.com/thebloodofdawnwalker/mods/350]FreeCam - UE4SS[/url]([font=Courier New]F7[/font])可以与之同时运行。退出自由相机后,游戏相机会自动回到你的角色身上。[/] [/list] [size=4][b]性能[/b][/size] 相机数学计算在游戏自身的相机更新中每帧运行一次。实测开销为几微秒,没有可测量的帧时间差异,也没有卡顿。
[size=4][b]预设和按键[/b][/size] [spoiler] [list] [][font=Courier New]V[/font]:切换左右肩。相机会在半秒内平滑过渡过去。[/] []预设:在 Mod Settings 页面上选择,或在 ini 中使用 [font=Courier New]preset[/font]。 [b]Tight[/b] 几乎没有拖尾,相机稍微更近。 [b]Balanced[/b](默认)拖尾明显但稳定得快。 [b]Cinematic[/b] 拖尾严重,平滑转向,位置更靠后、更高,并在冲刺时扩大视野。在这些之后是你的六个保存槽位,再之后是从其他作者那里安装的任何预设。[/] []开启和关闭:[font=Courier New]enabled[/font] 开关,同一页面或 ini。关闭即为游戏自身的相机,未作改动。[/] [/list]默认只绑定 [font=Courier New]V[/font],游戏保留该键为空闲。若要通过按键循环切换预设或开关模组,请在 ini 中设置 [font=Courier New]preset_key[/font] 或 [font=Courier New]toggle_key[/font]。屏幕左侧的横幅会确认预设更改和开/关状态。
预设承载了大部分相机设置;少数几项目前还不能按预设更改(见“设置”折叠部分)。
[b]使用 Mod Setting Menu 时。[/b] Smoothwalker 在 Mod Settings 下有自己独立的页面,主菜单和暂停菜单中均可访问。它涵盖除三个按键绑定之外的所有内容。顶部的 Preset 条目会显示你的设置与哪个预设匹配,或显示 Custom。选择另一个,按 Apply,它会在四分之一秒内生效。无需重启。
[b]不使用它时。[/b] 编辑模组文件夹中的 [font=Courier New]config\smoothwalker.ini[/font]。保存,切回游戏,更改会在四分之一秒内生效。按键绑定是例外:它们在游戏启动时读取。[/spoiler]
[size=4][b]设置[/b][/size](模组文件夹中的 [font=Courier New]config\smoothwalker.ini[/font]) [spoiler] [b]按键[/b](在游戏启动时读取;可使用任何 UE4SS 按键名称) [list] [][font=Courier New]toggle_key =[/font],[font=Courier New]preset_key =[/font](留空表示无按键),[font=Courier New]shoulder_key = V[/font][/] [/list][b]跟随[/b](包含在预设中,但 enabled、aiming_follow 和 wall_clamp 除外) [list] [][font=Courier New]enabled = 1[/font]:0 表示使用游戏自身的相机:不跟随、不改变相机位置,预设和切换肩部按键也不起作用。[/] [][font=Courier New]follow_rate_h = 6.5[/font],[font=Courier New]follow_rate_v = 10[/font]:每秒追赶速率,水平和垂直方向。越高越紧凑。[/] [][font=Courier New]curve_h = 2[/font],[font=Courier New]curve_v = 0[/font]:0 恒定,1 线性,2 smoothstep,3 ease in-out。曲线起步平缓,并在 [font=Courier New]catchup_distance = 150[/font] cm 处达到完整速率;[font=Courier New]min_rate_scale = 0.35[/font] 是零延迟时的速率。[/] [][font=Courier New]max_lag_h = 85[/font],[font=Courier New]max_lag_v = 50[/font]:相机可以落后多远,单位为 cm。[/] [][font=Courier New]soft_leash = 1[/font]:平滑过渡到延迟上限,而不是在上限处硬停。[/] [][font=Courier New]aiming_follow = 30[/font]:瞄准时保留的拖尾和转向平滑的百分比。0 将相机锁定到你的瞄准方向,100 则与其他地方一样拖尾。不属于预设的一部分。[/] [][font=Courier New]rotation_smoothing = 0[/font],[font=Courier New]rotation_rate = 20[/font]:也平滑转向,以及它追赶的速度。[/] [][font=Courier New]wall_clamp = 1[/font]:让平滑后的相机保持在游戏为其拉近相机的墙体前方。[/] [/list][b]安全和显示[/b](不在预设中) [list] [][font=Courier New]reset_distance = 500[/font]:单帧内移动的 cm 数,达到此值即视为传送并让相机立刻归位。[/] [][font=Courier New]reset_gap = 0.25[/font]:在相机归位前,相机停止更新的秒数(过场动画、自由相机、加载)。[/] [][font=Courier New]show_banner = 1[/font]:预设和开/关横幅。[/] [][font=Courier New]log_stats = 0[/font]:1 表示每 5 秒将平滑统计数据和每帧开销写入 [font=Courier New]UE4SS.log[/font]。[/] [/list][b]相机位置[/b](100 / 0 / 0 / 0 为游戏出厂设置;包含在预设中,但 camera_tuning、shoulder_swap 和 position_transition 除外) [list] [][font=Courier New]camera_tuning = 1[/font]:0 表示将每种相机模式恢复为游戏出厂状态。[/] []按组划分,前缀为 [font=Courier New]exploration_[/font]、[font=Courier New]sprint_[/font]、[font=Courier New]combat_[/font]、[font=Courier New]aiming_[/font] 或 [font=Courier New]traversal_[/font]:[font=Courier New]distance[/font](占游戏默认值的百分比,50 到 250),[font=Courier New]height[/font](cm),[font=Courier New]shoulder[/font](向外偏移的 cm 数;居中的相机保持居中;traversal 不适用),[font=Courier New]fov[/font](增加的角度)。[/] []当 Smoothwalker 开启时,游戏自身的相机延迟会被关闭,因此上面的跟随设置是唯一的延迟来源。关闭后恢复原状。[/] [][font=Courier New]shoulder_swap = 0[/font]:1 表示切换到另一只肩。 [font=Courier New]V[/font] 可切换。[/] [][font=Courier New]position_transition = 0.5[/font]:位置更改或切换肩部时平滑过渡的秒数。0 表示瞬间切换。[/] [][font=Courier New]pitch_min = -60[/font],[font=Courier New]pitch_max = 40[/font]:探索、冲刺和专注时向下和向上的视角限制。瞄准和战斗已经允许 -89 / 89。[/] [/list][b]预设[/b]:[font=Courier New]preset = 102[/font] 显示匹配的预设(0 为 Custom,101 Tight,102 Balanced,103 Cinematic,1 到 6 为槽位,201 及以上为已安装的预设);更改它以加载某个预设。[font=Courier New]preset_save[/font](1 到 6)保存到某个槽位,然后重置为 0。模组仅在你游玩时将这些设置以及更改它们的按键操作写回 ini,绝不会在 Mod Menu 页面打开时写回。槽位保存到 [font=Courier New]config\presets\Slot N.ini[/font];模组会创建该文件夹。[/spoiler]
[size=4][b]致模组作者:制作预设[/b][/size] [spoiler] 如果你找到了自己喜欢的相机设置,欢迎分享。可选文件 [b]Smoothwalker Example Preset[/b](Files 标签页)会安装一个预设,名为 Over the Shoulder,每个键都带有注释:范围、默认值以及它的作用。这是最快捷的复制模板。
一个预设就是 [i]ue4ss\Mods\DWSmoothwalker\config\presets[/i] 中的一个 [b].ini[/b] 文件。Smoothwalker 在游戏启动时读取该文件夹,将每个文件添加到玩家自己的槽位之后的预设循环中,并在 Mod Menu 页面的 Preset 条目中按名称列出它。
[b]1)[/b] 在游戏中通过 Mod Menu 或 ini 设置好相机。 [b]2)[/b] 在 Smoothwalker 页面上,在 Save current settings to 下选择一个槽位,然后按 Apply。这会写入 [i]presets\Slot N.ini[/i],其中包含预设携带的所有设置。 [b]3)[/b] 将该文件复制为你自己的名称,例如 [i]presets\YourName - Low Chase.ini[/i]。不要使用 [b]Slot 1.ini[/b] 到 [b]Slot 6.ini[/b]:那些是玩家的保存槽位,模组会覆盖它们。 [b]4)[/b] 更改 [b]name[/b] 行。这就是横幅和 Mod Menu 显示的内容。以 [b];[/b] 开头的注释会保留在文件中;模组绝不会重写不是它保存的预设。 [b]5)[/b] 重启游戏。该预设会出现在槽位之后。
[code]; Low Chase by YourName name = Low Chase follow_rate_h = 5 follow_rate_v = 6 max_lag_h = 110 exploration_distance = 120 exploration_height = -20 exploration_fov = 5[/code] [b]规则[/b] [list] []每行一个 [b]key = value[/b]。预设可以只列出它想更改的键;加载它时,其他所有设置保持玩家当前的值。[/] [][b]name[/b]:最多 48 字节,不能包含 [b]|[/b]、[b];[/b] 或 [b]#[/b]。如果没有 name 行,则使用文件名。[/] []超出设置范围的数值会被限制到范围内,0/1 设置将任何非 0 值视为 1。[/] []未在下面列出的键会被忽略,因此预设无法更改开/关开关、肩部朝向、瞄准设置、横幅或按键绑定。[/] []最多读取 54 个预设,按文件名顺序。超过 64 KB 或没有任何预设键的文件会被跳过。 [font=Courier New]UE4SS.log[/font] 会列出它加载的每个预设。[/] [/list] [b]键[/b](范围,出厂默认值) [list] []跟随:[font=Courier New]follow_rate_h[/font] 和 [font=Courier New]follow_rate_v[/font](0.5 到 30,6.5 和 10),[font=Courier New]curve_h[/font] 和 [font=Courier New]curve_v[/font](0 恒定,1 线性,2 smoothstep,3 ease in-out;2 和 0),[font=Courier New]catchup_distance[/font](10 到 500 cm,150),[font=Courier New]min_rate_scale[/font](0.05 到 1,0.35),[font=Courier New]max_lag_h[/font](0 到 300 cm,85),[font=Courier New]max_lag_v[/font](0 到 200 cm,50),[font=Courier New]soft_leash[/font](0 或 1,1)[/] []转向:[font=Courier New]rotation_smoothing[/font](0 或 1,0),[font=Courier New]rotation_rate[/font](1 到 60,20)[/] []相机,所有模式:[font=Courier New]pitch_min[/font](-89 到 -30,-60),[font=Courier New]pitch_max[/font](20 到 89,40)[/] []按情境划分,前缀为 [font=Courier New]exploration_[/font]、[font=Courier New]sprint_[/font]、[font=Courier New]combat_[/font]、[font=Courier New]aiming_[/font] 或 [font=Courier New]traversal_[/font]:[font=Courier New]distance[/font](50 到 250 %,100),[font=Courier New]height[/font](-50 到 100 cm,0),[font=Courier New]shoulder[/font](-60 到 100 cm,0;traversal 不适用),[font=Courier New]fov[/font](-30 到 30 度,0)[/] [/list] [b]在 Nexus 上分享预设[/b] 将文件连同其文件夹路径一起打包,[i]ue4ss\Mods\DWSmoothwalker\config\presets\YourName - Low Chase.ini[/i],这样玩家就能像安装 Smoothwalker 本身一样,将其解压到 [i]Dawnwalker\Binaries\Win64[/i]。将 Smoothwalker 列为前置要求,并选择一个其他预设不太可能使用的文件名;同名文件在解压时会互相覆盖。[/spoiler]
[size=4][b]源代码[/b][/size] 源代码位于 [url=https://github.com/littleRabbit94/dw-smoothwalker]GitHub[/url]。 对于 bug 报告,通常你 [font=Courier New]UE4SS.log[/font] 中的 DWSmoothwalker 行、你的游戏构建版本以及你运行的 UE4SS 包,这些信息就足够了。
[size=4][b]鸣谢[/b][/size] 基于 UE4SS-RE 团队的 [url=https://github.com/UE4SS-RE/RE-UE4SS]UE4SS[/url] 构建(MIT)。 运行在本游戏的 [url=https://www.nexusmods.com/thebloodofdawnwalker/mods/18]Vercadi[/url] 和 [url=https://www.nexusmods.com/thebloodofdawnwalker/mods/283]Framecore[/url] 的 UE4SS 包上。设置页面感谢 [url=https://www.nexusmods.com/thebloodofdawnwalker/mods/271]mmarcussa[/url] 的 Mod Setting Menu。 灵感来自 Skyrim 的 [url=https://github.com/mwilsnd/SkyrimSE-SmoothCam]SmoothCam[/url]。 GPL-3.0-or-later,包含在压缩包中。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。