【6】二維Perlin噪聲
在看完Perlin噪聲的基本特性后,我們來看一下二維Perlin噪聲的樣子,以便讓我們更容易理解WE中(三維)它的應用。
下圖是一個二維的Perlin噪聲,可以看到它是一個灰度圖,這個的生成比較復雜,就不過多講解了,不過需要注意的地方是二維的Perlin噪聲是一個灰度圖,三維也是,灰度的表示為從 0 即純黑到 1 即純白。
在二維上,頻率不同的噪聲表現為圖像的復雜度(可以說是每個像素塊的大小),下面的幾張噪聲圖的頻率由低到高(圖片經過了著色處理,原始噪聲應為灰度圖),同時波幅降低(可以理解為從黑到白的轉換更加平滑)。
這幾張圖同時也是一個Perlin噪聲的組成部分(即倍頻)。
像一維Perlin噪聲一樣,將上面的幾張圖加到一起,便有了了下面的二維Perlin噪聲。
【7】Persistence值
Persistence值是一個值得注意的參數,在Perlin函數中它控制每個倍頻與前一個倍頻的關系,即頻率增加與波幅降低的量,總體來說,這個值越高,Perlin噪聲就越粗糙,反之,這個值越低,噪聲就越平滑。
以下是幾個除了Persistence值以外其他值都相同的一維Perlin函數,Persistence值分別為 1/4, 1/2 與 3/4。
下圖是一個表格,可以看出不同的Persistence值對每個倍頻的頻率和波幅以及最后結果的影響。
【8】WorldEdit中的Perlin噪聲生成指令
在講解完關于Perlin噪聲的基本知識后,我們來看一下它在WE中的應用。
還是使用之前的例子,我們使用的命令是//replace =perlin(0,x/2,y,z/2,0.05,3,0.8)<0.1 stone,效果是在選區內填充指定方塊形成的Perlin噪聲點。
讓我們逐個來看它的參數:
//replace
主命令,是替換方塊的命令;
=perlin()
函數表達式,表示這是Perlin噪聲函數,括號內為參數;
0
種子,用以進行隨機生成計算,剛才提到了,相同的種子在參數不變的情況下會一直給出同樣的結果
x/2
X軸的縮放系數
y
Y軸的縮放系數
z/2
Z軸的縮放系數
0.05
第一倍頻的頻率
3
倍頻數
0.8
Persistence值
<0.1
灰度值范圍
stone
需要使用的方塊(這里是石頭)
輸入命令后,就成功按參數生成了Perlin噪聲
接下來我們將一一講解這些參數
瀏覽量:72022-07-19
瀏覽量:12021-05-31
瀏覽量:02021-05-29
瀏覽量:02021-05-17
瀏覽量:02021-04-23
瀏覽量:02019-10-13