欢迎光临散文网 会员登陆 & 注册

godot visual shader -4 地平线

2023-06-07 13:55 作者:damedown  | 我要投稿

1、

现在我们的texture的大小是3000*2000的,我不能在shader里面创建一个30*20的东东。

但是我可以通过frequency来缩放。

乘积越大,越是放大。

但但这并不是我需要的缩放,我需要的是不缩放,低精度

我需要 uv*sizeOfTexture 把uv放到到3000*2000,如果我这时候需要400*400位一个大block,

我只需要3000*2000  / 400*400,我需要一些取小整

还有round 四舍五入。

fract,取小数。

因为地图的大小可以改变的,但是我的区块是需要限定的。

最后总结为1行: 

        uv_t = floor(uv / texture_pixel_size /vec2(400,400));设置阶梯

        uv = uv_t * texture_pixel_size * vec2(400,400);把域变回0~1

    我不知道godot有没有这个函数,反正我现在没看到。

2、准备一个noise 11

因为我随机的起点起始有些问题,不过我懒得改,后边需要传入seed。

3、把刚刚的uv连接上

这时候再判断下,如果uv.y>value:value = 0.0value= 1.0;

当然这种做法是错的,godot的bug不是一般的多

value_t我没有定义

其次设定上的骚操作。

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

我一时半会儿不知道怎么表扬他了。

这就是我们voro的uv需要读取的色彩。

再看一下完整的。

嘿嘿。自学当哭瞎。

这东西就像炉石传说一样,没有bug,全是特性哦。

还有一个骚的特性,那就是 没有连接color out 会没有parameter,他就是要强迫开发人员使用拖拽。但是他这操作,用过的都说哭了。

总结:

用来做noisemap,是很屎涨的。这里是用来做搞texture生成和特效的。

不过基本上已经熟练了,我就不继续搞这个了。

godot visual shader -4 地平线的评论 (共 条)

分享到微博请遵守国家法律