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

第三节 画一个圆
接下来用粒子画圆,圆形粒子只需要两个指令。
首先你需要一个盔甲架,命名为1,作为圆心。

execute as @e[name=1] at @s run tp @s ~ ~ ~ ~2 ~
这是第一条指令,意思是让盔甲架原地旋转2度
指令解读:
as,指令执行者,
@e ,选择器,选择实体
[name=1],选择器的附加条件,@e[name=1] 的意思是选择名字为"1"的实体
at,指令执行位置
@s,当前实体,指指令执行位置是执行者本身
run,运行后面的命令,后面的命令不需要加"/"
"tp @s ~ ~ ~ ~2 ~",以自己为圆心,让自己原地不动旋转2度。放入循环命令方块就是命令方块每次执行都会让实体自己原地不动旋转2度。
放入循环命令方块,就是盔甲架一直自转的效果,速度为 "2","2" 就是 "tp @s ~ ~ ~ ~2 ~" 里的 "2",指每次执行指令后所旋转的角度。
数学课上老师教过的画圆方法,确定圆心,确定半径。一个点以固定距离绕圆心转一周经过的路径就是一个圆。
所以,
execute at @e[name=1] run particle minecraft:end_rod ^ ^1 ^5
然后这就是第二个指令,这个指令的意思是在盔甲架的5格外召唤一个粒子,5就是这个圆的半径。
指令解读:
at,指令执行位置(执行者)
@e[name=1] ,选择器
run,运行后面的命令
"particle minecraft:end_rod ^ ^1 ^5",是一个召唤粒子的命令
minecraft:end_rod,就是末地烛灯管旁边的粒子,粒子本身是纯白色,并且具有发光效果,夜晚看起来效果很棒,是很多粒子法阵的首选。
"^ ^1 ^5",是一个相对位置的坐标
注意这个坐标里出现了 ^ 这个符号
这是一个很新的东西,不同于 ~
~ 也是相对坐标,这两个的区别相当于3d软件里的世界坐标与物品坐标,是引用了两个不同的坐标系。
拿现实来说,~ 是东南西北为坐标系,位置固定。你如果只是站在原地不动,不管你怎么旋转,在你北边的物品一直不会变位置,始终在那,因为北方这个方位不会因为你的旋转而改变。
而 ^ 是物品坐标,是以实体的前后左右为判断标准,坐标系的根据是实体的视线。如果一个物品的位置要保证一直在你的右前方,那么你如果转了,它也得改变方位,这就是粒子旋转的基本思维。在旧版本,是需要用计分板来精准计算实体旋转的角度差来决定把粒子的位置移动到哪。而1.16.5,只需要把 ~ ~1 ~5 换成 ^ ^1 ^5 就行了。
输入命令,粒子转起来了,出现了圆弧!

但这个速度远远不够,粒子会由于时间关系自行消散,这样是凑不出一个完整的圆,这怎么办呢?
那就把这个机关多罗列几个,像这样:

然后圆就出来了:

夜晚:

【附】举一反三:

同心圆,双圆。
末地烛粒子虽然能发光,但不能改颜色,怎么办呢?
我们可以使用带有颜色参数的dust粒子。
但要注意,dust粒子的寿命比end_rod短,消散掉的速度比end_rod快,即使是重复好几遍也画不出一个完整的圆,怎么办呢?
那就在原盔甲架的位置再放一个盔甲架,命名为2

注意,两个盔甲架的初始角度要相差90度
原理是通过分段绘制圆的方法来补足圆形

第一个命令:execute as @e[name=1] at @s run tp @s ~ ~ ~ ~4 ~
让圆心"1"自我旋转,转速为"4"
第二个命令:execute at @e[name=1] run particle minecraft:dust 1 1 0 1 ^ ^1 ^5
给盔甲架"1"身边加一圈粒子。
第三个命令:execute as @e[name=2] at @s run tp @s ~ ~ ~ ~4 ~
让圆心"2"自我旋转,转速为"1"
第四个命令:execute at @e[name=2] run particle minecraft:dust 1 1 0 1 ^ ^1 ^5
给盔甲架"2"身边加一圈粒子。
这里"minecraft:dust"后面,坐标前面有四个数字,是"minecraft:dust"粒子必需的四个参数。
前三个数字决定了dust粒子的颜色,这里的"1 1 0"组合是金黄色,第四个数字"1"是粒子的大小。
输入完毕,罗列:

成品:
