VoxelEngine/doc/ru/scripting/components.md

1.8 KiB

Компоненты

Обозначения типов, используемые далее

  • vec3 - 3D вектор (массив из трех чисел)
  • mat4 - матрица 4x4 (массив из 16 чисел)

Аннотации типов добавлены в целях документации и не являются частью синтаксиса Lua.

Встроенные компоненты

Transform

Компонент отвечает за позицию, масштаб и вращение сущности.

-- Сокращение
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

Компонент отвечает за физическое тело сущности.

-- Сокращение
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)