《我的世界》【1.16.5】Java版實(shí)用粒子教程(四)

第四節(jié)? 六芒星法陣的繪制
效果見(jiàn)頭圖。
網(wǎng)上很多教程都沒(méi)有電腦版的,都是基巖版的,但是基巖版和電腦版的語(yǔ)法又不一樣。
我是自己查閱wiki搞了一晚上才搞了個(gè)電腦版的,同時(shí)我也優(yōu)化了很多步驟,讓這個(gè)法陣的繪制盡量簡(jiǎn)潔。
首先,放一個(gè)盔甲架,命名為1,作為圓的繪制中心。

旁邊再來(lái)一個(gè)盔甲架,命名為3,作為六芒星繪制的中心。

粒子法陣?yán)碚撝v解:
在不寫函數(shù)不用python的情況下,畫法陣還是基于圓形繪制的。
首先來(lái)了解一下,粒子軌跡是可以被拖拽而變形的。
讓盔甲架1繞盔甲架3旋轉(zhuǎn),然后讓盔甲架1發(fā)射直線粒子:

我們會(huì)發(fā)現(xiàn),粒子軌跡被拖拽成了曲線。
那么法陣圖案原理,就是利用盔甲架的自轉(zhuǎn)與公轉(zhuǎn)來(lái)把圓形粒子拖拽成三角形。
指令:
1. execute?as?@e[name=1]?at?@s?run?tp?@s?~?~?~?~3?~
第一個(gè)命令,是給中心盔甲架設(shè)置一個(gè)自轉(zhuǎn)速度,速度為3。

2. execute?as?@e[name=1]?at?@s?run?tp?@e[name=3]?^?^?^6
第二個(gè),中心盔甲架拖拽了一個(gè)外部盔甲架。注意,這里不要設(shè)置拖拽時(shí)的旋轉(zhuǎn)角度。
原理與畫圓一樣,就是讓一個(gè)盔甲架始終保持在中心盔甲架的視線前方,從而讓外部盔甲架開(kāi)始公轉(zhuǎn)。

可以看到外部盔甲架在旋轉(zhuǎn)過(guò)程中并沒(méi)有改變自身角度。
3. execute?as?@e[name=3]?at?@s?run?tp?@s?~?~?~?~-6?~
第三個(gè),給外部被拖拽的盔甲架設(shè)置一個(gè)自轉(zhuǎn)速度。注意,外部盔甲架的旋轉(zhuǎn)速度必須是中心盔甲架的-2倍。
產(chǎn)生的這樣一個(gè)固定倍率的旋轉(zhuǎn)速度差,會(huì)使得外部盔甲架攜帶的粒子還沒(méi)來(lái)得及旋成半個(gè)圈就被強(qiáng)行拖拽到另一個(gè)角度。
這是MC給粒子設(shè)置的它自帶的力場(chǎng)。很神奇,MC的粒子沒(méi)什么重力但是卻有風(fēng)場(chǎng)。
學(xué)3d的應(yīng)該知道什么叫風(fēng)場(chǎng)與力場(chǎng)。
利用這種旋轉(zhuǎn)速率反差產(chǎn)生的拖拽力,使外部盔甲架攜帶的粒子軌跡形成一個(gè)閉合的三角形。

仔細(xì)觀察這個(gè)六芒星的邊,你會(huì)發(fā)現(xiàn)它其實(shí)略微帶有弧度。

外部盔甲架開(kāi)始自轉(zhuǎn)了。
4. execute?as?@e[name=3]?at?@s?run?particle?end_rod?^?^1?^2
這個(gè)指令是把那個(gè)三角形畫出來(lái)。

三角形出來(lái)了。
5. execute?as?@e[name=3]?at?@s?run?particle?end_rod?^?^1?^-2
再來(lái)一個(gè)三角形粒子,兩者交叉成六芒星。
其實(shí)就是兩個(gè)粒子分別從外部盔甲架的兩邊出發(fā)繪制圓。其中一個(gè)從角開(kāi)始畫三角形,另一個(gè)從邊開(kāi)始畫三角形。一個(gè)是角一個(gè)是邊,于是這兩個(gè)粒子繪制的三角形自然就錯(cuò)開(kāi)了,交叉重疊成了一個(gè)"六芒星"。
6.execute?at?@e[name=1]?run?particle?minecraft:end_rod?^?^1?^8
7.execute?at?@e[name=1]?run?particle?minecraft:end_rod?^?^1?^9
這兩個(gè)指令是畫那兩個(gè)圓。
補(bǔ)充解釋:
1.如果不讓外部盔甲架運(yùn)動(dòng),可以發(fā)現(xiàn),第四條指令只是讓粒子始終出現(xiàn)在外部盔甲架的一測(cè)。

2.第1?3?4?條命令組合,可以發(fā)現(xiàn)那個(gè)粒子的運(yùn)動(dòng)軌跡本質(zhì)上就是個(gè)圓形。

3.如果讓外部盔甲架只是公轉(zhuǎn)而不進(jìn)行自轉(zhuǎn),畫出來(lái)的粒子還是一個(gè)圓

4.同時(shí)公轉(zhuǎn)與自轉(zhuǎn),才會(huì)產(chǎn)生三角形。

5.如果中心盔甲架在拖拽外部盔甲架時(shí)設(shè)置了角度,那么這個(gè)角度會(huì)抵消外部盔甲架自轉(zhuǎn)產(chǎn)生的旋轉(zhuǎn)逆差,畫出來(lái)的還是圓。
第五條指令,兩個(gè)三角形交匯,六芒星產(chǎn)生了:

七條指令同時(shí)運(yùn)行,法陣的雛形有了:

羅列很多個(gè):

完成:

只需要讓這兩個(gè)盔甲架隱形,時(shí)間設(shè)置為晚上,就會(huì)出來(lái)頭圖的效果。