【Minecraft】worldedit|generate 一鍵生成旋風(fēng)2.0
首先你得有g(shù)enerate的基礎(chǔ)認(rèn)識(shí)

廢話少說(shuō),看成品

下面是設(shè)計(jì)思路包括包括基礎(chǔ)輪廓→加噪聲→旋轉(zhuǎn)

模擬輪廓

網(wǎng)站:https://www.desmos.com/
這里用了三次方的曲線,和之前視頻的一樣


生成輪廓

正方體選區(qū),選一點(diǎn)后//outset 70
r為點(diǎn)到原點(diǎn)的距離,代替模擬時(shí)的x

加噪聲

這里要先了解we可以直接寫在表達(dá)式里的噪聲函數(shù)
wiki:https://worldedit.enginehub.org/en/latest/usage/other/expressions/
強(qiáng)烈推薦官方wiki??!

那具體怎么運(yùn)用呢?比較和上一步的差別不難發(fā)現(xiàn)
在左邊多了+2.5*voronoi(1,x,y,z,5)
其中2.5可以理解成噪聲的權(quán)重或者幅值
voronoi括號(hào)內(nèi)參數(shù)分別為 種子、x、y、z、頻率
噪聲函數(shù)返回的是個(gè)數(shù)字,實(shí)現(xiàn)的效果就如同把模擬時(shí)的x按照噪聲的數(shù)值左右移動(dòng)
形成不規(guī)則的突起、凹陷和空穴
這里用voronoi是因?yàn)閰?shù)少,用起來(lái)方便
當(dāng)然也可以用其他的噪聲

旋轉(zhuǎn)起來(lái)(成品)

這里用到了rotate(),直接放到主表達(dá)式的前面(不然沒(méi)效果),用分號(hào)分開

rotate()前兩個(gè)參數(shù)為x,y,z中的其中兩個(gè),用于確定旋轉(zhuǎn)的平面
第三個(gè)就是角度(弧度制)
角度為什么是10*(1+y)呢?
因?yàn)樵谶x區(qū)中y的范圍是-1~1,那么10*(1+y)范圍就是0~20
旋轉(zhuǎn)的角度與y的值相關(guān),-1的位置旋轉(zhuǎn)0,隨y的增加,旋轉(zhuǎn)的角度也隨之增加
每個(gè)y值的位置的角度都不相同,這樣就有了螺旋的效果
補(bǔ)充:這里的旋轉(zhuǎn)軸是y軸,基礎(chǔ)形狀輪廓本是y軸旋轉(zhuǎn)體,加上后不會(huì)對(duì)基礎(chǔ)輪廓產(chǎn)生影響

依照這個(gè)思路:基礎(chǔ)輪廓→加噪聲→旋轉(zhuǎn),可以做出很多的效果
比如:


還有什么問(wèn)題或者想要什么效果可以留言