噪声说明

对于初学者来说,噪声 (Noise) 可能是一个比较抽象的概念。简单理解,噪声是一种基于某些输入(通常是 X,Y,Z 坐标)来计算并返回特定数值的数学方法。

你最熟悉的噪声应用场景可能是 Minecraft 的地形生成:在世界的每一个点上,系统会组合多个噪声函数来决定该坐标应当放置哪种方块,或者是否留空。

在 ezEdits 中,我们利用噪声来辅助生成几何形状、模拟自然地形以及复杂的铺色纹理。

插件内置了多种噪声类型,每种类型都有独特的视觉特征。其中 Cellular (细胞噪声) 拥有最丰富的自定义参数。

噪声的核心应用场景包括:

ezEdits 的噪声系统基于 FastNoiseLite 的优化版本。我们强烈建议你在以下网站实验各种参数以获得直观感受:http://auburn.github.io/FastNoiseLite/arrow-up-right

噪声参数 (Noise Parameters)

大多数参数和数值都有对应的简写,例如用 ft 代替 FractalType (分形类型)。在说明中,简写会标注在括号内。 红色 = 参数 紫色 = 数值

噪声类型 (Noise Type)

chevron-right设置基础噪声类型hashtag

这是定义噪声的第一步,基本格式为 类型(),如 Perlin()。所有的配置参数都将写在括号内。

  • Perlin (Pe) - 柏林噪声(最经典,过渡自然)

  • OpenSimplex2 (Si) - 改进后的 Simplex 噪声

  • OpenSimplex2S (Sm) - 更平滑的 Simplex 变体

  • Value (Va) - 值噪声(网格感略强)

  • ValueCubic (VC) - 三次插值值噪声

  • White (Wh) - 白噪声(完全随机,类似电视雪花)

  • Cellular (Ce) - 细胞噪声(沃罗诺伊图,蜂巢感)

  • Shard (Sh) - 碎片噪声

通用噪声参数

chevron-right基础配置项hashtag
  • Seed (s) 噪声种子。设为 -1 或不填将生成随机种子。

  • Frequency (f) 频率。值越高噪声越密集/陡峭,值越低噪声越平滑/开阔。

  • Inverted (i) 是否反转噪声值。

    • True (反转)

    • False (默认)

  • ValueMapping (m) 数值映射模式。默认情况下,噪声值被映射在 0 到 1 之间。

    • Default (Def)

    • None (No)

    • Override (OR)(手动覆盖映射范围):

      • LowerBound (l) (下限)

      • UpperBound (u) (上限)

  • XScaling (x) 可用于拉伸或挤压 X 轴。

  • YScaling (y) 使用 3D 噪声时,可用于拉伸或挤压 Y 轴。

  • ZScaling (z) 可用于拉伸或挤压 Z 轴。

细胞噪声参数 (Cellular Noise Parameters)

chevron-right额外细胞噪声专属参数hashtag
  • CellularJitterModifier (cJ) (抖动修正) 通常范围 0..1.0。控制细胞节点的随机分布。0 为完美整齐的网格,1 为最大程度的随机分布且无重叠。

  • CellularDistanceFunction (cD) (距离算法) 控制计算点到细胞节点距离的数学方法:

  • Euclidean (e) (欧几里得距离)

  • EuclideanSq (sq) (欧几里得平方距离)

  • Manhattan (man) (曼哈顿距离)

  • Hybrid (h) (混合距离)

  • Minkovski1 (m1) (闵可夫斯基 1)

  • Minkowvki4 (m4) (闵可夫斯基 4)

  • Minkowski99 (m99) (闵可夫斯基 99)

  • Rounded (r) (圆角距离)

  • CellularReturnType (cR) (返回类型) 控制最终返回的数值类型:

    • CellValue (cell) (单元格固定值)

    • Distance (1) (到最近点的距离)

    • DistanceSquared (sq)

    • DistanceInverse (inv) (距离反比)

    • DistanceLog (log) (距离对数)

    • DistanceExp (exp) (距离指数)

    • Distance2 (2) (到第二近点的距离)

    • Distance2Add (2add) / 2sub / 2mul / 2div (距离运算)

    • Distance2Sq (2sq)

    • Distance2Inv (2inv)

  • Distance2Log (2log)

  • Distance2Exp (2exp)

  • Edge (e) (细胞边缘模式)

  • Rounded (r) (圆角边缘)

  • NoiseLookup (n) (噪声查找模式) 当使用 NoiseLookup 时,可配置以下额外参数:

    • CellularNoiseLookup (cN) 控制填充在细胞结构内部的基础噪声类型。

    • CellularNoiseLookupFrequency (cF) 控制该基础噪声的频率。

碎片噪声参数 (Shard Noise)

chevron-right额外 Shard 专属参数hashtag
  • Sharpness (h) (锐度) 通常范围 0..1.0。值越高边缘越锋利,值越低边缘越模糊。

分形参数 (Fractal Parameters)

chevron-right分形噪声参数hashtag
  • FractalType (fT) 设置分形噪声的叠加模式。

    • None (N) (无)

    • FBm (F) (分形布朗运动,最常见)

    • Ridged (R) (脊状噪声,常用于山脉)

    • PingPong (P) (乒乓模式)\

      • PingPongStrength (fP) (乒乓强度)

若选择了非 None 类型:

  • Octaves (fO) (倍频/层数) 分形叠加的层数。层数越多细节越丰富,但性能消耗越大。

  • Lacunarity (fL) (空隙度) 控制每层分形之间的频率比例。通常 >1 以增加高频细节。

  • Gain (fG) (增益) 控制每层分形的强度比例。通常 <1 使高频细节的影响力逐渐减弱。

  • WeightedStrength (fW) (加权强度) 设置每层强度对最终噪声值的响应敏感度。

定义域扭曲 (Domain Warp Parameters)

chevron-right噪声扭曲与变形配置hashtag
  • DomainWarpType (wT) 定义如何让噪声产生扭曲感(如卷曲、流体感)。

    • None (N)

    • BasicGrid (G)

    • OpenSimplex2 (S)

    • OpenSimplex2Reduced (R)

    • Flow (F)

    • Turbulence (T) (湍流)

若选择了非 None 的扭曲类型:

  • DomainWarpFreq (wF) 设置域扭曲的频率。

  • DomainWarpOct (wO) 设置域扭曲的层数(倍频)。

  • DomainWarpGain (wG) 设置每个域扭曲层的相对强度(增益)。

  • DomainWarpAmp (wA) 设置域扭曲的总振幅(强度)。

  • DomainWarpFrac (wC) 设置要使用的域扭曲特定分形类型。

    • None (N)(无)

    • DomainWarpIndependent (I)(独立域扭曲)

    • DomainWarpProgressive (P)(渐进域扭曲)

  • DomainWarpLacunarity (wl) 设置每个域扭曲层的间隙度(缩放)。

示例

Value(Seed:123,Frequency:0.04)

Cellular(cellularDistanceFunction:Euclidean,cellularReturnType:NoiseLookup,cellularNoiseLookup:Perlin,cellularNoiseLookupFrequency:0.2,Frequency:0.1)

同样的噪声,使用简写模式: Ce(cD:e,cR:n,cN:Pe,cF:.2,F:.1)

最后更新于