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以前的生物群系[]
你可以帮助我们加入信息。
溢出[]
一旦超过给定数据类型的限制,噪声生成器就会发生溢出,从而生成出乎预料的地形。其中最典型的是边境之地。
在当前的Java版中,如果不直接修改地形生成代码或通过自定义世界生成,溢出通常是不可见的。
Infdev 20100327版本前的地形生成噪声溢出
沙子噪声溢出
沙砾噪声溢出
语言