# Компоненты ## Обозначения типов, используемые далее - 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) ```