五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

WorldEdit的//g指令-高級用法

2018-02-20 15:05 作者:YueLeng_M  | 我要投稿


本篇教程主要講解的是//g在生成形狀時對坐標(biāo)系的旋轉(zhuǎn)、伸縮的變換操作,及對方塊數(shù)據(jù)值的高級應(yīng)用。

因此本篇教程是建立在會基礎(chǔ)使用//g指令的基礎(chǔ)上的,如果你還不會使用//g指令可以先到MCBBS的教程上學(xué)習(xí)。(最下方相關(guān)鏈接)

變量

在//g中默認(rèn)有一些變量:x、y、z、data、type。

你也可以設(shè)定一個自己的變量

例:r=sqrt(x^2+y^2) 這樣你就獲得了一個變量 r ,它的值還可以根據(jù)x、y的值的不同而改變。

伸縮變換

伸縮和平移

利用伸縮變換我們可以對坐標(biāo)系的某個或幾個軸進(jìn)行伸長或縮短。

比如我們可以將一個圓壓成一個橢圓、同理也可以將一個球壓縮為橢球。

舉例:

//g -c stone x^2+z^2<=16^2&&y==0

這是一個在y=0平面上以16為半徑的圓。

當(dāng)我們對X軸進(jìn)行壓縮可以得到:

//g -c planks (x=2*x);x^2+z^2<=16^2&&y==1

這是一個y=1平面上的半長軸長為16,半短軸長為8的橢圓。

可以看到我們的指令只多了一個 (x=2*x); 這一部分他的作用是讓X坐標(biāo)都縮小到原來的1/2。

我們也可以同時改變多個軸,比如我們可以同時再加入 (y=y-5); 這樣整個圖形就會向y軸正方向上平移5個單位。

這時部分玩家可能已經(jīng)意識到了,這樣的變換是有順序的,也就是對于同一個軸的變換,先平移再伸縮先伸縮再平移是不一樣的。

也可能有觀眾還不明白,這里先賣個關(guān)子,講一下變換的合并,可以有助于順序的理解。

對于 (x=x+5);(x=2*x); 這樣對同一個軸多長變換的式子我們可以對其進(jìn)行合并,上述的式子可以合并為 (x=2*x+10); 也就是遵循從左到右的變換順序,可以將上一個式子的變換帶入下一個式子。即(x=2*(x+5)); 。

因此變換的順序就顯現(xiàn)出來了。

 (x=x+5);(x=2*x); 變?yōu)?nbsp;(x=2*x+10); 

 (x=2*x);(x=x+5); 變?yōu)?(x=2*x+5);

旋轉(zhuǎn)變換

與伸縮變換的格式差不多,旋轉(zhuǎn)變換的格式是 rotate(軸1, 軸2, 弧度);

這里的 軸1 和 軸2 是x、y、z中不同的兩個,順序無所謂,其作用是標(biāo)記一個旋轉(zhuǎn)的平面。

例如:rotate(x,y,pi/4); 的意思是將xy平面繞z軸旋轉(zhuǎn)45°,至于旋轉(zhuǎn)的方向可以記為:逆著旋轉(zhuǎn)軸的正方向看,以順時針旋轉(zhuǎn)。

圖例://g -h -c stone rotate(x,y,pi/4);(20-sqrt(x^2+z^2))^2+y^2<5^2

同樣你也可以旋轉(zhuǎn)多次,先繞z軸轉(zhuǎn),再繞y軸轉(zhuǎn)……

于是又出現(xiàn)了順序難題——旋轉(zhuǎn)變換與伸縮變換之間的影響。

這里舉例兩個操作:

  1. 順時針旋轉(zhuǎn)90°

  2. 向上平移3格

情況①:先旋轉(zhuǎn)后平移。

情況②:先平移后旋轉(zhuǎn)。

紅色為變換前,藍(lán)色為情況①,綠色為情況②

可以看到,旋轉(zhuǎn)的結(jié)果雖然相同,但最終位置截然不同。

無論是哪一種變換其直接影響的是內(nèi)部的坐標(biāo)系。因此對于接下來附加的坐標(biāo)判斷語句也有影響。

根據(jù)坐標(biāo)的數(shù)據(jù)值變化

我們可以用 data=(number); 來設(shè)定方塊的數(shù)據(jù)值,也可以利用判斷語句來玩點(diǎn)花樣。

例:

//g -h -c wool data=(y<0?0:1);(20-sqrt(x^2+z^2))^2+y^2<5^2


同樣變換之間會收到影響


//g -h -c wool data=(y<0?0:1);rotate(x,y,pi/4);(20-sqrt(x^2+z^2))^2+y^2<5^2
//g -h -c wool rotate(x,y,pi/4);data=(y<0?0:1);(20-sqrt(x^2+z^2))^2+y^2<5^2

還有一個 type=(); 可以供我們使用

例:

//g -h -c wool type=(y<0?42:57);(20-sqrt(x^2+z^2))^2+y^2<5^2


注:此時指令中原本的羊毛并沒有顯現(xiàn)出來,這是因?yàn)樵谂袛嗾Z句對選區(qū)內(nèi)的全部方塊總會返回true或false,因此不會有空位置留給羊毛。

同樣判斷語句內(nèi)可以使用邏輯符號連接,例:type=(x<0||z<0?42:57);

應(yīng)用

部分來自官方wiki

//g -h -c 35:14 rotate(x,z,y*pi/32);(x=x+17);(z=0.7*z);x^2+z^2<8^2

//g -h -c 35:15 rotate(x,z,y*pi/32);(x=x-17);(z=0.7*z);x^2+z^2<8^2
//g -h log (0.5+sin(atan2(x,z)*8)*0.2)*(sqrt(x*x+z*z)/0.5)^(-2)-1.2 < y
//g wool data=(32+15/2/pi*atan2(x,y))%16; (0.75-sqrt(x^2+y^2))^2+z^2 < 0.25^2

相關(guān)鏈接

  • //generate 指令研究基礎(chǔ) http://www.mcbbs.net/thread-535283-1-1.html

  • 官方wiki //generate頁面 http://wiki.sk89q.com/wiki/WorldEdit/Generation#Arbitrary_shapes

WorldEdit的//g指令-高級用法的評論 (共 條)

分享到微博請遵守國家法律
克拉玛依市| 阿合奇县| 滦平县| 兰坪| 满城县| 新巴尔虎右旗| 乐平市| 体育| 库尔勒市| 汕头市| 茂名市| 富源县| 虎林市| 抚顺市| 武川县| 阿图什市| 铜陵市| 庄河市| 尼玛县| 浦北县| 江陵县| 赣榆县| 南开区| 甘洛县| 济南市| 榆社县| 镇安县| 临朐县| 阿尔山市| 张掖市| 上饶县| 涿鹿县| 吴堡县| 旺苍县| 黑山县| 凤庆县| 阿拉善盟| 如皋市| 凤冈县| 兴安盟| 公安县|