我的世界

平臺: PC PS Switch Xbox

我的世界

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

第四節  六芒星法陣的繪製

效果見頭圖。

網上很多教程都沒有電腦版的,都是基岩版的,但是基岩版和電腦版的語法又不一樣。

我是自己查閱wiki搞了一晚上才搞了個電腦版的,同時我也優化了很多步驟,讓這個法陣的繪製盡量簡潔。

首先,放一個盔甲架,命名為1,作為圓的繪製中心。

旁邊再來一個盔甲架,命名為3,作為六芒星繪製的中心。

粒子法陣理論講解:

在不寫函數不用python的情況下,畫法陣還是基於圓形繪製的。

首先來了解一下,粒子軌跡是可以被拖拽而變形的。

讓盔甲架1繞盔甲架3旋轉,然後讓盔甲架1發射直線粒子:

我們會發現,粒子軌跡被拖拽成了曲線。

那麼法陣圖案原理,就是利用盔甲架的自轉與公轉來把圓形粒子拖拽成三角形。

指令:

1. execute as @e[name=1] at @s run tp @s ~ ~ ~ ~3 ~

第一個命令,是給中心盔甲架設置一個自轉速度,速度為3。

2. execute as @e[name=1] at @s run tp @e[name=3] ^ ^ ^6

第二個,中心盔甲架拖拽了一個外部盔甲架。注意,這里不要設置拖拽時的旋轉角度。

原理與畫圓一樣,就是讓一個盔甲架始終保持在中心盔甲架的視線前方,從而讓外部盔甲架開始公轉。

可以看到外部盔甲架在旋轉過程中並沒有改變自身角度。

3. execute as @e[name=3] at @s run tp @s ~ ~ ~ ~-6 ~

第三個,給外部被拖拽的盔甲架設置一個自轉速度。注意,外部盔甲架的旋轉速度必須是中心盔甲架的-2倍。

產生的這樣一個固定倍率的旋轉速度差,會使得外部盔甲架攜帶的粒子還沒來得及旋成半個圈就被強行拖拽到另一個角度。

這是MC給粒子設置的它自帶的力場。很神奇,MC的粒子沒什麼重力但是卻有風場。

學3d的應該知道什麼叫風場與力場。

利用這種旋轉速率反差產生的拖拽力,使外部盔甲架攜帶的粒子軌跡形成一個閉合的三角形。

仔細觀察這個六芒星的邊,你會發現它其實略微帶有弧度。

外部盔甲架開始自轉了。

4. execute as @e[name=3] at @s run particle end_rod ^ ^1 ^2

這個指令是把那個三角形畫出來。

三角形出來了。

5. execute as @e[name=3] at @s run particle end_rod ^ ^1 ^-2

再來一個三角形粒子,兩者交叉成六芒星。

其實就是兩個粒子分別從外部盔甲架的兩邊出發繪製圓。其中一個從角開始畫三角形,另一個從邊開始畫三角形。一個是角一個是邊,於是這兩個粒子繪製的三角形自然就錯開了,交叉重疊成了一個"六芒星"。

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

這兩個指令是畫那兩個圓。

補充解釋:

1.如果不讓外部盔甲架運動,可以發現,第四條指令只是讓粒子始終出現在外部盔甲架的一測。

2.第1 3 4 條命令組合,可以發現那個粒子的運動軌跡本質上就是個圓形。

3.如果讓外部盔甲架只是公轉而不進行自轉,畫出來的粒子還是一個圓

4.同時公轉與自轉,才會產生三角形。

5.如果中心盔甲架在拖拽外部盔甲架時設置了角度,那麼這個角度會抵消外部盔甲架自轉產生的旋轉逆差,畫出來的還是圓。

第五條指令,兩個三角形交匯,六芒星產生了:

七條指令同時運行,法陣的雛形有了:

羅列很多個:

完成:

只需要讓這兩個盔甲架隱形,時間設置為晚上,就會出來頭圖的效果。

隨便看看 更多