add doc/ru/scripting/ecs.md
This commit is contained in:
parent
3b24982c0d
commit
e506d17c50
@ -7,6 +7,7 @@
|
|||||||
- [Пользовательский ввод](scripting/user-input.md)
|
- [Пользовательский ввод](scripting/user-input.md)
|
||||||
- [Файловая система и сериализация](scripting/filesystem.md)
|
- [Файловая система и сериализация](scripting/filesystem.md)
|
||||||
- [Свойства и методы UI элементов](scripting/ui.md)
|
- [Свойства и методы UI элементов](scripting/ui.md)
|
||||||
|
- [Сущности и компоненты](scripting/ecs.md)
|
||||||
- [Библиотеки](#)
|
- [Библиотеки](#)
|
||||||
- [mat4](scripting/builtins/libmat4.md)
|
- [mat4](scripting/builtins/libmat4.md)
|
||||||
- [Модуль core:bit_converter](scripting/modules/core_bit_converter.md)
|
- [Модуль core:bit_converter](scripting/modules/core_bit_converter.md)
|
||||||
|
|||||||
@ -1,59 +0,0 @@
|
|||||||
# Компоненты
|
|
||||||
|
|
||||||
## Обозначения типов, используемые далее
|
|
||||||
|
|
||||||
- vec3 - 3D вектор (массив из трех чисел)
|
|
||||||
- mat4 - матрица 4x4 (массив из 16 чисел)
|
|
||||||
|
|
||||||
Аннотации типов добавлены в целях документации и не являются частью синтаксиса
|
|
||||||
Lua.
|
|
||||||
|
|
||||||
## Встроенные компоненты
|
|
||||||
|
|
||||||
### Transform
|
|
||||||
|
|
||||||
Компонент отвечает за позицию, масштаб и вращение сущности.
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- Сокращение
|
|
||||||
local tsf = entity.transform
|
|
||||||
|
|
||||||
-- Возвращает позицию сущности
|
|
||||||
tsf:get_pos() -> vec3
|
|
||||||
-- Устанавливает позицию сущности
|
|
||||||
tsf:set_pos(pos: vec3)
|
|
||||||
|
|
||||||
-- Возвращает масштаб сущности
|
|
||||||
tsf:get_size() -> vec3
|
|
||||||
-- Устанавливает масштаб сущности
|
|
||||||
tsf:set_size(size: vec3)
|
|
||||||
|
|
||||||
-- Возвращает вращение сущности
|
|
||||||
tsf:get_rot() -> mat4
|
|
||||||
-- Устанавливает вращение сущности
|
|
||||||
tsf:set_rot(size: mat4)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Rigidbody
|
|
||||||
|
|
||||||
Компонент отвечает за физическое тело сущности.
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- Сокращение
|
|
||||||
local body = entity.rigidbody
|
|
||||||
|
|
||||||
-- Проверяет, включен ли рассчет физики тела
|
|
||||||
body:is_enabled() -> bool
|
|
||||||
-- Включает/выключает рассчет физики тела
|
|
||||||
body:set_enabled(enabled: bool)
|
|
||||||
|
|
||||||
-- Возвращает линейную скорость
|
|
||||||
body:get_vel() -> vec3
|
|
||||||
-- Устанавливает линейную скорость
|
|
||||||
body:set_vel(vel: vec3)
|
|
||||||
|
|
||||||
-- Возвращает размер хитбокса
|
|
||||||
body:get_size() -> vec3
|
|
||||||
-- Устанавливает размер хитбокса
|
|
||||||
body:set_size(size: vec3)
|
|
||||||
```
|
|
||||||
130
doc/ru/scripting/ecs.md
Normal file
130
doc/ru/scripting/ecs.md
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
# Сущности и компоненты
|
||||||
|
|
||||||
|
## Обозначения типов, используемые далее
|
||||||
|
|
||||||
|
- vec3 - 3D вектор (массив из трех чисел)
|
||||||
|
- mat4 - матрица 4x4 (массив из 16 чисел)
|
||||||
|
|
||||||
|
Аннотации типов добавлены в целях документации и не являются частью синтаксиса
|
||||||
|
Lua.
|
||||||
|
|
||||||
|
## Сущность
|
||||||
|
|
||||||
|
Объект сущности доступен в компонентах как глобальная переменная **entity**.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Удаляет сущность (сущность может продолжать существовать до завершения кадра, но не будет отображена в этом кадре)
|
||||||
|
entity:despawn()
|
||||||
|
|
||||||
|
-- Заменяет скелет сущности
|
||||||
|
entity:set_skeleton(name: str)
|
||||||
|
|
||||||
|
-- Возращает уникальный идентификатор сущности
|
||||||
|
entity:get_uid() -> int
|
||||||
|
|
||||||
|
-- Возвращает компонент по имени
|
||||||
|
entity:get_component(name: str) -> компонент или nil
|
||||||
|
|
||||||
|
-- Проверяет наличие компонента по имени
|
||||||
|
entity:has_component(name: str) -> bool
|
||||||
|
```
|
||||||
|
|
||||||
|
## Встроенные компоненты
|
||||||
|
|
||||||
|
### Transform
|
||||||
|
|
||||||
|
Компонент отвечает за позицию, масштаб и вращение сущности.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Сокращение
|
||||||
|
local tsf = entity.transform
|
||||||
|
|
||||||
|
-- Возвращает позицию сущности
|
||||||
|
tsf:get_pos() -> vec3
|
||||||
|
-- Устанавливает позицию сущности
|
||||||
|
tsf:set_pos(pos: vec3)
|
||||||
|
|
||||||
|
-- Возвращает масштаб сущности
|
||||||
|
tsf:get_size() -> vec3
|
||||||
|
-- Устанавливает масштаб сущности
|
||||||
|
tsf:set_size(size: vec3)
|
||||||
|
|
||||||
|
-- Возвращает вращение сущности
|
||||||
|
tsf:get_rot() -> mat4
|
||||||
|
-- Устанавливает вращение сущности
|
||||||
|
tsf:set_rot(size: mat4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Rigidbody
|
||||||
|
|
||||||
|
Компонент отвечает за физическое тело сущности.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Сокращение
|
||||||
|
local body = entity.rigidbody
|
||||||
|
|
||||||
|
-- Проверяет, включен ли рассчет физики тела
|
||||||
|
body:is_enabled() -> bool
|
||||||
|
-- Включает/выключает рассчет физики тела
|
||||||
|
body:set_enabled(enabled: bool)
|
||||||
|
|
||||||
|
-- Возвращает линейную скорость
|
||||||
|
body:get_vel() -> vec3
|
||||||
|
-- Устанавливает линейную скорость
|
||||||
|
body:set_vel(vel: vec3)
|
||||||
|
|
||||||
|
-- Возвращает размер хитбокса
|
||||||
|
body:get_size() -> vec3
|
||||||
|
-- Устанавливает размер хитбокса
|
||||||
|
body:set_size(size: vec3)
|
||||||
|
|
||||||
|
-- Возвращает множитель гравитации
|
||||||
|
body:get_gravity_scale() -> vec3
|
||||||
|
-- Устанавливает множитель гравитации
|
||||||
|
body:set_gravity_scale(scale: vec3)
|
||||||
|
|
||||||
|
-- Возвращает множитель затухания линейной скорости (используется для имитации сопротивления воздуха и трения)
|
||||||
|
body:get_linear_damping() -> number
|
||||||
|
-- Устанавливает множитель затухания линейной скорости
|
||||||
|
body:set_linear_damping(value: number)
|
||||||
|
|
||||||
|
-- Проверяет, включено ли вертикальное затухание скорости
|
||||||
|
body:is_vdamping() -> bool
|
||||||
|
-- Включает/выключает вертикальное затухание скорости
|
||||||
|
body:set_vdamping(enabled: bool)
|
||||||
|
|
||||||
|
-- Проверяет, находится ли сущность на земле (приземлена)
|
||||||
|
body:is_grounded() -> bool
|
||||||
|
|
||||||
|
-- Проверяет, находится ли сущность в "крадущемся" состоянии (не может упасть с блоков)
|
||||||
|
body:is_crouching() -> bool
|
||||||
|
-- Включает/выключает "крадущееся" состояние
|
||||||
|
body:set_crouching(enabled: bool)
|
||||||
|
|
||||||
|
-- Возвращает тип физического тела (dynamic/kinematic)
|
||||||
|
body:get_body_type() -> str
|
||||||
|
-- Устанавливает тип физического тела
|
||||||
|
body:set_body_type(type: str)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Skeleton
|
||||||
|
|
||||||
|
Компонент отвечает за скелет сущности. См. [риггинг](rigging.md).
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Сокращение
|
||||||
|
local rig = entity.skeleton
|
||||||
|
|
||||||
|
-- Возвращает имя модели, назначенной на кость с указанным индексом
|
||||||
|
rig:get_model(index: int) -> str
|
||||||
|
|
||||||
|
-- Возвращает матрицу трансформации кости с указанным индексом
|
||||||
|
rig:get_matrix(index: int) -> mat4
|
||||||
|
-- Устанавливает матрицу трансформации кости с указанным индексом
|
||||||
|
rig:set_matrix(index: int, matrix: mat4)
|
||||||
|
|
||||||
|
-- Назначает текстуру по ключу (динамически назначаемые текстуры - '$имя')
|
||||||
|
rig:set_texture(key: str, value: str)
|
||||||
|
```
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user