缺氧 wiki 编辑团队提示:注册账号并登录后体验更佳,且可通过参数设置定制优化您的浏览体验!
该站点为镜像站点,如果你想帮助这个由玩家志愿编辑的 wiki 站点,请前往原站点参与编辑,
同时欢迎加入编辑讨论群 851803695 与其他编辑者一起参与建设!
液体
阅读
2024-08-19更新
最新编辑:Ra丶华
阅读:
更新日期:2024-08-19
最新编辑:Ra丶华
液体在游戏中是一种元素类别,反映元素的“物态”。这类元素对现实中的液体性质进行了部分模拟。
液体列表
液体在低(高)温相变点以下(上)3°C 时会发生相变,称作凝固/蒸发,多与现实情况类似。在液体管道中的液体发生相变时会从管道漏出并损坏管道,但管道内液体少于 1 千克时不相变。
名称 | 凝固温度 °C |
凝固产物 °C |
蒸发温度 °C |
蒸发产物 °C |
比热容 复制热/克/°C |
热导率 复制热/格/秒/°C |
密度 克/摩尔 |
辐射吸收因数 |
---|---|---|---|---|---|---|---|---|
液态氢 | -259.15 | 固态氢 | -252.15 | 氢气 | 2.4 | 0.1 | 1.00794 | 0.90 |
粘性凝胶流体 | -30.65 | 固态粘性凝胶 | 479.85 | 液态石脑油 | 1.55 | 0.45 | 10 | 0.60 |
熔融碳 | 3551.85 | 精炼碳 | 4826.85 | 气态碳 | 0.71 | 2 | 12.0107 | 0.84 |
液态氧 | -218.79 | 固态氧 | -182.96 | 氧气 | 1.01 | 2 | 15.9994 | 0.82 |
液态甲烷 | -182.6 | 固态甲烷 | -161.5 | 天然气 | 2.191 | 0.03 | 16.044 | 0.75 |
水 | -0.65 | 冰 | 99.35 | 蒸汽 | 4.179 | 0.609 | 18.01528 | 0.80 |
污染水 | -20.65 | 污染冰 | 119.35 | 蒸汽:泥土 = |
4.179 | 0.58 | 20 | 0.80 |
盐水 | -7.5 | 浓盐水:冰 = |
99.69 | 蒸汽:盐 = |
4.1 | 0.609 | 21 | 0.80 |
花蜜 | -82.5 | 冰:蔗糖 = |
160 | 蒸汽:蔗糖 = |
4.1 | 0.609 | 21 | 0.90 |
浓盐水 | -22.5 | 浓盐冰 | 102.75 | 蒸汽:盐 = |
3.4 | 0.609 | 22 | 0.80 |
咸乳 | -16.5 | 凝冻咸乳 | 80 | 浓盐水:咸乳蜡 = |
4.1 | 0.609 | 23 | 0.80 |
液态磷 | 44.15 | 精炼磷 | 280.45 | 气态磷 | 0.770 | 0.236 | 30.973762 | 0.75 |
液态硫 | 115.2 | 硫 | 337 | 硫蒸气 | 0.7 | 0.2 | 32 | 0.74 |
熔融盐 | 799.85 | 盐 | 1464.85 | 气态盐 | 0.7 | 0.444 | 32 | 0.75 |
熔融蔗糖 | 185.85 | 蔗糖 | 230 | 二氧化碳 | 1.255 | 0.15 | 32 | 0.70 |
液态氯 | -100.98 | 固态氯 | -34.6 | 氯气 | 0.48 | 0.0081 | 34.453 | 0.73 |
液态二氧化碳 | -56.55 | 固态二氧化碳 | -48.15 | 二氧化碳 | 0.846 | 1.46 | 44.01 | 0.80 |
液态丙烷 | -188.15 | 固态丙烷 | -42.15 | 丙烷 | 2.4 | 0.1 | 44.1 | 0.75 |
乙醇 | -114.05 | 固态乙醇 | 78.35 | 气态乙醇 | 2.46 | 0.171 | 46.07 | 0.70 |
岩浆 | 1409.85 | 火成岩 | 2356.85 | 气态岩 | 1 | 1 | 50 | 0.80 |
熔融玻璃 | 1126.85 | 玻璃 | 2356.85 | 气态岩 | 0.2 | 1 | 50 | 0.65 |
液态树脂 |
20 | 固态树脂 | 125 | 蒸汽:异构树脂 = |
1.11 | 0.15 | 52.5 | 0.75 |
熔融铝 | 660.3 | 铝 | 2470 | 气态铝 | 0.91 | 20.5 | 55.845 | 0.77 |
熔融铁 | 1534.85 | 铁 | 2749.85 | 气态铁 | 0.449 | 4 | 55.845 | 0.66 |
熔融钴 |
1494.85 | 钴 | 2926.85 | 气态钴 | 0.42 | 4 | 58.9 | 0.63 |
熔融钢 | 1083.85 | 钢 | 3826.85 | 气态钢 | 0.386 | 80 | 63.546 | 0.74 |
熔融铜 | 1083.85 | 铜 | 2560.85 | 气态铜 | 0.386 | 12 | 63.546 | 0.61 |
石油 | -57.15 | 固态石油 | 538.85 | 高硫天然气 | 1.76 | 2 | 82.2 | 0.80 |
熔融铌 | 2476.85 | 铌 | 4743.85 | 气态铌 | 0.265 | 54 | 92.9 | 0.49 |
液态石脑油 | -50.15 | 固态石脑油 | 538.85 | 高硫天然气 | 2.191 | 0.2 | 102.2 | 0.60 |
熔融钨 | 3421.85 | 钨 | 5929.85 | 气态钨 | 0.134 | 4 | 183.84 | 0.35 |
熔融金 | 1063.85 | 金 | 2855.85 | 气态金 | 0.129 | 6 | 196.966569 | 0.35 |
液态核废料 |
26.85 | 固态核废料 | 526.85 | 核尘埃 | 7.44 | 6 | 196.966569 | 0.30 |
熔融铀 |
132.85 | 贫铀 | 4131.85 | 气态岩 | 1.69 | 2 | 196.966569 | 0.30 |
熔融铅 | 327.5 | 铅 | 1749 | 气态铅 | 0.128 | 11 | 196.966569 | 0.85 |
汞 | -38.85 | 固态汞 | 356.75 | 汞蒸气 | 0.14 | 8.3 | 200.59 | 0.25 |
超级冷却剂 | -271.15 | 固态超级冷却剂 | 436.85 | 气态超级冷却剂 | 8.44 | 9.46 | 250 | 0.60 |
原油 | -40.15 | 固态原油 | 399.85 | 石油 | 1.69 | 2 | 500 | 0.80 |
熔融合成气 |
-259.15 | 固态合成气 | -252.15 | 合成气 | 2.4 | 0.1 | 1.00794 | 0.70 |
液态氦 |
-273.15 | -268.93 | 氦气 | 0.2 | 0.236 | 4 | 0.89 |
机制
游戏中的液体有几种存在方式:组成自然方格、形成液滴、包含于瓶装碎片或建筑存储中。不同存在方式的液体性质有所差异。
自然方格
组成/占据自然方格的液体,受重力影响,会停留在不允许液体透过的方格上方,或下沉到密度较小的液体方格下方,此外还能发生水平和竖直方向上的流动,或向相邻方格施加压力。这些液体可作为方格主体参与到和其他实体的换热过程中。
自然方格中小于 10 克的液体不能稳定存在,会在下个游戏刻(0.2 秒)消失。
重力
如果不受阻挡且未形成液滴,那么方格中的液体每经过 1 游戏刻就会落到下方一格。下落过程中的液体不会发生流动,直到其下方触及不允许液体透过的方格或其他液体方格(包括该格液体也正在下落的情况)。
- 以下常见方格不允许液体透过:
- 下落液体经过气体方格时,二者直接交换位置。
- 下落液体经过“太空暴露”的方格时会流失一部分,经过 虚空方格时则会直接消失。
因触及方格而停止下落的液体随即发生水平和竖直流动,或对两侧的不同种液体施加压力;如果液体下方是密度较小的液体方格,则在发生流动或挤压之后还会将两格液体互换位置。每游戏刻处理一次。
- 如有实际流动发生,按照下 → 左 → 右 → 上的顺序处理并分配流动质量,详见#流动部分。
- 在一个游戏刻中流动、挤压和交换的处理顺序可能并不是固定的,比如有时流动到两侧的液体会随即与下方密度小的液体互换位置,有时则不会。
密度
不同液体通常具有不同密度。具有不同密度的液体方格在竖直方向上堆叠时,会通过互换的操作,保持密度小的液体处于上方,密度大的液体处于下方。
流动
液体方格存在水平和竖直流动的倾向。在未受阻挡(除类似#重力的判定外,不同种液体以及周围没有同种气体的单格气体也会造成阻挡)时,超过一定量的液体就可以发生流动。
在一个游戏刻中,一格液体按照下 → 左 → 右 → 上的顺序分配流至该方向的液体质量。不同液体在一次流动中可分配的液体范围也有所差异。
- 水平流动:向左/右流动到同种液体/气体/真空时,每游戏刻分配本格液体质量与左/右格液体质量差值的 25%,但存在流动质量上限,记为“最大流动质量”[1];也存在流动质量下限,记为“最小水平流动质量”[2]。
- 例 1:平面上有一格可向两侧流动的质量为 480 千克的 水,它在一个游戏刻中先向左流动 120 千克,再向右流动 90(= 360 × 25%)千克。
- 例 2:将例 1 中水的质量改成 1000 千克,这时它在一个游戏刻中先向左流动 125 千克,再向右流动 125 千克,因为水的最大流动量为 125 千克。
- 例 3:将例 1 中水的质量改成 40 克,这时它只向左流动 10 克,不再向右流动,因为水的最小水平流动质量为 10 克。更进一步说,一格水的质量小于 40 克时,所能分配的水平流动质量就已经小于 10 克,因此不再水平流动。
- 由例 3 结论可以推出,各种液体在方格中的质量小于“最小水平流动质量”的 4 倍时,就不会发生水平流动。 粘性凝胶流体是一个例外,它必定不发生水平流动。
- 竖直流动:首先考虑液体的满格量[3],即上方无阻挡或同种液体时一格液体的最大质量;其次考虑液体的压缩比[4],即稳定状态下一格液体与其上方同种液体的质量比:目前所有液体的压缩比都为 1.01[5]。
- 液体向下/上流动到同种液体/气体/真空时,通过每游戏刻分配液体,使得两格中下格液体质量不超过满格量,或超过满格量但不小于上格液体质量的 1.01 倍;期间流动质量也存在“最大流动质量”这一上限,以及“最小竖直流动质量”这一下限[6]。 粘性凝胶流体不会向下流动,但可以向上流动,流动质量介于 10 克 ~ 1 千克。
- 如果向下流动时本格液体和下方液体均未到达满格量,则向下流动质量不能超过液体满格量与下方液体质量差值的一半,且仍需考虑流动质量上下限;若本格液体质量小于液体满格量与下方液体质量差值的一半且小于流动质量上限,则直接合并到下方液体并结束流动。
- 例 4:一格 80 千克的水向下流入一格 900 千克的水,在 3 个游戏刻内先后流动 50 千克 → 25 千克 → 5 千克,结果得到一格 980 千克的水。
- 例 5:同样一格 80 千克的水只能令 10 克水向下流入一格 999.98 千克的水中,因为向下流动质量不能超过水的最小竖直流动质量 10 克。
- 与向下流动的情况类似,向上流动质量不能超过本格液体质量与液体满格量差值的一半,且仍需考虑流动质量上下限。
- 例 6:上方没有液体的一格 1250 千克的水,在数个游戏刻中先后向上流动 125 千克 → 62.5 千克 → 31.25 千克 → ...,直到算得单次流动量低于下限 10 克为止。
- 下格液体质量远大于上格时,液体向上扩张不会考虑流动限制,可以认为并不是发生流动。
- 例 7:两侧有阻挡且上方没有液体的一格 1626 千克的水,在一个游戏刻后发生“涌动”,约有 809 千克水涌至上格;这是因为如果正常流动的话,会出现一格 125 千克的水位于一格 1501 千克的水上方的情况,触发了后文#涌动的机制;此后由于下格液体未满格,涌到上格的水又向下流动,直到算得单次流动量低于下限 10 克为止。
- 例 8:一格 2000 千克的水,在上方一格为真空/可推开的气体/水(且水的质量不大于 990 千克,即满格量/1.01)时,总是先强制将 500 千克水分配到上方一格。
推动
一格液体在水平方向上被不同种液体所阻挡时,会尝试通过推动的方式将阻碍其流动的另一格液体往该方向推离原位置。每格液体每游戏刻进行一次推动判定;判定成功后,施加推动的液体会分配出自身质量的 12.5% 占据此格,并推离原本位于该格的液体。
- 无法通过推动将一格液体推到真空所在格,也无法将一格气体推到液体或其他气体所在格。
- 推动判定会检查施加推动的液体所在格、被推动的液体所在格、预计被推动后的液体所在格这三个方格(下记作 A → B → C 格,箭头提示推动方向)的元素和质量 [math]\displaystyle{ m }[/math]情况:如果 [math]\displaystyle{ m_A \gt m_B + m_C }[/math],且 B 格元素与 C 格元素相同或 C 格元素可推离(包括 C 格是一格气体且周围存在同种气体的情况),那么推动判定成功,且 B 格元素在同一游戏刻的推动判定中视为可推离。
- 同一行的液体方格按照从左往右的顺序进行推动判定,在推动判定都结束后才发生实际液体分配。
- 例 9:水平方向上从左往右放置了
可以看出,从第三格开始,每一格的液体质量都大于其左边两格液体质量之和[7]。这样,在从左往右进行推动判定时,第三格视为可将第二格的液体推至第一格;第四格视为可将第三格的液体推至第二格……直到最右边一格的液体都满足向左推动判定,使得推动判定全部结束后会形成999 克原油、1 千克原油、2 千克水、4 千克原油、7 千克水、12 千克原油、20 千克水
相当于最右边一格的水在一个游戏刻内将中间的液体都向左推动了一格。1.999 千克原油、2 千克水、4 千克原油、7 千克水、12 千克原油、2.5 千克水、17.5 千克水
- 如果例 9 的液体放置顺序改为从右往左,由于判定顺序不变,一开始只有右起第三格的 2 千克水满足向右推动判定,会将右起第二格的 1 千克原油推到最右格;下一个游戏刻中则轮到右起第四格的 4 千克原油满足向右推动判定,以此类推。尽管最终结果跟例 8 的结果对称,却需要经过多个游戏刻的逐次推动,而不像例 8 一步到位。
- 推动与流动不同,不受流动质量限制。原本不会自发流动的液体(如任意质量的 粘性凝胶流体)也可以推动其他液体。
- 如果推动分配的质量小于 10 克,那么推动仍然会发生,只是分配出来的液体会在推动判定结束后消失。
涌动
一格液体如在进行流动和推动判定后质量仍超过其满格量 1.5 倍,则其向上的流动往往会强行替换为涌动。
- 比如前文例 7 中“两侧有阻挡且上方没有液体的一格 1626 千克的水”,其发生涌动的原因就是如果只进行流动判定,会使得其质量仍为 1501 千克(=1626 - 125),超出了满格量(水为 1000 千克)的 1.5 倍;将这个例子中水的质量改为 1625 千克或以下,涌动就不会发生。
发生涌动现象时,将涌动发生的液体格记作 A 格,其上方一格记作 B 格,在已计算流动和推动的游戏刻中循环进行下列操作步骤:
- 在 B 格周围四个方向上选择一格[8],如果该格存在气体,则将其推开形成真空。所选的方格确实可以允许液体透过时,就将 B 格液体的一半质量分配到该格;剩余的质量如果可以转移到剩余未受阻挡的方向,则再平均分配到这些方向。
- 将 A 格的液体质量强制按照 1.01:1 的比例分配到 A、B 两格,其中 1.01 就是现有液体的压缩比。
- 检查 B 格液体质量是否超过满格量 1.5 倍,如是,重复步骤 1,但将 B 格代入 A 格,将 B 格上方一格代入 B 格。
这一循环直到竖直方向上遇到阻挡,或“B 格”(即实际涌动后液体顶点向下一格)质量不超过满格值的 1.5 倍时才中止。由循环操作的机制可以推断,当一格质量非常大的液体发生涌动时,可以在单个游戏刻内就迅速占据竖直方向上的多格,而且之后的游戏刻中仍可能发生连锁式的涌动(因为还有若干可能发生涌动的液体格未进行判定),其影响速度和范围常常超出玩家的想象。
- 有时涌动不在液体失控后立即发生,这可能是因为液体的向上流动被替换成了以下现象:下格液体将超出实际满格量[9]的 50% 质量强制分配到上格,且分配后下格液体的质量仍不大于上格液体的 1.01 倍。发生这种现象的前提是下格液体质量至少为满格量的 2 倍,如前文例 9 的情况。
- 在使用透气砖阻止涌动现象时,可以在液体没有实际移动到透气砖所在格的情况下持续推动透气砖中的气体,因此可用来转移这一区域内的气体。
一格一物
除上述液体自发运动外,基于一格一物机制,在方格中直接生成的固体/液体/气体物质会试图将原本占据该格的液体强制挤压到该格的周围四个方向,否则会跟这些液体等质量湮灭。
发生这种挤压时:
- 如果原液体所在方格的四个方向都不受阻挡,则向每个方向分配原液体质量的 25%;
- 如果其中一个方向受阻,则选择一个不受阻挡的方向[10]分配 50% 质量,剩余两个方向分配 25%;
- 如果其中两个方向受阻,则剩余两个方向各分配 50%;
- 如果三个方向受阻,则液体 100% 转移到剩余方向。
压力损害
液体方格中的液体量超出满格量时,如果液体方格周围一个或多个方向上存在固体自然方格和砖块(下统称“墙体”),那么超出满格量的这部分液体会分别对这些方向上的墙体施加压力,并可能会使其受到压力损害。
受到压力损害的墙体会表现出破裂的外观,其中砖块还会显示由于受到压力损害而削减的血量条(自然方块也有类似的血量值,但不显示)。如果墙体只有一层,那么从某个方向上受到压力损害的墙体会在该方向上以液滴形态渗漏液体。墙体的“血量”因压力损害而归零时会被强制毁坏,导致液体失控外溢。自然方块被毁坏相当于被挖掘,而大部分砖块被毁坏会直接消失,不返还建筑材料。
双层墙体会共同承受此方向上的液体压力,而三层或以上的墙体可以完全防止此方向上的压力损害。此外, 手动气闸、 机械气闸、 地堡门、以及遗迹中的砖块可以免疫压力损害; 透气砖和 太阳能板作为双层墙体的内层时,由于机制上不跟液体直接接触,也可以免疫压力损害,但作为外层时不与内层墙体共同承压。
墙体的承压能力由其组成元素强度和结构强度共同决定,其中元素强度为自然方格或砖块的组成元素的“强度”(可在游戏文件 solid.yaml
中找到),结构强度则由方格的结构类型决定。由于游戏中设定流体的压力与其质量成正比而与流体种类或密度无关,且只有超出满格量的液体有可能造成压力损害,因此墙体的承压能力可以表示为其所能承受的超出满格量的液体质量值。这一液体质量阈值(单位:千克)可用下式计算:
质量阈值 = 元素强度 × 结构强度 × 1000
注意,由于浮点数运算的舍入误差,理论计算结果可能会与实际游戏中的阈值存在少量偏差。
墙体种类 | 结构强度 |
---|---|
固体自然方格 | 方格质量 ÷ 元素满格量 (后者可在 solid.yaml 中查到)
|
默认结构强度 | 1 |
砖块 雪砖 木砖 |
1.5 |
地堡砖 火箭墙体 |
10 |
通行支架 | 0.02 |
元素 | 强度 |
---|---|
粘土 沉积岩 泥土 化石 |
0.2 |
异构树脂 塑料 |
0.4 |
砂岩 | 0.5 |
铝矿 铜矿 金 |
0.7 |
铜 金汞齐 铅 铌 导热质 黑钨矿 |
0.8 |
铁矿 钨 |
0.9 |
铝 陶瓷 玻璃 火成岩 铁 黑曜石 镁铁质岩 |
1.0 |
花岗岩 | 1.5 |
钢 | 2.0 |
钻石 | 2.5 |
淹没
大部分植物和小动物无法在含有大量液体的方格中呼吸,大部分小动物也不会主动到达这些方格。许多建筑也会因所在区域中存在这些方格而显示淹没并停止工作。
- “含有大量液体的方格”指液体量达到满格量 35% 或以上的液体方格;对动植物而言,上方存在固体/液体方格的液体方格也归入这类。
- 植物中, 顶针芦苇无视淹没判定, 水草则不会因淹没而死亡;小动物中, 抛壳蟹、 电弧蛞蝓、 栓角海豹不会因淹没而死亡, 帕库鱼反而要处于满足淹没判定的液体环境中,不然会进入挣扎状态。
- 水中城堡需要淹没在液体中才能使用。
液滴
液滴是游戏中对某些场景中液体下落的表现形式。成为液滴的液体不能被光标选中,不会因为经过太空暴露的方格而损耗质量,也不跟其他游戏实体发生换热。
形成
以下场景可以形成液滴:
在形成液滴的位置还会产生漩涡的动画贴图,起到一种提示作用。
下落
液滴下落具有明显的加速度,通常比液体方格下落更快。液滴可以穿透密度较小的液体,也可以穿透质量小于满格量的同种液体,但会被密度相等或较大的不同种液体以及质量大于满格量的同种液体阻挡,还会被其他不允许液体透过的实体(见前文#重力)阻挡。液滴经过 虚空后直接消失。
受到阻挡的液滴会重新转换成液体方格。决定生成液体方格的位置时,从被阻挡的方格上方一格开始逐格向上检查,直到发现组成元素不是固体的方格,就在该处直接生成液体。生成的液体可以根据一格一物机制挤压原本位于该格的液体/气体。
碎片
在建筑(如 储液库)中储存的液体以瓶装碎片的形式存在。清空液体管道、擦拭液体或拆除存有液体的建筑时会掉落相应的瓶装液体碎片。一些不接受液体管道输入的建筑有时需要复制人运送液体碎片才能正常工作。液体碎片也能参与换热,凝固时在所在格形成相应的固体方格。
参见
注释
- ↑ 游戏文件中字段为
speed
。 - ↑ 游戏文件中字段为
minHorizontalFlow
。 - ↑ 游戏文件中字段为
maxMass
。 - ↑ 游戏文件中字段为
liquidCompression
。 - ↑ 在较深的水池中可以观察到这种比值关系:如果有 [math]\displaystyle{ N }[/math] 层液体的质量超过满格量,那么考虑到显示误差,最底层的质量往往接近满格量乘以[math]\displaystyle{ 1.01^N }[/math]。
- ↑ 游戏文件中字段为
minVerticalFlow
。 - ↑ 实际过程对差值没有要求,不会被舍去即可。
- ↑ 这个选择在不同游戏刻中按左 → 上 → 下 → 右的规律循环往复,如果所选方向被固体/液体阻挡,则依次替代(如右方被阻挡时改为左方)。由于涌动现象要求 B 格下方总是液体,即下方一直会被阻挡,实际选择时按左 → 上 → 右 → 右的规律循环。
- ↑ 即[math]\displaystyle{ Max(m_\text{上格液体} \times 1.01, m_\text{满格量}) }[/math]
- ↑ 这个选择在不同游戏刻中按左 → 上 → 下 → 右的规律循环往复,如果所选方向被阻挡,则依次替代(如右方被阻挡时改为左方)。