add doc/ru/particles.md
This commit is contained in:
parent
76d6b518a5
commit
df2f24d94e
@ -19,3 +19,4 @@
|
|||||||
- [Свойства блоков](block-properties.md)
|
- [Свойства блоков](block-properties.md)
|
||||||
- [Свойства предметов](item-properties.md)
|
- [Свойства предметов](item-properties.md)
|
||||||
- [Скриптинг](scripting.md)
|
- [Скриптинг](scripting.md)
|
||||||
|
- [Частицы](particles.md)
|
||||||
|
|||||||
66
doc/ru/particles.md
Normal file
66
doc/ru/particles.md
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# Частицы
|
||||||
|
|
||||||
|
Частицы представляют собой таблицу, все поля которой опциональны.
|
||||||
|
|
||||||
|
|
||||||
|
| Поле | Описание | По-умолчанию |
|
||||||
|
| --------------- | ---------------------------------------------------------------------------- | --------------- |
|
||||||
|
| texture | Текстура частицы. | "" |
|
||||||
|
| frames | Кадры анимации (массив имен текстур). Должны находиться в одном атласе. | {} |
|
||||||
|
| lighting | Освещение. | true |
|
||||||
|
| collision | Обнаружение столкновений. | true |
|
||||||
|
| max_distance | Максимальная дистанция от камеры, при которой происходит спавн частиц. | 16.0 |
|
||||||
|
| spawn_interval | Интервал спавна частиц в секундах. | 1.0 |
|
||||||
|
| lifetime | Среднее время жизни частиц в секундах. | 5.0 |
|
||||||
|
| lifetime_spread | Максимальное отклонение времени жизни частицы (от 0.0 до 1.0). | 0.2 |
|
||||||
|
| velocity | Начальная линейная скорость частиц. | {0, 0, 0} |
|
||||||
|
| acceleration | Ускорение частиц. | {0, -16, 0} |
|
||||||
|
| explosion | Сила разлёта частиц при спавне. | {2, 2, 2} |
|
||||||
|
| size | Размер частиц. | {0.1, 0.1, 0.1} |
|
||||||
|
| spawn_shape | Форма области спавна частиц. (ball/sphere/box) | ball |
|
||||||
|
| spawn_spread | Размер области спавна частиц. | {0, 0, 0} |
|
||||||
|
| random_sub_uv | Размер случайного подрегиона текстуры (1 - будет использована вся текстура). | 1.0 |
|
||||||
|
|
||||||
|
## Библиотека *gfx.particles*
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.particles.emit(
|
||||||
|
-- позиция эмиттера: статические координаты или uid сущности
|
||||||
|
origin: vec3 | int,
|
||||||
|
-- количество частиц (-1 - бесконечно)
|
||||||
|
count: int,
|
||||||
|
-- таблица настроек частиц
|
||||||
|
preset: table,
|
||||||
|
-- дополнительная таблица настроек частиц
|
||||||
|
[опционально] extension: table
|
||||||
|
) -> int
|
||||||
|
```
|
||||||
|
|
||||||
|
Создаёт эмиттер частиц, возвращая его id.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.particles.stop(id: int)
|
||||||
|
```
|
||||||
|
|
||||||
|
Останавливает эмиттер без возможности возобновления. Эмиттер будет удален
|
||||||
|
позже автоматически.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.particles.is_alive(id: int) -> bool
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверяет, работает ли эмиттер. Возвращает false если работа прекращена или
|
||||||
|
эмиттер не существует.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.particles.get_origin(id: int) -> vec3 | int
|
||||||
|
```
|
||||||
|
|
||||||
|
Возвращает статическую позицию или uid сущности, к которой привязан эмиттер.
|
||||||
|
Если эмиттера не существует, возвращает nil.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.particles.set_origin(id: int, origin: vec3 | int)
|
||||||
|
```
|
||||||
|
|
||||||
|
Устанавливает статическую позицию или uid сущности, к которой будет привязан эмиттер.
|
||||||
@ -43,7 +43,7 @@ struct ParticlesPreset : public Serializable {
|
|||||||
/// @brief Particle size
|
/// @brief Particle size
|
||||||
glm::vec3 size {0.1f};
|
glm::vec3 size {0.1f};
|
||||||
/// @brief Spawn spread shape
|
/// @brief Spawn spread shape
|
||||||
ParticleSpawnShape spawnShape;
|
ParticleSpawnShape spawnShape = BALL;
|
||||||
/// @brief Spawn spread
|
/// @brief Spawn spread
|
||||||
glm::vec3 spawnSpread {};
|
glm::vec3 spawnSpread {};
|
||||||
/// @brief Texture name
|
/// @brief Texture name
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user