2014-02-06 27 views
0

我希望:如何製作珀林噪聲的蜂窩版?

使普通的2D Perlin雜約束成量化,直線版本的本身,其中所述直線是60°

也許我可以量化柏林噪聲函數的輸入是在3個60°軸上?

也許我可以重寫2D單工噪聲,使它可以從x-z平面的3個軸而不是僅僅xz軸起作用?

一個不太好的解決方案是取3個不規則的鋸齒波並在3個軸上相乘。

目標: 我正在測試使用等角60°規則三角網格(即六邊形)顯示的perlin景觀。它比方形網格更好,並且更有效地利用空間。使用基於lofi hex的perlin噪聲mointains會非常好,因爲例如在50度線上,頂點會形成zig zags,所以如果我可以控制perlin噪聲的角度,我可以控制基於hexagon的世界的質量。

+0

柏林噪聲是連續的,所以你可以計算六邊形的中心,然後在這些點上採樣柏林噪聲 –

回答

0

好的我已經做了蜂窩perlin噪音大聲笑!

它與perlin3d相同,但abs(vtx.xyz)是Mathf.Abs(vtx.x),Mathf.Abs(vtx.x * .5-vtx.z * .866),Mathf.Abs(vtx .X * 0.5 + vtx.z * 0.866)...這裏是使用60'deg軸Perlin雜的圖片:

60' ,而不三次插值 without cubic interpolation

60' 三次插值 with cubic interpolation

0

好的,這裏是另一個更有趣的選項...而不是使用一個方形的xy網格,隨機值生成和插值,s意味着將xy網格轉變成六邊形網格,方法是將每個第二排向左移動0.5,並使每一排成爲0.866,這將創建一個三角形格子而不是一個正方形網格,並在正交三角形網格的每個相交處都有一個隨機點。

之後,有必要在3點之間插值。它會是某種平坦的三角形山。