Skip to content

Latest commit

 

History

History
215 lines (160 loc) · 9.02 KB

noise-explained.md

File metadata and controls

215 lines (160 loc) · 9.02 KB

噪声说明

噪声对于从未接触过的人来说可能是一个复杂的话题,但最简单的理解是,噪声是一种通过某些输入(通常是X,Y,Z坐标)获取值的方法。

你最熟悉噪声的地方可能是Minecraft的地形生成。在世界的每个点上,多个噪声函数会结合在一起决定是否放置一个方块,如果放置的话,决定放置哪个方块。

这几乎就是我们在ezEdits中所做的事情,使用噪声来生成形状、地形和纹理。

在插件中,你会发现几种噪声类型,每种都有不同的特性,特别是Cellular噪声,它带有许多你可以自定义的额外参数。

一些使用噪声的众多功能包括:

  • //eznoisegen ... - 噪声指令
  • #eznoisemask - 蒙版
  • //ezbrush gradient ... - 笔刷

ezEdits中的噪声基于修改版的 FastNoiseLite,因此我们强烈推荐这个网站来试验噪声参数: http://auburn.github.io/FastNoiseLite/

噪声参数

每个参数和许多值都有一个简写,比如“Fractal”代替“FractalType”或“Simplex”代替“OpenSimplex2”。在可能的情况下,简写将显示在括号中。
红色 = 参数 紫色 = 值

噪声类型

设置噪声类型

设置要使用的噪声类型。这是任何噪声的起点,格式为 Noise(),例如 Perlin(),所有其他参数将放在括号中。

  • Perlin (per)
  • OpenSimplex2 (simplex)
  • OpenSimplex2S (smooth)
  • Value (val)
  • ValueCubic (cubic)
  • White
  • Cellular (vor)
  • Shard

基本噪声参数

基本噪声参数
  • Seed
    设置噪声的种子值。-1或不设置将导致随机噪声种子。
  • Frequency (Freq)
    设置噪声的频率。较高的频率会产生陡峭的噪声,较低的值会产生平滑的噪声。
  • Inverted (Invert)
    是否反转噪声值。默认为false。
    • True
    • False
  • ValueMapping (Map)
    是否忽略或覆盖值映射。默认情况下,噪声被采样以在0到1之间映射。
    • Default (Def)
    • None (No)
    • Override (OR)
      如果覆盖:
      • LowerBound (Min)
      • UpperBound (Max)
  • YScaling (Y)
    在使用3D噪声时,可用于拉伸或压缩Y轴。

Cellular噪声参数

额外的 Cellular 噪声参数
  • CellularJitterModifier (Jitter)
    通常为 0..1.0
    控制随机抖动或分布的细胞噪声节点,0表示完全网格化,1表示最大程度的“随机”,不重叠。超过1的值会开始与其邻居重叠。
  • CellularDistanceFunction (Distance)
    控制用于确定每个点到其节点的距离值的数学方法。
    • Euclidean
    • EuclideanSq (sq)
    • Manhattan (man)
    • Hybrid
    • Minkovski1 (m1)
    • Minkowvki4 (m4)
    • Minkowski99 (m99)
    • Rounded (round)
  • CellularReturnType (DistReturn)
    控制返回距离值之前如何修改。
    所有 Distance2* 值指的是第二近的节点而不是最近的节点。
    • CellValue (cell)
    • Distance (1)
    • DistanceSquared (sq)
    • DistanceInverse (inv)
    • DistanceLog (log)
    • DistanceExp (exp)
    • Distance2 (2)
    • Distance2Add (2add)
    • Distance2Add (2sub)
    • Distance2Add (2mul)
    • Distance2Add (2div)
    • Distance2Sq (2sq)
    • Distance2Inv (2inv)
    • Distance2Log (2log)
    • Distance2Exp (2exp)
    • Edge
    • Rounded (round)
    • NoiseLookup (noise)
      额外的噪声查找参数:
      • CellularNoiseLookup (Lookup)
        当使用NoiseLookup返回类型时,控制覆盖细胞噪声的基础噪声。
        • Perlin (per)
        • OpenSimplex2 (simplex)
        • OpenSimplex2S (smooth)
        • Value (val)
        • ValueCubic (cubic)
        • White
        • Cellular (vor)
      • CellularNoiseLookupFrequency (DistReturn)
        控制基础噪声的频率。

Shard噪声参数

额外的 Shard 噪声参数
  • Sharpness (Sharp)
    通常为 0..1.0
    控制Shard噪声的图案锐度。较高的值在图案内部有更明确的边缘,而较低的值会显得更模糊。

分形噪声参数

分形噪声参数
  • FractalType (Fractal)
    设置要使用的分形噪声类型。
    • None (No)
    • FBm
    • Ridged
    • PingPong (PP)
      额外的PingPong分形参数:
      • PingPongStrength (PPStr)

如果选择了除 None 以外的分形类型:

  • Octaves (Oct)
    设置要使用的分形噪声层数。
  • Lacunarity (Lac)
    设置每个分形层的比例尺度。大于1的值将有效增加每层的频率,小于1的值将有效降低每层的频率。
  • Gain
    设置每个分形层的相对强度。小于1的值将逐层减弱,大于1的值将逐层增强。
  • WeightedStrength (Weighted)
    设置每层强度对噪声值的响应性。

域扭曲参数

域扭曲参数
  • DomainWarpType (Warp)
    设置要使用的域扭曲类型。
    • None (No)
    • BasicGrid (Grid)
    • OpenSimplex2 (Simplex)
    • OpenSimplex2Reduced (Reduced)
    • Flow
    • Turbulence (Turb)

如果选择了除 None 以外的域扭曲类型:

  • DomainWarpFreq (WarpFreq)
    设置域扭曲的频率。
  • DomainWarpOct (WarpOct)
    设置域扭曲的层数。
  • DomainWarpGain (WarpGain)
    设置每个域扭曲层的相对强度。
  • DomainWarpAmp (WarpAmp)
    设置域扭曲的总振幅(强度)。
  • DomainWarpFrac (WarpFrac)
    设置要使用的域扭曲特定分形类型。
    • None (No)
    • DomainWarpIndependent (ind)
    • DomainWarpProgressive (prog)
  • DomainWarpLacunarity (WarpLac)
    设置每个域扭曲层的比例尺度。

示例

Value(Seed:123,Freq:0.04)

Cellular(Distance:Euclidean,DistReturn:NoiseLookup,Lookup:Perlin,LookupFreq:0.2,Freq:0.1)