坐姿披风修复

坐姿披风修复

坐姿斗篷修复:坐下时斗篷不再穿过座位。涵盖船舵、长椅、凳子、推车、雪橇、地面以及模组座位。客户端模组:服务器无需安装任何内容。开源。

描述

当你坐下时,披风不再穿过座位。无论是在 karve 或 longship 的舵轮处、长凳或凳子上、推车或雪橇中、坐在地上,还是其他模组的座位上:披风都会铺在你所坐的物体上,并垂落在其边缘外,就像披风本来的样子。

100% 客户端侧。 服务器上无需安装任何东西:它在任何专用服务器、朋友的本地主机和单人游戏中都能工作。无论其他玩家是否安装了该模组,你都能看到修复效果。

karve

karve stern

功能说明

  • 在你身后结束的座位(长凳、凳子、原木、海箱):披风铺在座位上,并垂落在其后边缘外。
  • 背后有墙的地面(longship 舵轮、Winter Sled、带座位的推车):披风铺在地面上,并聚集在墙前。
  • 延续的地面(船甲板、地面):披风铺在其上。
  • 环绕你的船体(karve 舵轮:船尾在你身后收窄):披风铺在船体两侧之间的地面上。
  • 正后方有靠背的椅子或王座(椅子、王座、沙发):保持不变,披风垂到靠背后,这样隐藏效果最好。

它不需要座位列表:它会读取你所坐物体的形状,因此其他模组的船只和家具也能工作(已测试的列在安装部分)。

ground

sled

cart

须知

  • 多人游戏: 安装模组后,你能看到每个玩家的披风都被修复;未安装的玩家看到的是原版游戏,包括你身上的披风。
  • 骑乘 lox、asksvin 或模组坐骑也算作坐下,但生物背上没有可供测量的座位:披风只会在你身后获得一个短边缘,看起来和原版游戏差不多。
  • 站在桅杆或船首处,或躺下,都不算坐下:模组在这些情况下不会改动披风。
  • 少数座位的形状目前还无法完全读取:OdinsBarrelRide 的木桶(披风仍可能从其侧面穿出)和 Winter Sled 的板条侧面(长披风的尖端可能从板条之间露出)。
  • 披风保留自己的物理效果:它仍会摆动、随风飘动并跟随你。模组只是为它添加了可以铺在其上的东西。

配置

BepInEx/config/rgeraskin.SeatedCapeFix.cfg。Configuration Manager(F1)可在游戏内修改,修改立即生效。

  • General / Enabled(true):修复开启或关闭(用于与原版游戏对比)。
  • Debug / Log(false):为每个坐下的玩家记录找到的座位。

安装

仅需 BepInExPack Valheim。使用模组管理器安装,或将 SeatedCapeFix.dll 放入 BepInEx/plugins。只有你需要它:服务器和其他玩家都不需要。

在 Valheim 1.0.21 上使用 BepInExPack 5.4.2351 在 Windows 和 macOS 上测试:单人游戏、玩家主持的游戏和专用服务器,涵盖各等级披风,在停泊和风暴中航行的船只上。已测试以下模组的船只和座位:

工作原理

披风是模拟布料。角色身上的布料只与角色自身身体碰撞,从不与世界碰撞,因此当你坐下时,没有任何东西阻止它直接穿过座位、甲板或你下方的船体。

当玩家坐下时,模组通过几次短射线检测测量其下方和后方的情况,判断属于上述哪种形状,并为披风添加匹配的不可见碰撞体:沿座位边缘排列的行,或用于地面、墙和船体侧面的平面。其他玩家的披风也在你的电脑上模拟,因此修复也会显示在他们身上。

它几乎没有可察觉的开销:坐下的玩家每秒被测量两次(在台式 PC 上约 0.1 毫秒),仅在你能看到他们时进行,所有人站立时则完全不测量。

使用 AI 制作

本模组(代码、测试、图像和本文)完全使用 AI 制作,并在游戏中进行了测试。

致谢

模组图像中的标题使用 Cinzel(Natanael Gama,SIL Open Font License)。图标的标题使用 Lilita One(Juan Montoreano,SIL Open Font License)。

许可证

MIT。源代码:github.com/rgeraskin/valheim-seated-cape-fix

发现 bug 或披风仍会穿出的座位?请在 GitHub issues 页面报告,最好附上截图和座位所属模组的名称。