你了解泰拉瑞亚中的风吗?你知道风速的作用吗?如果你想对这一游戏机制有更多的认识,那么本文或许会对你起到帮助。
(内容搬运自泰拉瑞亚wiki,感谢wiki工作者的辛勤付出)
概念
风是泰拉瑞亚中的一种机制,会影响各种物体的运动以及大风天和沙尘暴的发生。
风速的范围是在0到60mph之间(mph指英里每小时)。风可以从东面或西面吹来。诸如天气收音机之类的信息配饰所显示的风向指的是风从哪边从来,而非向哪边吹去(因此,例如“25 mph 西风”意味着风以 25 mph 风速从西边吹来)。
风主要影响不会影响游戏玩法事物,比如云的移动速度、暴雪和沙尘暴的背景效果、和水面与树的动画。不过,它偶尔也会对游戏玩法有影响,比如它对爆炸泡泡的影响和对遭受强风折磨的玩家的影响。宇宙车钥匙所召唤的UFO坐骑似乎也会稍微被风所推动,但很难察觉到,除非长时间对着某个角落发射会反弹的武器。
风速为20mph或更高时会发生大风天事件,在风速降低到16mph以下时结束。
天气收音机、探鱼器、个人数字助手、和手机全都能在屏幕右上角列出风速。
功能
游戏的代码中有两个控制风速的核心值:windSpeedCurrent 和 windSpeedTarget,二者均每嘀嗒(六十分之一秒)更新一次。windSpeedCurrent 的变化速率由以下公式确定:
speed = |windSpeedTarget/50 * (1 + 降雨强度 * 5/9) - windSpeedCurrent/50| * 0.0015;
其中 windSpeedTarget 和 windSpeedCurrent 值的单位为游戏所使用的 mph。游戏将两个值都存储为浮点值,当 <0时是东风,>0时是西风。 世界在创建时,会带有不超过 20 mph 的风,并且会设置变量 windCounter 来防止风速在接下来的 15 - 45 秒内有变化。这段时间结束后,会有一些随机几率会在一定量以内加强或减弱风,每 15 - 45 秒就会这么循环一次(“阵风”)。(存疑)
有第二个计数器(extremeWindCounter),它在每一次阵风出现时都会减一。当它到达零时,会引发“极端阵风”。在世界生成过程中和发生极端阵风时都会重置这个计数器。
当极端阵风出现时,目标风速将决定经过多少次阵风后会发生下一次极端阵风。
最后,如果某次阵风让风向改变,则目标风速有 66%几率会翻转回到原来的方向。 完成所有这些步骤之后,目标风速会被限制为不超过40mph。
影响
风会有以下影响:
家具
一些家具,当其处于地表上,位于以下任意墙前面、或者其后面根本没有墙时,会受风影响。
满足以上条件时,以下家具会受风影响:
强风
强风默认情况下每秒会推动玩家 mph * 0.0012 像素。如果风速 > 25mph,此数值还会增加 37%。如果玩家正在坠落或跳跃,此数值会提高 50%。最后,如果玩家向左或向右移动,此数值会降低 20%,并且最后会被限制为不超过 0.072 像素/帧。
以足够的速度迎风奔跑会让玩家出现类似于穿着赫尔墨斯靴奔跑时的那种效果的微粒。
骑着坐骑在固定高度上向左或向右移动时会抵消强风的影响。
备注
当正好为 0 mph 时,游戏会将其视为西风,但由于风速使用的是小数系统,此值通常只是接近但不会正好是 0。
在标题屏幕上,会初始化出一个最高 40 mph 的风速。但这并不会带入生成的世界中,世界内会以最高 20 mph 的风速开始。
由于这些初始速度,世界有 1/400 几率生成时就处于大风天状态。
在旅行模式中,如果玩家控制风速,那么在灯笼夜期间风速会降到零。
只有目标风速会随同世界存盘,加载这个世界时,当前风速会被设置为目标风速。这会使得玩家退出又重新进入世界后风速上会有轻微不同。
花絮
在较低的风速时,每嘀嗒内叶子从树上掉落的频率较低(5 mph → 1/2000 几率、10 mph → 1/1000、15 mph → 1/450、……40 mph → 1/50)。虽然最大风速是 40mph,但却有针对 55 mph 及更高风速情况的代码,几率为每嘀嗒 1/10。
废弃的射弹物理
在游戏代码中,有一个布尔值 Main.windPhysics 可以开关一个特性:射弹会受风影响。因为它处于禁用状态,因此目前游戏中并没有这样的特性。以下是关于此特性效果的详细描述。
值得注意的是,此特性会试图在北极上禁用风的效果,但不清楚这是为了防止和现有代码冲突还是为了彻底移除此特性。
当此特性被激活时,以下所有射弹,当其位于地表上且未卡债图格中或在墙后时,都会受风影响。这仅当它们沿当前风向移动且其 x 速度低于 wind mph * 0.36 时才会发生。这会让它们的 x 速度每嘀嗒改变 wind mph * 0.002 像素,或者说每秒 wind mph * 0.12 像素。
在这种情况下,射弹的x速度不能超过 16,但实际上永远不会达到此限制,因为可能的最大风速,40 mph,只能将射弹吹到每嘀嗒 14.4 像素。