godot 隨機地圖6 準備noise1d noise 2d voronoise的shader
godot的texture的及時互通是真的操作麻煩,極其操蛋。
我們以后都用shadertoy展示,而且shadertoy非常的方便。
一、生成一個noise1d

https://www.shadertoy.com/view/cldSz8
管他那么多

這樣做會有很多會有些附在天上的東東,要不得。
1d就是1d,把uv.y的數(shù)據(jù)刪掉。重新寫一次。

這樣的結(jié)果還不錯。
如果高度再小一點更好


這時候的非常的平滑。
二、搬運noise2d過來,做成funcion
收線把剛剛mountai改成函數(shù),并且上移0.3



使用循環(huán)

第二章的可讀性真的干脆就為0好了。
但是前者不能控制層數(shù)。
而且本身就在寫代碼,要個毛的可控性。
把代碼整合成一個shader,當然可以用noisetexture,對于大部分人來說已經(jīng)夠用了。
但是在未來為了保證uv可以特化,做出的調(diào)整,如果是nosietexture能夠操作的只有uv和返回的valuse,如果沒有value,是沒法操作的

這里的值展示了voronoise
其他的在這里

在noise2d中,調(diào)參是非常重要的,因為參數(shù)很容易就變成一餅粘

noise2d我更傾向于手動控制圖層
把該修改的好,放到godot中去。


使用hint_range(0,5)

就可以在界面出現(xiàn)滑軌


順便一體,在unfrom中互通array是的時間成本非常高,所以在opengl中 uniform都不推薦使用數(shù)組,不過opengl可以使用buffer直接上傳數(shù)據(jù),而且buff可以改為高性能buffer,快速更高。
godot并沒有開放直接訪問buffer的功能。所以每次數(shù)據(jù)放大的時候,都得單獨準備一個subviewport來截圖,當然效率低得要死要死的,不過完結(jié)不介意等待。
unreal也差球不多。等著游戲做完了,我就回去用unreal了。