-
Notifications
You must be signed in to change notification settings - Fork 3
Particles
Частицы в больших объёмах вызывают сильную нагрузку из-за огромного количества полигонов и логики каждого отдельной частицы.
Частицы являются лишь дополнением, а не заменой графики.
ParticleBuilder - класс для просто вызова частиц в Fluffy Fur.
setRenderType(RenderType) - устанавливает тип рендера.
setParticleRenderType(ParticleRenderType) - устанавливает тип рендера частицы.
Используется для ванильных типов рендера.
Например: setParticleRenderType(ParticleRenderType.PARTICLE_SHEET_OPAQUE)
setBehavior(ParticleBehavior) - устанавливает поведение.
setColorData(ColorParticleData) - устанавливает дату цвета.
setTransparencyData(GenericParticleData) - устанавливает дату прозрачности.
setScaleData(GenericParticleData) - устанавливает дату размера.
setSpinData(SpinParticleData) - устанавливает дату поворота.
setLightData(LightParticleData) - устанавливает дату света.
setSpriteData(SpriteParticleData) - устанавливает дату спрайта.
addTickActor(Consumer<GenericParticle>), addSpawnActor(Consumer<GenericParticle>), addRenderActor(Consumer<GenericParticle>) - вызывает Consumer каждый раз при тике, спавне и тике рендера.
Используется для более гибкой настройки логики частицы.
Например:
final Consumer<GenericParticle> target = p -> {
//p <-- particle
p.setSpeed(p.getSpeed().add(0, 0.1f, 0));
};
particleBuilder.addTickActor(target);clearActors(), clearTickActor(), clearSpawnActors(), clearRenderActors() - очищает акторы.
setDiscardFunction(GenericParticleOptions.DiscardFunctionType) - устанавливает функцию сброса (NONE, INVISIBLE, ENDING_CURVE_INVISIBLE)
setLifetime(int) - устанавливает время жизни.
setLifetime(int, int) - устанавливает время жизни плюс случайное значение от нуля до второго значения.
setGravity(int) - устанавливает гравитацию.
setGravity(int, int) - устанавливает гравитацию плюс случайное значение от нуля до второго значения.
setFriction(int) - устанавливает трение.
Работает по логике каждый тик умножает скорость на значение трения.
То есть, при значениях от 0 до 1, частица будет замедлятся, а при значениях больше 1 ускоряться.
setFriction(int, int) - устанавливает трение плюс случайное значение от нуля до второго значения.
enableCull(), disableCull(), setShouldCull(boolean) - устанавливает оптимизацию рендера.
Частицы не будут отображается, если камера не будет направлена в сторону частицы, но из-за этого, частица может отображаться некорректно при поворотах камеры.
По умолчанию отключено.
enableRenderTraits(), disableRenderTraits(), setShouldRenderTraits(boolean) - устанавливает обновление параметров при рендер тике.
Используется для более плавного отображения.
По умолчанию включено.
enablePhysics(), disablePhysics(), setHasPhysics(boolean) - устанавливает физику.
При отключенной физике игнорирует коллизию с блоками.
По умолчанию включено.
randomVelocity(double), randomVelocity(double, double), randomVelocity(double, double, double) -
flatRandomVelocity(double, double, double) -
addVelocity(double, double, double) -
setVelocity(double, double, double) -
randomOffset(double), randomOffset(double, double), randomOffset(double, double, double) -
flatRandomOffset(double, double, double) -
enableForce(), enableForce(), enableForce(boolean) -
setDistance(double) -
enableDistanceSpawn(), disableDistanceSpawn(), setDistanceSpawn(boolean) -
addAdditionalBuilder(ParticleBuilder) -
clearAdditionalBuilders() -
spawn(Level, Vec3), spawn(Level, double, double, double) -
repeat(Level, Vec3, int), repeat(Level, double, double, double, int) -
repeat(Level, Vec3, int, float), repeat(Level, double, double, double, int, float) -
create(ParticleType<?>), create(RegistryObject<?>) -
create(GenericParticleOptions) -
Documentation - English:
The Fluffy Wiki
Документация - Русский:
The Fluffy Wiki