【Minecraft】worldedit|deform&generate 利用floor函數(shù)實(shí)現(xiàn)“二次體素化”
成品




想必也注意到了?,這里只是用了新的X,Y,Z替換了本來的x,y,z
X=a*floor(x/b);
Y=a*floor(y/b);
Z=a*floor(Z/b);
a和b為常數(shù)
首先解釋下floor()的用法

這個(gè)函數(shù)在我做磚塊紋理時(shí)也用過

因?yàn)樵谑褂檬澜缱鴺?biāo)的情況下,如generate -c 或deform,每一格的坐標(biāo)都是整數(shù),如果直接用x=floor(x),是沒有任何作用,因?yàn)楸緛韝的步長就是整數(shù)1,floor也就不起到作用,(下圖紅色部分)所以就要在floor括號里的x除以一個(gè)數(shù)字b,如x=floor(x/3),此時(shí)x的步長就變成了3,每3格子長跳1位(下圖藍(lán)色部分),這時(shí)又出現(xiàn)了一個(gè)問題,只跳1不行啊,為了和原曲線的走勢或斜率一致,在floor前面乘以個(gè)系數(shù)a,跳的高度a最好與x所除的數(shù)字保持一致,即x=3*floor(x/3);就如下圖演示的綠色部分。(如果不想按原圖的趨勢也可以用其他數(shù))


這樣子替換xyz,不僅可以用應(yīng)用在generate生成形狀上,也可以用deform對選區(qū)內(nèi)已有的形狀進(jìn)行變換,如把刷出的地形變成階梯狀,或者什么形狀
原圖:

只對y替換:

只對x替換:

同時(shí)對x,z替換:

也可以如成品的后兩個(gè)直接用generate生成階梯狀的地形,至于噪聲生成地形的用法,我這正在考慮是否要做一期詳解。

還有什么問題或者想要什么效果可以留言
標(biāo)簽: