godot computer shader noise2
我們把之前的代碼復(fù)制進(jìn)去


然后就會得到這個

我已經(jīng)隨機(jī)化了,完全不可能出現(xiàn)這個啊。
這還是循環(huán)的,我們?yōu)榱藢崿F(xiàn)隨機(jī),就用sin(uv)然后取上面你的小數(shù)。這個圖形就和沒有fract是一樣的感覺。

好吧,確實就是沒有fract。
我靠,他不能fract啊。提交bug。
我們把godot的noise texture 試著傳入進(jìn)來。
既然搞都搞了,并行、不調(diào)用其他的ID的情況下,就用shader就好了。
我們接下來就需要
1、local 準(zhǔn)備兩個不同的texutre
2、第一個:voro texture(中心白),取反(中心黑,形成路徑)。然后/2,就是讓范圍再0~0.5(為何和第二個加權(quán),我們拋棄<0.4的數(shù)據(jù)(le))
3、第二個:noise texture,一般情況noisetexture 大范圍處于0.2~0.8之間,首先/2(范圍再0.1~0.4之間)
4、兩個texture相加,拋棄小于0.4值的數(shù)據(jù)(value<le?vlaue = 0.0)
一、創(chuàng)建兩個noisetexture
????1、創(chuàng)建載體

????2、創(chuàng)建voro texture

????3、創(chuàng)建 noisetexture

二、把這兩個傳過去
????1、初始化兩個texture rect
? ? 初始化節(jié)點的時候,通通用@onready
????異步處理,通通用 signal
????把這個做得很好只有unreal
????

????????2、準(zhǔn)備數(shù)據(jù)接口

????????3、傳入數(shù)據(jù),綁定uniform

????????????gen_textureBuffer_R_W,只修改了一行


? 上傳上去后,沒啥問題了,那測試一下。

不出意外的出了意外,難道我再套一個 subviewport截圖,再傳進(jìn)去。我尼瑪,我不知道是我有毛病,還是godot有毛病。
三、吐槽godot和unreal
????寫到這里,我又要炸godot,不成熟真下頭啊。像unreal多好,就是基于事件系統(tǒng)的多線程,事件系統(tǒng)就是不參與主循環(huán)運(yùn)行,主循循環(huán)只是發(fā)送信號,讓event執(zhí)行,全是多線程。
????unreal 更加的適合多人共同開發(fā),尤其是資源龐大的游戲。godot的資源管理只能說一塌糊涂。
????godot的事件系統(tǒng)還算有點可以,做了很多簡化,起碼8分,unreal的事件系統(tǒng)有10分,堪稱完美。
????不過unreal砍掉了2d項目,真的是放了godot一條生路,就是我使用godot和unreal生成2d tilemap,unreal是不卡頓的。
四、做一個延遲
得到一個奇怪的報錯

我怎么就吃出兩碗粉了??
我用它的texturerect渲染一個512*512的圖,返回的時候也是512*512*4的數(shù)據(jù),我用這個數(shù)據(jù)生成一個image,然后把這個image轉(zhuǎn)換成RGBA8的格式,然后就成1398100了。
半成品發(fā)出來糊弄人,我還不知道他的cs還會有什么bug,我搞你個錘子。
跑路了,沒有出到godot5,這東西我還是不碰了。