饥荒联机天气机制: 雨 by 熬夜没精神

您所在的位置:网站首页 干部培训心得体会范文大全1000字 饥荒联机天气机制: 雨 by 熬夜没精神

饥荒联机天气机制: 雨 by 熬夜没精神

2024-01-16 09:52| 来源: 网络整理| 查看: 265

公式部分颜色都减淡了,方便快速浏览时跳过。

通常的情况下,地面(就是非洞穴)冬季温度低于5时,雨转换为雪;春季温度高于0时,雪转化为雨。(冬季的洞穴依然下雨)。地面和洞穴的天气系统是分开的。大部分的机制相同,区别主要在冬天。

 

1、水分Moisture  决定降雨/雪的开始与停止:

当水分值达到或高于水分上限,就会降水;当水分值低于水分下限,降水就会停止。

 水分不会高于水分上限,也不会低于水分下限。

1.1水分上下限

水分上限

强制降水指令是通过让水分值达到水分上限来强制降水,

水分上限在停止下雨时改变:

每个季节的范围都不同,已整理成表格:

开局的上限小,使得第一场雨能够来得更早,也更小

水分下限

0.25~0.75×水分上限×水分下限乘数(秋冬为1,春为0.25,夏为1.5)

创建世界后刚开始为0,在开始下雨时改变。

 

季节变换不会改变当前的水分上限和水分下限。所以每个季节的第一场雨的水分上限取决于上一次下雨的季节。举个例子,如果夏季下了雨,在自然条件下,当年秋季会等很久才下雨,而且这场雨会下很久,甚至可能出现前一场雨刚停,第二场雨就开始下的“连环雨”情况(因为夏季产生的水分下限可能高于秋季的水分上限)。

 

1.2雨量计:

下雨/雪:满

天晴时:(水分-水分下限)/(水分上限-水分下限),这个数字越大,指针就会越靠右。所以指针只会从左到右转动。指针到最右边就会下雨,天晴再一下跳到最左边。

 

1.3水分变化方式

1.3.1自然变化:

(1)在没有下雨时,缓慢增加,

公式:当天的水分增加速率=水分速率下限+(水分速率上限-水分速率下限)×sin[π×(本季剩余天数,包括当天)÷本季总天数]

是的,水分增加速率在同一天内不会改变。

可以跳过

例外:在冬季地面的第二天,水分增加速率 固定是50

如果是初始季节或者使用游戏自带的跳转季节的指令,那么春、秋季的本季总天数计算时先×2

比如游戏的第一天,水分速率为0.25+0.75×[1-sin(π/2)]=0.25

所以第一天水分增加0.25×480=120。

使用跳天数指令增加的水分=当天水分增加速率×跳过的天数

自然变化的公式复杂,而人为控制的方法简单稳定。大概规律是春天水分增加快,夏天增加慢,秋冬相同。根据前面提到的水分上限,推测出:游戏开局第一场雨开始的时间范围是从第4天7分钟到第8天1分钟。

(2)在下雨时,减小,减小速率取决于降水速率

公式:按10×降水速率减小(降水期间不计算水分增长速率)

 

1.3.2可操控的方式(仅地上):

(1)在地面使用传送法杖会一次性增加500点水分值(洞穴不会增加),但不会使水分高于水分上限。可以通过前面的内容计算水分下限与上限的差来判断要多少次传送法杖才能触发下雨。开局两次就可以下雨。即使是刚下过雨的夏季,用掉5根传送法杖总能下雨。

(2)春季boss小鹿鹅在愤怒时转圈产生雷电后,水分值将直接会变为水分上限,意味着:没有下雨时会直接下雨,若已在下雨,则回到雨刚开始下的状态

 

 

2、降水Precipitation 降水的大小

MOD show me中雨量计显示的 Global Rain 便是这里提到的降水速率,Global Wetness 则是后面提到的湿度

2.1降水速率:在0.1到1之间波动

公式为 0.1+0.9×sin[π(水分值-水分下限/水分上限-水分下限)],但不会超过本季降水速率上限

降水速率刚开始小,逐渐增大,快结束的时候减小,类似正弦函数。但降水速率上限不会超过降水速率上限,所以是降水速率上限决定了雨下得大不大。

 

2.2降水速率上限范围:

春季的雨有时很大,而夏季的雨总是很大

 

2.3降水与农业

只有种子(能种农场的那种)种出来的作物会受下雨影响

在任意季节的雨中,生长速率提升3×降水速率,也就是,在雨最大的时候可以达到4倍生长速率。

在春天且没有下雨时,农场作物生长速率提升25%。

 

2.4降雨与光源

降水速率还会使燃烧类的光源加速消耗。

一次性火堆和冰火的消耗速率增加2.5×降水速率;

石头的火堆和冰火、猪人火炬的消耗速率提升2×降水速率;

火把消耗速率提升1.5×降水速率;

打火机消耗速率提升1×降水速率;

红灯笼消耗速率提升0.25×降水速率。

火把、打火机、红灯笼可以通过持有者躲在树下来避免消耗速率提升。

 

2.5青蛙雨

每次下雨都有16%的几率可以下青蛙雨

但是只有春天,降水速率大于0.55且水分大于2500时才会生成青蛙

 

3、湿度wetness  

世界湿度,决定世界干燥或是潮湿。湿度的范围是0到100。高于35变得潮湿,低于15变得干燥。

建筑,没有潮湿标签且没有潮湿值且不可拾取的生物和物品,都是根据世界湿度决定干湿。

在下雨时,世界湿度,生物(角色和龙蝇)的潮湿值 增长的速率都为

0.75×[1-cos(降水速率×π/2)]

雨最大的时候,潮湿增长是0.75而不是1。

 

变化规律:

温度越高,世界湿度下降越快;湿度越高,世界湿度下降也越快。公式复杂省略。

地面(就是非洞穴)特有:在冬季且温度小于0时,以固定速率为1下降。

查看的控制台代码:

地面:

for k,ent in pairs(Ents) do if ent.prefab== "forest_network" then print (ent.components.weather:GetDebugString()) end end

洞穴:

for k,ent in pairs(Ents) do if ent.prefab== "cave_network" then print (ent.components.caveweather:GetDebugString()) end end

如有错误或者不详细欢迎提出



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3