Skip to content

Частицы

Примечание: здесь указаны не все параметры, рекомендуем ознакомиться с классом HollowParticleBuilder.

HollowEngine предоставляет некоторый набор инструментов для создания частиц. Чтобы перейти в пространсво создания и настройки частиц введите:

particles {
    //Тут будут ваши настройки
}

Параметры метода particles

Самих параметров тут прилично - world (переменная) - измерение, где заспавнить частицы, например "minecraft:overworld". - particle (переменная) - сама частица, например: "hc:star" или "hc:circle". На данный момент это все виды частиц, позднее здесь будет расписано, как можно добавить свои. - settings (метод) - пространство настройки частиц. Подробнее ниже.

Параметры метода settings

Случайное направление

  • randomMotion(xSpeed: Double, ySpeed: Double, zSpeed: Double) - случайное направление по трём осям.
  • randomMotion(horizontalSpeed: Double, verticalSpeed: Double) - случайное направление по горизонтали и вертикали.
  • randomMotion(speed: Double) - случайное направление сразу по трём осям координат.

Случайное смещение

  • randomOffset(x: Double, y: Double, z: Double) - случайное смещение по трём осям от 0 до указанного.
  • randomMotion(horizontalSpeed: Double, verticalSpeed: Double) - случайное смещение по горизонтали и вертикали.
  • randomMotion(speed: Double) - случайное смещение сразу по трём осям координат.

Поворот

  • spin(startValue: Float, endValue: Float) - поворот частицы от начального положения к конечному на протяжении всего времени жизни частицы.
  • spin(startValue: Float, middleValue: Float, endValue: Float) - аналогично, но с 3 значениями.

Параметры по имени - startToMiddleEasing = Interpolation.LINEAR - интерполяция от начала к середине поворота. - middleToEndEasing = Interpolation.LINEAR - интерполяция от середины к концу поворота.

Цвет

  • color(r1: Float, g1: Float, b1: Float, r2: Float, g2: Float, b2: Float) - начальный и конечный цвет частицы, указывается в процентах RGB от 0f до 1f.

Параметры по имени - colorCurveEasing = Interpolation.LINEAR - интерполяция от начального цвета к конечному.

Прозрачность

Примечание: прозрачность к концу жизни частицы временно не работает.

  • transparency(startValue: Float, endValue: Float) - прозрачность частицы от начального положения к конечному на протяжении всего времени жизни частицы.
  • transparency(startValue: Float, middleValue: Float, endValue: Float) - аналогично, но с 3 значениями.

Параметры по имени - startToMiddleEasing = Interpolation.LINEAR - интерполяция от начального значения к среднему значению. - middleToEndEasing = Interpolation.LINEAR - интерполяция от среднего значения к конечному значению.

Гравитация

  • gravity: Float = 0.1f - сила тяжести на частицу.

No Clip

  • noClip = true / false - может ли частица проходить сквозь блоки.

Тип смены спрайтов

  • spritePicker (переменная) - тип смены картинок партикла.

Допустимые варианты - SpritePicker.FIRST_INDEX - первая картинка из списка спрайтов. - SpritePicker.LAST_INDEX - последняя картинка из списка спрайтов. - SpritePicker.WITH_AGE - Картинка меняется в зависимости от времени жизни частицы. - SpritePicker.RANDOM_SPRITE - случайная картинка из списка спрайтов.

Время жизни частицы

  • lifetime: Int (переменная) - время жизни частицы. (в тиках)

Запуск партиклов

  • spawn(x: Double, y: Double, z: Double) - заспавнить 1 частицу на указанных координатах.
  • repeat(x: Double, y: Double, z: Double, n: Int) - заспавнить n частиц на указанных координатах.

Пример

particles {
    particle = "hc:star"
    settings {
        randomOffset(0.05, 0.05) // Случайное смещение
        randomMotion(0.05) // Случайное направление движения
        lifetime = 100 // Время жизни одной частицы
        gravity = 0.1f // Гравитация частицы

        spawn(x, y, z)
    }
}