godot visual shader -4 地平線
1、
現(xiàn)在我們的texture的大小是3000*2000的,我不能在shader里面創(chuàng)建一個30*20的東東。

但是我可以通過frequency來縮放。
乘積越大,越是放大。
但但這并不是我需要的縮放,我需要的是不縮放,低精度。
我需要 uv*sizeOfTexture 把uv放到到3000*2000,如果我這時候需要400*400位一個大block,
我只需要3000*2000? / 400*400,我需要一些取小整

還有round 四舍五入。
fract,取小數(shù)。
因?yàn)榈貓D的大小可以改變的,但是我的區(qū)塊是需要限定的。
最后總結(jié)為1行:?
????????uv_t = floor(uv /?texture_pixel_size /vec2(400,400));設(shè)置階梯
????????uv = uv_t *?texture_pixel_size *?vec2(400,400);把域變回0~1
????我不知道godot有沒有這個函數(shù),反正我現(xiàn)在沒看到。

2、準(zhǔn)備一個noise 11

因?yàn)槲译S機(jī)的起點(diǎn)起始有些問題,不過我懶得改,后邊需要傳入seed。
3、把剛剛的uv連接上

這時候再判斷下,如果uv.y>value:value = 0.0value= 1.0;

當(dāng)然這種做法是錯的,godot的bug不是一般的多

其次設(shè)定上的騷操作。

output的那個value,不能重新用。避免和其他的data命名沖突

我一時半會兒不知道怎么表揚(yáng)他了。

這就是我們voro的uv需要讀取的色彩。
再看一下完整的。

嘿嘿。自學(xué)當(dāng)哭瞎。
這東西就像爐石傳說一樣,沒有bug,全是特性哦。
還有一個騷的特性,那就是 沒有連接color out 會沒有parameter,他就是要強(qiáng)迫開發(fā)人員使用拖拽。但是他這操作,用過的都說哭了。

總結(jié):
用來做noisemap,是很屎漲的。這里是用來做搞texture生成和特效的。
不過基本上已經(jīng)熟練了,我就不繼續(xù)搞這個了。