Minecraft使用了几种不同的噪声生成器(Noise generators),特别是那些利用梯度噪声来生成地形和其他特征的。
规格
噪声生成器可以由以下参数定义:
- Octaves: 这个噪声生成器不同副本的数量,每个从上一个按比例缩小2倍。此参数较小时会导致不自然的外观,较大时会导致更粗糙的地形外观(含有更多的空隙),会让人联想到适当的地形。
- Frequency:
[需要更多信息] - Factor: 处理后与噪声值相乘的值(空隙),同时使一组值或多或少的极端。
- Offset: 处理后添加到噪声的值,按照此值移动生成的一组值。
这些值在代码中的显示和计算方式不同。Vanilla简单地应用“比例”值(Frequency*(2^Octaves)),定义为每次采样(每四个方块)噪声生成器增加多少。
自定义
旧自定义世界(1.8-1.12)
你可以帮助我们加入信息。
自定义世界(1.16+)
你可以帮助我们加入信息。
噪声生成器的种类
在Java版中,噪声生成器仅使用64位种子的前48位来确定地层颜色。地层在Y轴上每64个方块重复一次,并且特定地层的高度可以在整个生物群系中变化多达4个方块。地层高度仅相对于X轴变化,与Z轴无关。
地形噪声生成器
这些用于定义生成的地形本身的形状。默认/硬编码设置表以及由此产生的值如下。请注意,并非所有这些都在原版中使用,而是由诸如CubicWorldGen(CurseForge·GitHub)之类的Mod使用。
| 基本地形噪声生成器(主世界) | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 生成器 | 低噪声 | 高噪声 | 选择器噪声 | 深度噪声 | |||||
| 范围 | X | Y | Z | X | Y | Z | X | Z | |
| Offset | |||||||||
| Factor | |||||||||
| Octaves | |||||||||
| Frequency | |||||||||
| 时期 | |||||||||
| 每个方块的增加量 | |||||||||
| 每次采样的增加量 | |||||||||
| 预期32位溢出距离 | |||||||||
| 预期64位溢出距离 | |||||||||
低噪声
低噪声(Low noise)是用于定义地形特征的两个主要噪声生成器之一。这种使用Perlin噪声的噪声生成器实际上是用于高度图的。
高噪声
高噪声(High noise)实际上与低噪声相同,但仅在选择器噪声高于给定阈值时使用。
选择器噪声
选择器噪声(Selector noise) 是用于地形生成的第三个重要噪声生成器,使用Perlin噪声,指示在给定位置使用低噪声或高噪声中的哪一个来生成地形:高于1使用高噪声,低于0使用低噪声,并且在高和低噪声生成器值0-1之间线性插值。
深度噪声
深度噪声(Depth noise)是一个非常微不足道的噪声生成器,使用Perlin噪声使地形总体上更加细致。它可能具有的可能值被严格限制在少许几个值上,也仅针对X轴和Z轴定义。
其他噪声生成器
所需信息:下界灵魂沙、沙砾和生物群系填充噪声的等价品
这些噪声生成器用于其他维度地形特征的生成。
| 装饰性噪声生成器(主世界) | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 生成器 | 生物群系填充噪声 | 恶地噪声柱(风蚀恶地的岩柱) | 恶地黏土带偏移噪声 | 沼泽噪声 | 花分布噪声 | |||||||||
| 范围 | X | Z | X | Y | Z | X | Y | Z | X | Y | Z | X | Y | Z |
| Offset | ||||||||||||||
| Factor | ||||||||||||||
| Octaves | ||||||||||||||
| Frequency | ||||||||||||||
| 时期 | ||||||||||||||
| 每个方块的增加量 | ||||||||||||||
| 每次采样的增加量 | ||||||||||||||
| 预期32位溢出距离 | ||||||||||||||
| 预期64位溢出距离 | ||||||||||||||
生物群系填充噪声
生成之后,顶层方块(例如泥土、沙子等)将会被放置到一定的厚度以覆盖裸露的石头,从而替换裸石的高度图,其厚度由Vanilla的噪声生成器决定。
生物群系分布
海洋生物群系及其变种普遍使用Perlin噪声函数分布。
多噪声生物群系源(同样适用于下界生物群系
恶地黏土带偏移噪声
你可以帮助我们加入信息。
恶地岩柱噪声(噪声柱)
你可以帮助我们加入信息。
沼泽噪声
沼泽使用噪声生成器有两个目的:用于生成由水和草方块混合而成的沼泽区域,以及用于使用的两种不同草颜色的变化。
花分布噪声
花的分布,最典型的是繁花森林,但也可能在其他地方,是通过噪声函数控制的。自然产生的花与通过骨粉种植的花的位置不同,通过骨粉种植的花可能不依赖于种子
已移除的噪声生成器
这些在当前版本的游戏中已不再使用。
| 已移除的噪声生成器(主世界) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 生成器 | Infdev 20100327前的噪声 | 岛屿雕刻噪声 | 比例噪声 | 沙子噪声 | 沙砾噪声 | 树密度噪声 | ||||||
| 范围 | X | Z | X | Z | X | Z | X | Z | X | Z | X | Z |
| Offset | ||||||||||||
| Factor | ||||||||||||
| Octaves | ||||||||||||
| Frequency | ||||||||||||
| 时期 | ||||||||||||
| 每个方块的增加量 | ||||||||||||
| 每次采样的增加量 | ||||||||||||
| 预期32位溢出距离 | ||||||||||||
| 预期64位溢出距离 | ||||||||||||
Infdev 20100327之前的主要噪声生成器
你可以帮助我们加入信息。
浮岛雕刻噪声
在Indev期间,浮岛是通过使用额外的噪声生成器将空气注入现有地形而产生的。
比例噪声
一种噪声生成器,似乎只对丘陵类生物群系有影响,对平原类生物群系几乎没有影响。它的影响现在由生物群系而不是噪声生成器来处理。
树密度噪声
Infdev中存在一个噪声生成器,它决定了主世界中树的密度。这很可能在Java版Alpha v1.2.0中随着生物群系的引入而被移除。尽管尚未得到证实,因为类似的噪声生成器似乎也存在于1.12.2中。
沙子噪声
噪声生成器用于生成用于通常具有海滩特征的临海(或低洼)地区的表面块。该噪声生成器将确定给定区域是否使用沙子作为表面方块。这可能在Beta 1.8中被移除。
沙砾噪声
这实际上与沙子噪声相同并且在非常相似的情况下使用,其决定了沙砾将在海滩状区域产生的位置。
Beta 1.8以前的生物群系
你可以帮助我们加入信息。