True First Person Camera 2.0

True First Person Camera 2.0

低头看自己!重载视角!在RT/PT反射中看到你的头!快速前进时靠向摩托车!还有更多!─=≡Σ((( つ◕ل͜◕)つ

- Coffee2a 的几段展示! -


更多此类内容——以及更长的版本——请见“视频”标签页!


[img width=400,height=224]https://i.ibb.co/hxD8T53B/01.gif[/img][img width=400,height=224]https://i.ibb.co/m5x7pvKd/02.gif[/img]
[img width=400,height=224]https://i.ibb.co/b5dLY7R6/03.gif[/img][img width=400,height=224]https://i.ibb.co/VYYr1N89/04.gif[/img]


- 简介 -


这个模组酝酿已久,历经数次迭代。它最初只是《Immersive First Person》的一个小扩展,随后变成了《Immersive First Person Extended》,再后来彻底更换了代码基础,改用 Redscript,并从头完全重写。从某些方面来说,它变得好多了——但有些方面则不然。在过去的几个月里我学到了很多,而且在过去几周里我一直在打磨这个模组——不得不说,我对目前的成果感到非常自豪。那么,这到底是什么呢?


这个模组以多种方式修改了游戏处理第一人称视角的方式:它允许你设置相机的高度和深度,为低头看时增加了沉浸式视野。它增加了一个环顾模式,让你可以边向前走边环顾四周;它为武器增加了 IK 系统,使武器能抬升到(或选择不抬升到)合适的相机高度——它还拥有载具相机、摩托车压弯、弹药相机、首次装备动画视角……它几乎包含了我能想到的这类模组应有的一切功能。


然后,是这个模组的皇冠明珠——配置系统。在 2.0 版本中,所有配置都集中到了一个地方:一个通过热键打开的游戏内配置器,它构建在我自己的 Redscript 配置框架(一个必需的依赖项)之上。不再需要跳出游戏去菜单里调整——每一项功能开关和每一个微调数值都存在于那个弹出窗口中,游戏会暂停,方便你即时调整。这包括一个针对每辆载具的第一人称调校系统,包含三种不同的转弯视角配置、三种不同的摩托车压弯配置,所有六种配置都可以直接在游戏内调整。


还有什么呢?正如我提到的,还有一个首次装备动画系统:你可以设置动画何时播放以及播放的概率,还可以为近战武器、枪械和义体设置不同的动画参数。想好好欣赏一下你的螳螂刀?现在你可以了!


我还加入了不同情境下的相机可调设置,比如坐下时:你的头能转动多少。我还加入了驾驶惯性设置:你可以直接在游戏内用滑块设置刹车时汽车推动相机向前的力度。


所有设置都由配置框架保存为 JSON,这意味着我可以做一些普通设置菜单做不到的事情;暴露它不太擅长处理的值、动态的每载具列表等等。为了确保更新时不会覆盖你的设置,框架会检查你的设置文件是否存在:如果存在就会保留原样,如果不存在则会写入相关的默认值——让你有个全新的开始。


最后,这个模组还有一个在玩家身体上显示头部的系统。如果你开启了光线追踪或路径追踪,并且启用了玩家反射,那么你现在也可以在那些反射中看到你的头部了。当你拿出武器或在其他一些情况下,头部会被隐藏。从 7.5 版本开始,旧的载具内光头问题已得到解决:模组现在自带一个原生插件,可重定向引擎在第三人称切换时自行附加的内容——头发、面部、甚至你的太阳镜现在都可以在载具中正确渲染了。但有一个已知限制仍然存在:在驾驶载具时保存并加载该存档,可能导致你下车后无法恢复面部显示。要解决此问题,请重新保存并读取存档。唯一的影响是头部不会在反射中渲染(但你的头发会!)——这是一个引擎侧的状态问题,我目前还无法修复。两轮车也有类似的引擎古怪问题:骑过摩托车后,你的头发不会在反射中显示,直到下一次保存/加载。


整个模组使用 Redscript 和 C++(用于 DLL 插件,通过 Red4Ext 加载)编写,并考虑了性能问题。话虽如此,未来仍会针对这么大的代码库中必然出现的错误和性能问题进行更新。


那么,闲话少说,以下是所有配置选项、需求等。祝您玩得愉快!


TL;DR:飞向月球! ─=≡Σ((( つ◕ل͜◕)つ


- 功能开关 -


这些是高级主开关。在 2.0 版本中,它们位于游戏内配置器本身——[Main] 标签页以及每个功能面板顶部的启用开关——而不是任何外部菜单中。热键仍然位于模组设置中的“[DigitalVixen 热键]”下。几乎所有微调数值(偏移量、范围、每载具调校、动画时序)也都位于配置器中,稍后会详细介绍。


主开关


模组启用:开关。
把我关掉,或者……你懂的……把我……打开……嗯。


显示头部:开关。
宝贝,给我点头部特写吧。


无初始缩放:开关。
消除游戏在你装备武器并进入瞄准模式时所做的轻微缩放。


头部环视


启用头部环视:开关。
开启后,当你行走时,你的头部会独立转动。看起来很棒。感觉也很棒。这个信我准没错。或者不信也行。随便吧。身体会在可配置的阈值之后平滑地跟随。理论上是这样。当你拿出武器、骑上载具、游泳或被击倒时,它会自动禁用。或者你死了。也许吧。


微调(灵敏度、自由范围、追回、按需模式与始终开启)位于游戏内配置器的“第一人称 -> 头部环视”下。


武器支撑


启用武器支撑:开关。默认开启。
调整你的武器位置,使你在使用瞄准模式时保持与抬升相机对齐。瞄准模式视野、瞄准镜视野、出枪速度、近战调整等,均位于游戏内配置器的“武器”下。


侧身系统


禁用所有侧身:开关。
绝对不行。完全不能侧身。原版的不行,手动的也不行,什么都不行。侧身末日。侧身模式、偏移量、过冲、徒手限制和扫描持续性均位于游戏内配置器的“第一人称 -> 侧身”下。


情境门控


游泳时禁用:开关。默认开启。
嘿,泳装很重要!如果我不拘谨的话,我会穿上这些:Mayo BikiniBowkiniString Bikini


处决时禁用:开关。默认开启。
拿下他们,拿下他们,拿下他们!


搬运尸体时禁用:开关。默认开启。
这活儿我可帮不了。


被击倒时禁用:开关。默认开启。
伙计,我就把你丢那儿了。


调试


调试日志:开关。默认关闭。
出啥问题了?将详细信息输出到 Gamelog 以便排查。


二分定位:头部 / 相机 / 侧身 / 武器 / 头部环视 / 动画相机 / 载具相机:7 个开关。默认开启。
每个开关控制一个每帧运行的子系统。默认开启 = 正常行为。逐个关闭以二分查找性能问题,找出哪个子系统是资源消耗源。如果你不知道这是做什么用的,请保持它们全部开启。


第三人称故障排查


进入时反转第三人称/第一人称标签:开关。自 7.5 版本起默认关闭。
在隐藏头部(进入载具或相机时)的同时,也交换外观标签。原生插件在引擎侧对头部的处理,使得此功能带来的问题多于解决的问题——除非你在旧设置上遇到头部外观故障,否则请将其保持关闭。


进入载具时隐藏头部:开关。默认开启。
进入汽车,头部隐藏。如果你的外观管线有自己的处理方式,可将其关闭。


进入相机时隐藏头部:开关。默认开启。
同理,但适用于监控摄像头、无人机、超梦场景。


换弹相机


启用换弹相机:开关。
在换弹动画期间倾斜相机,以获得电影感效果。每个轴的偏移量、旋转、时序均位于游戏内配置器的“动画 -> 换弹”下。霰弹枪装填时,会保持该姿态直到整个装填过程结束,而不是每装一发就弹回原位。


首次装备相机


启用首次装备相机(枪械):开关。
启用首次装备相机(近战):开关。
启用首次装备相机(义体):开关。


三个主开关,一个对应一类武器。每个开关都会在首次装备动画期间移动相机,以便在首次拔出武器时更好地展示它。不同武器家族的偏移量、旋转、时序位于游戏内配置器的“首次装备 -> 枪械 / 近战 / 义体”下。


频繁首次装备


启用频繁首次装备:开关。
在后续拔枪时也重播首次装备动画,而不仅仅是第一次。概率和情境过滤器位于游戏内配置器的“首次装备 -> 选项”下。


启用闲置打断:开关。
在站立不动达到可配置时间后,重播首次装备动画场面。可通过游戏内配置器的“首次装备 -> 闲置打断”进行调整。


载具相机


启用载具相机:开关。
用于每载具相机偏移 + 视野 + 俯仰调校系统的主开关。


在载具中使用游戏视野:开关。
开启 = 载具相机遵循你正常的游戏内视野设置。关闭 = 载具使用它们自己的原版视野。


每载具调校(偏移量、俯仰、视野、保存/恢复/重置)位于游戏内配置器的“载具 -> 当前载具”下。


武器操控


增加了几个武器操控动作的热键。


放下武器:热键。默认未绑定。
将枪械放低至待击发位置并保持。再按一次将其抬起,或者直接瞄准——枪会自动抬起。


检查弹膛:热键。默认未绑定。
按需播放游戏偶尔自动播放的查看枪械动作。按一下:如果枪是抬起的,它会下沉,相机会向下看,然后两者都会自动恢复。如果武器已经放下,执行此操作后会保持放下状态。


按住收枪:开关。默认关闭。
按住换弹键来收起武器,而不是去找收枪键——你可以设置需要按住多长时间才能收枪。当武器收起时,按住该键则会拔出武器。默认关闭。位于“武器”标签页。


这两个热键位于[模组设置 -> DigitalVixen 热键 -> True First Person]下,每个热键都有一个按键、一个修饰键和一个单独的手柄按键。


摩托车压弯


启用摩托车压弯:开关。
相机在摩托车转弯时倾斜,以提供更具沉浸感的骑行体验。速度阈值和强度位于游戏内配置器的“载具 -> 摩托车压弯”下。


转弯


启用转弯:开关。
在汽车转弯时,相机进行微妙(或不那么微妙,由你选择!)的水平位移。速度阈值和效果强度位于游戏内配置器的“载具 -> 转弯”下。


驾驶惯性


启用驾驶惯性:开关。
在突然加速、刹车和转向时,相机会滞后并晃动。每个轴的阻尼和位移位于游戏内配置器的“载具 -> 驾驶惯性”下。


移动微调


启用移动微调:开关。
使用之前一个私人模组中精选的值来更改原版的移动物理和相机自由度值。每个微调的调整位于游戏内配置器的“移动”下。


- 游戏内配置器 -


配置器是一个游戏内弹出窗口,有七个标签页,涵盖模组的所有开关和可调数值。第一个标签页 [Main] 包含上述功能开关(情境门控、第三人称故障排查和调试作为其子面板);其他六个标签页包含微调数值,下文将逐一介绍。


如何打开它
有两种方式:
1) 在[模组设置 -> DigitalVixen 热键]下绑定 True First Person 热键,然后在游戏中按下——它会直接打开此模组的面板。
2) 或按下配置框架自己的热键(默认为 F8),然后从可配置模组列表中选择 [True First Person]。


无论哪种方式,弹出窗口都会打开,并且游戏会暂停。按 C 或 ESC 关闭弹出窗口——你的更改会自动保存。

每个标签页都有一个左侧导航栏,列出其子面板。以下是介绍。


第一人称标签页


这是你设置步行时相机观感的地方。共有四个子面板。


相机位置
决定第一人称相机相对于你身体位置的核心偏移量。
- 高度:垂直偏移。越高 = 相机位置越高。越低 = 你越接近原版视角。默认值 0.085 —— 大致是站立不动时角色模型上眼睛的位置。
- 深度:前进/后退偏移。负值将相机向后推入身体。正值将其向前推。默认值 -0.085 —— 大致是站立不动时角色模型上眼睛的位置。
- 视野偏移:步行时视野偏移角度,基于游戏自身视野设置之上,以半度为步进;移动滑块时立即生效。由 TheShreddieH 贡献 - 谢谢!
- 场景等级:1-5。模组停止干预并让游戏接管相机的电影化场景等级(过场动画、拍照模式等)。除非你在解决特定的场景冲突,否则请保持 3。
- 保持视野:开启 = 模组在程序化位移期间不会触碰视野。如果第三方视野模组与你冲突,此选项很有用。关闭则允许模组进行小幅度的低头视野增加。


头部可见性
决定何时以及如何显示你的头部。这就是让你在开启光线追踪/路径追踪玩家反射时能看到自己头部的原因。
- 深度(头部显示时):当头部可见时,相机相对于原版深度向前移动到此位置,这样你就不会透过自己的下巴看东西。默认值 0.015。
- 低于此角度隐藏 / 高于此角度隐藏:俯仰阈值(度)。低头超过“低于此角度隐藏”或抬头超过“高于此角度隐藏”,头部会消失,以防止可怕的穿模。默认值 30 / 20。
- 保持可见低于/高于阈值:按方向覆盖。勾选这些选项可让头部在超过阈值后仍然可见。
- 隐藏时机 -> 蹲伏 / 手雷 / 拳头与金刚臂 / 发射器:四种情境开关。每一个都会在无法避免穿模的动画中隐藏头部。拳头/金刚臂和发射器默认开启,因为那些动画对头部极其不友好。


头部环视
行走时头部独立转动。灵敏度、自由范围(身体开始跟上之前头部可以偏航多远)、追回范围(身体完全同步的角度)、按需模式(按住/切换激活 vs. 始终开启并用按键抑制),以及按键切换 vs. 按住行为。当你拿出武器、骑上载具、游泳或被击倒时会自动禁用。


侧身
- 切换模式:按一下保持侧身,而不是按住按键。
- 水平 / 垂直:完全侧身时相机的位置。
- 过冲(手动侧身) / 过冲(原版侧身):相机相对于身体移动多远——见下文。
- 允许时机:空手时:在未装备武器时侧身(仅头部侧身)。
- 扫描时保持:扫描器打开时保持侧身,而不是放下后恢复。
- 将偏移应用于原版:给游戏自己的自动掩体侧身提供相同的相机处理。默认开启。


这些偏移量是[叠加在引擎自身侧身之上的偏移],而不是一个独立的值:原生插件每帧报告引擎实时的侧身量,滑块按其进行缩放。手动侧身和原版掩体侧身都遵循同一条曲线,所以偏移量在半侧身时保持一半的值,并随着侧身动作完全释放。除非引擎实际在侧身,否则不会应用任何东西。


侧身的[滚动]来自侧身动画,而非相机。[过冲]告诉相机侧身的幅度比实际更大或更小。在 +1.0 时,相机移动的距离超过身体的侧身幅度;在 -0.5 时,移动距离更少;范围在 +-2.5 之间。当你偏离 0 时(0 是对齐的默认值),你的瞄准点会开始错位。


头部倾斜
在非瞄准模式下——空手,或只是没有瞄准——引擎根本不会进行身体侧身,因此侧身偷看会使用仅相机的倾斜代替。它有自己的偏移量,并且是唯一能在空手时工作的侧身方式。
- 水平:偷看侧出的距离,最大 0.25。默认为 0.2。
- 垂直:随偷看动作上下移动。默认为 0.02。
- 滚动:相机滚动这么多。


场景相机
场景动画(喝酒、抽烟、剧情时刻)是为原版相机高度设计的,抬高的相机会让它们看起来很奇怪。现在相机会为场景平滑下降,之后回升——并且你可以按场景类型设置下降幅度:
- 食物/饮品下降 %药物下降 %其他场景下降 %:0 = 保持抬高,100 = 完全降到原版高度,视场景类型而定。
- 深度也平滑 + 深度平滑 %:相机深度是否(以及多少)跟随变化。
- 战斗时绝不下降:如果在战斗中,忽略上述设置。
- 平滑速度:相机移动的速度。
这些设置位于“第一人称”标签页的“相机位置”下,并且无论“场景等级”设置为何都会生效。


武器标签页


武器特定调校。瞄准模式视野偏移、瞄准镜视野偏移、出枪速度、收枪宽限期,以及近战相机降低(让你的拳头/刀片保持在视野内)。


当前武器
拔出武器,打开弹出窗口,这组设置会显示你手中的武器及其各自的滑块——下面的每个值都会按武器记住:
- 准星对齐 X / Z / 深度:在瞄准模式下移动武器本身。这是修复那些在抬高相机下准星无法对齐的枪械的工具——它会改变瞄准点。
- 瞄准模式视野 / 瞄准镜视野:这把武器自己的瞄准视野,当上面的[按武器视野]开关开启时使用。没有保存值的武器会继续使用全局的一对值。
- 保持我的视野:游戏在很多情况下会改变你的视野。最明显的是对话。测试时我发现我的默认值 90 被拉低到了大约 72。勾选此项后就不会了。选择它覆盖哪些情况:对话和过场动画、设备动画、相机和设备控制。默认关闭


  • 瞄准模式眼距:瞄准时相机深度——将眼睛远离瞄准具或靠近它。瞄准具保持居中;引擎会将其与相机重新对齐。
    - 瞄准模式滚动:瞄准时的倾斜视角。
    - 握持滚动:在腰射和瞄准模式下旋转手中的武器。
    - 按住收枪:按住换弹键收起武器,按住时间可配置。武器收起时按住换弹键则会拔出武器。默认关闭
    - 每个武器都有[保存 / 重置]按钮。存储在 weapons.json 中。

RedWindows 调谐器(可选)
如果你安装了 RedWindows,模组会添加两个覆盖窗口——[i]TFP 武器调谐器[/i] 和 [i]TFP 载具调谐器[/i]——包含与“当前武器”和“当前载具”面板相同的滑块,不同之处在于游戏不会暂停,窗口可以拖到任何位置,如果需要也可以调整大小。边瞄准边调整。完全是可选的;没有 RedWindows 一切也能正常工作。


动画标签页


两个子面板。


换弹:倾斜偏移、旋转、进入/退出持续时间、“仅非战斗”限制。调整换弹相机的姿态和运动。使用此面板顶部的“启用换弹相机”开关来整体开关此功能。


检查弹膛:同样的滑块,用于在播放“检查弹膛”动画时向下看武器的动作。默认只是简单地向下看,没有其他动作,并且执行速度比换弹时的检查稍快,因为检查是一个较短的节拍。需要绑定“检查弹膛”热键。


效果:针对模组可以叠加到视角上的七种相机效果——晃动、跛行、心跳、呼吸、冲击、醉酒和颤抖——每个效果的强度滑块(0 = 关闭,1 = 正常,2 = 双倍)。你可以在这里提高、减弱或完全关闭任何程序化相机运动——这些运动由本模组驱动,其他模组也可以通过它来驱动(见下文 API)。不喜欢生命值低时的心跳脉动?将其滑到 0。想要喝多了之后更摇晃的醉酒视角?调到 2。


首次装备标签页


五个子面板,用于首次装备/装备展示系统。


选项:概率滑块和情境过滤器(战斗中、冲刺、潜行),决定动画何时可以播放。
枪械 / 近战 / 义体:每个类别的相机偏移、旋转和时序(进入/退出/保持)。类型独立,因此拔枪可以很微妙,而你的螳螂刀则获得完整的电影化效果。
闲置打断:站立不动展示重播的概率和检查周期。


移动标签页


直接移植自我的旧私人相机调校模组,该模组基于 Sousine 的原版。三个子面板。


过渡:开关,允许从蹲伏、蹲伏冲刺和滑铲状态进行下落和二段跳。
物理:攀爬阈值和持续时间、滑铲胶囊半径和进入/退出速度、硬落地持续时间、滑铲坠落高度。
相机:每种情境下的相机自由度(俯仰和偏航限制、橡皮筋行为、灵敏度倍数),适用于滑铲、默认、抓钩、攀爬、梯子进入/退出/默认/重置以及工作台。滑块很多,按情境分为带标签的小节。默认值比较合理;只有当你明确知道自己的目标时才去动它们。


主开关:物理面板顶部的“启用移动微调”。


载具标签页


这是所有载具相关相机设置的地方。四个子面板。


当前载具
每载具相机调校工作台。坐进载具,打开弹出窗口,此面板会显示你所在的载具及其当前设置。你可以获得:
- 载具名称 + 状态标志:显示载具 ID 以及当前设置是“已保存”、“已修改”(未保存)、“新建”(未保存)还是“无”。
- 水平 / 垂直 /深度:相对于载具基线的每轴相机偏移。为每辆载具按需调整。默认值是游戏载具的默认值。
- 俯仰:向上或向下旋转相机。
- 视野偏移:基于游戏视野之上的每载具视野增加或减少。“载具相机”面板的“使用游戏视野”开关决定载具是遵循你正常的游戏内视野,还是回退到它们自己的原版视野。
- 立即保存:将当前值写入每载具的存档文件。
- 恢复已保存:回滚自你上车以来的未保存更改。
- 重置默认值:完全清除此载具的已保存配置,并回退到游戏默认值。


存档以载具实体 ID 为键,存储在与你的其他 TFP 设置相邻的 JSON 文件中。你可以调校一百辆载具,它们都能记住。


摩托车压弯
速度阈值(公里/小时)和倾斜强度。相机根据偏航率在转弯时倾斜;你可以调整激进度、滚动进入/退出的速度以及速度范围。需要开启“启用摩托车压弯”开关(此面板顶部)。


转弯
汽车转弯时更微妙的水平位移。速度阈值和效果强度。需要开启“启用转弯”开关(此面板顶部)。


驾驶惯性
在这里你可以设置驾驶时相机的重量:适用于汽车和摩托车的每轴阻尼、位移和转向/倾斜,外加一些摩托车特定的校正。[需要进行载具退出并重新进入才能使设置生效] - 引擎在登车时缓存惯性参数。


- 相机效果 API(面向模组作者) -


动画标签页中的那七种相机效果不仅供此模组自己使用——它们是一个公共 API,任何其他 Redscript 模组都可以驱动。想让你的状态效果、天气系统、药物或义体使第一人称相机晃动、脉动、摇摆或踉跄?现在你可以了。而且玩家对每种效果的强度滑块仍然会在其上生效,因此他们始终拥有最终决定权(将一个效果滑到 0,那么无论谁请求它都会保持停用)。


从此模组的系统获取效果管理器。用 [i]@if(ModuleExists("TrueFirstPerson"))[/i] 将整个代码保护起来,这样即使未安装本模组,你的模组也能正常运行:


@if(ModuleExists("TrueFirstPerson"))
public func ShakeTheCamera(gi: GameInstance) -> Void {
  let sys = TrueFirstPerson.IFPSystem.Get(gi);
  if !IsDefined(sys) { return; }
  let fx = sys.GetEffects();
  if !IsDefined(fx) { return; }
  fx.PlayShake(1.0, 0.4, 2.0);   // intensity, seconds, speed
}

**一次性效果** - 触发后无需管理,或可提前停止:
- PlayShake(intensity, seconds, opt speed) / StopShake() - speed 是相对于预设晃动速率的频率倍数(1.0 = 与之前相同,也是省略它时的默认值)。
- PlayImpact(dirX, dirY, dirZ, magnitude, seconds) / StopImpact() - 一个方向性的冲击,例如从背后被击中
- PlayHeartbeat / PlayBreathing / PlayDrunk / PlayShiver (intensity, seconds),每个都有对应的 UpdateXIntensity(...) 用于实时更改,以及 StopX()
- PlayLimp(tier, seconds), UpdateLimpTier(tier), StopLimp()
- StopAll()

共享持续效果 - 用于可能多个模组同时驱动的持续状态(伤病、兴奋、寒冷)。传递一个唯一的 CName 来命名你的模组;管理器会记录每个来源的贡献,并以最强的来源运行效果(取最大值),因此两个模组请求心跳永远不会冲突:

fx.SetHeartbeatIntensityFromSource(0.8, n"MyCoolMod");   // 提升我的通道
fx.SetHeartbeatIntensityFromSource(0.0, n"MyCoolMod");   // 完成后清除

适用于心跳、呼吸、醉酒和颤抖(强度),以及跛行(等级)。将你的通道设为 0 即可退出;只有存在某个来源仍需要该效果时,它才会继续运行。

这就是全部了——模组会处理混合、在程序化上下看相机控制帧期间的淡出,以及玩家的强度滑块,所有这些都由模组为你完成。


- 更新日志 -


[u]2.0[/u] - 重构相机模组的首次发布!配置系统基于我新的 Redscript 配置框架重建。每个功能开关和每个微调数值现在都位于一个游戏内弹出窗口中!七效果相机层(晃动、心跳、醉酒视角等)现在也是一个公共 API,其他模组可以驱动。大量修复和更改!
[u]7.1.0[/u] - 日志记录移至可选的 RedLogger 插件:每次会话一个日志文件,可在游戏内配置框架的日志查看器中阅读。
[u]7.1.1[/u] - 为 RCF 模组选择器添加了卡片 JSON;为日志增加了更多粒度。
[u]7.1.2[/u] - 修复了移动、驾驶惯性、世界空间相机和无初始缩放微调在会话结束时从未被交回的问题。加载存档会将它们读取为游戏自身的默认值,因此关闭其中一个只能持续到下次重载——这在蹲伏冲刺技能上最为明显。感谢 thisismeblank 的报告和修复。
[u]7.5.0[/u] - 重大更新。模组现在自带原生插件(由 RED4ext 加载):
- 载具内头发修复。
- 原版掩体侧身相机修复现在读取引擎的实际侧身值并精确跟踪曲线。默认开启。
- 场景相机平滑 - 相机在喝酒/抽烟/剧情动画期间会缓动到原版高度。
- 每武器调校 - 准星对齐、每武器瞄准模式/瞄准镜视野、眼距、瞄准模式滚动和握持滚动。
- 步行视野偏移滑块,由 TheShreddieH 贡献。
- RedWindows 调谐器(可选) - 在游戏不暂停的情况下,从可拖动的覆盖窗口中调整武器和载具。
- 模组热键现在也可以关闭配置器,并且在配置框架开启“记住我所在位置”时,它会精确地在你上次离开的地方重新打开。
[u]7.5.1[/u] - 泵动式霰弹枪(Carnage、Tactician 等)不再在装填之间使换弹相机跳回原位。
[u]7.5.2[/u] - 修复:载具内头发修复现在按载具类别工作:汽车保持相同的方法,摩托车使用贡献的调用点方法(再次感谢,thisismeblank)- 头发在两者上都可渲染。摩托车方面有一个已知限制:骑完摩托车后,头发不会在反射中显示,直到下一次保存/加载。
[u]7.5.3[/u] - 修复了左侧身和视野设置。
[u]8.0.0[/u] - 三个新功能、侧身大修、错误修复。
新增:
- 保持我的视野 - 阻止游戏改变视野。默认关闭。位于:第一人称 -> 相机位置。
- 放下武器和检查弹膛热键。
- 按住收枪 - 按住换弹键收起武器。默认关闭;武器标签页。

修复:
- 模组现在实际使用你的图形视野设置。
- 操控或撕下炮塔后,退出后你会卡在蹲伏姿势。

侧身更新:
- 偏移量现在根据引擎实时的侧身量进行缩放。它们同样适用于手动侧身和原版掩体侧身。
- 滚动设置被过冲取代 - 一个用于手动侧身,一个用于原版掩体侧身,各为 +-2.5。允许相机的滚动多于或少于游戏侧身所需,以跟随准星。
- 扫描时保持现在在扫描器打开时保持侧身,而不是放下之后再恢复。
- 头部倾斜重新调整:水平现在可达到 0.25,默认为 0.2;垂直默认为 0.02。

另外:
- 相机晃动增加了速度(频率)控制,供通过效果 API 驱动它的模组使用。


- 需求 -


此模组需要你安装以下内容:
Redscript 配置框架(2.1.4 或更新版本)
Redscript
RED4ext
Codeware
Input Loader
TweakXL
RedData
RedFileSystem
DigitalVixen Core(4.8.0 或更新版本)


可选:
RedLogger
RedWindows - 添加用于武器和载具的不暂停覆盖调谐器窗口


- 安装 -


  1. 安装所有依赖项。
    2) 将下载的文件解压到你的主游戏目录中。
    3) 在游戏中,于[模组设置 -> DigitalVixen 热键 -> True First Person]下设置配置器热键。
    4) 按下该热键打开配置器,并从中调整所有开关和数值。(或按配置框架自己的热键 - 默认为 F8 - 并从列表中选择 True First Person。)

- 卸载 -


删除目录 [i]\Cyberpunk 2077\r6\scripts\TrueFirstPersonCamera[/i]
删除目录 [i]\Cyberpunk 2077\red4ext\plugins\TFPC[/i]
删除目录 [i]\Cyberpunk 2077\r6\storages\TrueFirstPerson[/i](包含你的武器黑名单、每武器调校和每载具相机配置——如果你可能回来,请保留它)


- 不兼容性 -


这是一个不兼容模组的列表,它并不是一个包罗万象的列表,如果你对未列入此列表的模组有疑问,请在评论区提问!


同时我想说明,这并不意味着此模组或列表中的任何模组比另一个更好:它们只是无法协同工作,要么是因为它们在代码上直接冲突,要么是因为它们修改了相同的设置。


True First Person Camera 1.0
Immersive First Person
Immersive First Person - FPP camera adjustment
Immersive First Person - Height Slider Add-on
[Immersive First Person Camera - Extended](https://www.nex