Minecraft(我的世界)中文论坛

标题: 【原版】particle指令参数对颗粒行为的影响 [打印本页]

作者: 柘木铃    时间: 2019-3-23 22:26
标题: 【原版】particle指令参数对颗粒行为的影响
本帖最后由 柘木铃 于 2020-2-22 12:13 编辑
颗粒的行为
颗粒总会以2D的图标显示,并且会以正前方朝向玩家。它们在一个简短的动画结束之后就消失了,在动画中它们可以改变大小和旋转一定的角度,并在多个动画图标之间循环。——Minecraft 中文 wiki

生成颗粒的指令格式
  1. particle <颗粒名称> <x> <y> <z> [<xd> <yd> <zd>] [飞行速度] [粒子数量] [显示模式] [目标玩家]
复制代码

粒子在播放动画的同时往往进行一段或长或短的移动,改变数量或是飞行速度可以改变粒子的运动状态

将颗粒的运动分为三种类型:发散运动、基于粒子种类的动画运动(如 bubble_column_up 的气泡上升或 damage_indicator 的心形下降)及弥散运动
每一种粒子都有自己的动画运动( barrier 是静止),动画运动的速度大多是不可改变的用资源包改
但发散运动的速度受颗粒飞行速度等参数影响,可以通过修改参数调整(部分颗粒的预设速度是0)
弥散运动取代了药水型粒子的发散运动(猜测药水型粒子的预设速度是0?)
由此可以将颗粒的移动路径大致归结为三种:固定型、发散型和药水型

固定型:主要特征是颗粒直接生成在某一位置,并播放动画
固定型颗粒名称列表:

当由指令生成时,会进行动画运动,移动的速度不受飞行速度影响。
当数量为0时,生成位置固定在生成点
minecraft:note的颜色(即音高)受 <xd> 和速度的乘积影响(这意味着负值是可能的),如乘积为0.25时呈红色(具体变化规律目前不明)数量不为0时,minecraft:explosion 和 minecraft:sweep_attack 的颗粒尺寸范围受速度影响。
速度增大,颗粒尺寸的范围也随之增大(这意味着更大和更小的颗粒都可能出现)
左:速度0,右:速度1

上:速度10,
左:速度0,右:速度1


发散型:主要特征是颗粒大多沿直线运动,同时播放动画
部分粒子(如 ambient_entity_effect 或 block)并不显示出速度可控的直线运动过程,但其动画运动方向仍可受<xd> <yd> <zd>影响,猜测它的预设速度可能为零
发散型颗粒名称列表:

当由指令生成且数量不为0时,会以生成点为中心向四周发散(部分是向中心聚拢,如enchant)。
当数量为0时,从生成点开始沿某方向运动,运动方向由<xd> <yd> <zd>和飞行速度决定(dust的颜色由额外的颜色通道参数决定,分别代表红色、绿色、蓝色和颗粒大小)。
<xd> <yd> <zd>三个数字影响颗粒沿该轴方向的分速度,如0 0 1时颗粒向z轴正方向(正南)运动。
飞行速度影响颗粒整体的移动速度。
颗粒移动速度由颗粒预设速度、沿各轴方向分速度与整体速度的乘积决定,以下两条指令的显示效果是一样的
  1. /particle minecraft:crit ~ ~1 ~ 0 0 0.5 1 0 normal @a
  2. /particle minecraft:crit ~ ~1 ~ 0 0 1 0.5 0 normal @a
复制代码

当移动速度为0时,停止发散运动,运动状态与固定型相似
当数量不为0时,从生成点开始沿某随机方向运动
此时颗粒移动速度只由预设速度及飞行速度决定,<xd> <yd> <zd>仍影响指定颗粒生成的区域
当数量和飞行速度均为为0时,生成位置固定在生成点

药水型:兼有固定型与发散型颗粒的特征,呈弥散状,不受碰撞箱影响
药水型颗粒名称列表:



当数量为0时,运动状态保留发散型颗粒特征,此时<xd> <yd> <zd>或飞行速度可能影响颗粒颜色。
minecraft:entity_effect和minecraft:ambient_entity_effect的<xd> <yd> <zd>和飞行速度分别表示红色、绿色、蓝色和亮度,但它们同时会影响粒子的移动速度(x 和 z 对运动方向的影响似乎是一样的,但 y 的影响正常)
当数量不为0时,在 <xd> <yd> <zd> 为0的情况下,观测药水型颗粒弥散效果
这里数量均取50
从左至右速度分别为:0,1,5,50,1000


当速度不为0时,药水型颗粒表现出弥散效果
一个较高的速度(500左右效果就差不多了)对药水型颗粒就弥散有明显的抑制作用

接下来与常规发散型颗粒(poof)对比
左侧速度为0,右侧速度为1

=============================
稍后可能整理一下
不受碰撞箱影响的颗粒名称列表(有一些还真是意料之外?)

=============================铃子的碎碎念……




作者: bjwphTD    时间: 2019-3-24 00:06
虽然我看不懂但感觉很厉害的样子
作者: 2470025543    时间: 2019-4-2 23:58
明天可以去尝试一下
作者: 墨仔    时间: 2019-5-11 14:41
虽然我看不懂但感觉很厉害的样子
作者: 冰火双次元    时间: 2019-7-4 13:48
等等我尝试一下 谢谢楼主
作者: kongbaiyo    时间: 2019-8-9 12:29
谢谢总结!不用自己试了(
作者: 笨笨羊OvO    时间: 2019-8-20 16:24
太强了 做特技更容易了点
作者: ggg455    时间: 2019-8-20 20:40
那这个粒子效果能不能穿墙?是透过墙面继续显示,还是被墙面吸收?
作者: 柘木铃    时间: 2019-8-21 06:28
ggg455 发表于 2019-8-20 20:40
那这个粒子效果能不能穿墙?是透过墙面继续显示,还是被墙面吸收?

受碰撞影响的那些不能穿墙,被墙面阻隔,但仍播放动画直至消失
不受碰撞箱影响的那些可以穿透墙面,运动路径不会改变
作者: XUEYINGqwq    时间: 2019-8-21 17:18
哇指令大神啊
作者: 墨珂    时间: 2019-9-24 12:17
大神,我设定好循环粒子效果以后,靠近粒子就会一直显示【@正在显示粒子******】这种消息,请问有办法去掉吗,不让它一直提示
作者: MC深坑不回头    时间: 2019-9-24 23:15
墨珂 发表于 2019-9-24 12:17
大神,我设定好循环粒子效果以后,靠近粒子就会一直显示【@正在显示粒子******】这种消息,请问有办法去掉 ...

不错的教程耶,有很清楚的对比图
楼上试试命令:
/gamerule commandBlockOutput false
/gamerule logAdiminCommands false
作者: sawffh    时间: 2019-9-25 15:21
学习了 经验拿来
作者: 墨珂    时间: 2019-9-26 03:32
MC深坑不回头 发表于 2019-9-24 23:15
不错的教程耶,有很清楚的对比图
楼上试试命令:
/gamerule commandBlockOutput false

可以用!!!谢谢
作者: 1179375200    时间: 2019-9-27 06:45
大佬好厉害
作者: 1179375200    时间: 2019-9-27 06:46
那只灵是不是必须的完全输对呢
作者: 1179375200    时间: 2019-9-27 06:46
中介有没什么可以去除的地方
作者: 1179375200    时间: 2019-9-27 06:47
求大佬指点
作者: 1179375200    时间: 2019-9-27 06:48
谢谢大佬,在下是个萌新
作者: 1179375200    时间: 2019-9-27 06:49
有很多不懂的地方请见谅
作者: LHE_WP    时间: 2019-9-30 18:40
以后不用自己尝试了 感谢楼主
作者: 2737414049    时间: 2019-11-18 01:11
可以可以感谢分享
作者: 时之虫    时间: 2020-2-19 02:28
感谢LZ的研究
作者: 时之虫    时间: 2020-2-20 19:45
末地烛的颗粒也不受碰撞箱影响?奇怪。
作者: mosheng2333    时间: 2020-2-21 10:02
等等尝试一下谢谢大佬了
作者: muhei    时间: 2020-2-21 16:49
我去尝试一下,谢谢大佬




欢迎光临 Minecraft(我的世界)中文论坛 (https://www.mcbbs.net/) Powered by Discuz! X3.5