/particle: что на самом деле означают delta и speed, и трюк с count=0
Четыре числа после позиции — это не направление. Здесь объясняется, что делают delta и speed, почему count=0 ведет себя совершенно иначе, и как направить частицу.
/particle flame ~ ~1 ~ 0.5 0.5 0.5 0.01 20
└─ delta ─┘ spd count
Эти четыре числа — самая неправильно интерпретируемая часть команды.
delta — это разброс, а не направление
dx dy dz описывают гауссовский разброс (Gaussian spread) вокруг позиции — насколько далеко частицы рассеиваются по каждой оси. 0.5 0.5 0.5 дает нечеткий шар; 2 0 0 дает линию вдоль X.
Это не вектор скорости. Положительные и отрицательные значения не имеют значения; -2 0 0 и 2 0 0 создают одну и ту же линию.
Если только count не равен 0
Установите count в 0, и значение каждого предыдущего числа изменится:
| count | delta означает | speed означает |
|---|---|---|
| ≥ 1 | случайный разброс | случайная величина Скорости |
| 0 | вектор направления | Скорость вдоль него |
/particle flame ~ ~1 ~ 0 1 0 0.5 0 → one particle shot straight up at 0.5
Это единственный способ направить частицу. Каждый ответ на вопрос "как мне сделать луч" в конечном итоге приходит к этому. Цена — одна частица за команду, поэтому луч — это цикл или цепочка.
speed не всегда Скорость
Для большинства частиц speed является множителем Скорости. Для некоторых он полностью перепрофилирован:
dust— размер является параметром, а speed ничего не делаетnote— speed выбирает цвет,0к24отображение по цветовому кругуentity_effect— цвет берется из аргумента alpha-RGB
Таким образом, частица note с speed 1 не быстрая, она другого цвета.
Частицы со своими аргументами
/particle dust{color:[1.0,0.0,0.0],scale:1} ~ ~ ~ 0 0 0 0 1
/particle block{block_state:"minecraft:stone"} ~ ~ ~ 0.3 0.3 0.3 0 10
/particle dust_color_transition{from_color:[1,0,0],to_color:[0,0,1],scale:1} ~ ~ ~ 0 0 0 0 1
Блок аргументов идет сразу после имени частицы, перед координатами. Размещение его в конце — обычная синтаксическая ошибка.
force и зритель
Команда заканчивается необязательным режимом и Игроком:
/particle flame ~ ~ ~ 0 0 0 0 1 force @a
normal учитывает настройки частиц каждого клиента и ограничение видимости в 32 блока. force показывает частицу независимо и на расстоянии до 512 блоков. Для всего, что Игрок должен видеть — телеграф босса, маркер квеста — требуется force, и именно поэтому ваши частицы работают для вас, а не для кого-то с уменьшенным количеством частиц.
Производительность
Частицы — это рендеринг на стороне клиента, поэтому затраты ложатся на Игроков, а не на сервер. count в 200 единиц за тик на Игрока снизит частоту кадров на скромном оборудовании, даже если TPS сервера не изменится. Распределяйте выбросы по тикам, а не выдавайте одно огромное количество.
Просмотрите каждый тип частиц и более 1900 идентификаторов звуков с готовыми командами в Галерее частиц и звуков.