Advanced / Программирование скриптов (Lua)


Как писать скрипты как создавать обработчики событий и действий каков их синтаксис где почитать про это


И еще до кучи подскадите как в LUA у объекта текст изменить размер шрифта - на 14 пунктов - напишите строку кода как это делается - спасибо!
И так же про поля - padding не могу в LUa написать код изменения полей у объекта типа прямоцгольник
Напишите пожалуйста примером

Код ниже увеличивает шрифт текста на 14 пикселей, используя класс ScreenUnitLength и его параметр value

text.text.font_size = ScreenUnitLength(text.text.font_size.value + 14, "px")

Для полей используйте класс ScreenPadding, принимающий четыре параметра(поля сверху, справа, снизу и слева):

rect.rect.padding = ScreenPadding("100px", "0%", "100px", "0%")

Также можно в значении указать “keep-aspect” - сохранять соотношение сторон.

Также, если вдруг что-то не получается, Вы можете построить простую схему из объектов в сценарии(например по какому-нибудь событию устанавливать поля прямоугольника), и нажать правой кнопкой в окне Сценарий, выбрав “Сгенерировать код и вывести в Консоль”. Код, выведенный в консоль(если она у Вас не открыта, то выберете ее в меню Вид), может подсказать, какие классы и параметры используются.

Есть объект VR контроллер, я ему добавил дочерний элемент Model. Мне надо менять координаты Model в соответствии с изменениями координат контроллера. Но сейчас меняется положение контроллера, а сам объект (Model) свои координаты не меняет. Напишите код, как обращатся к координатам VR контроллера, чтобы задавать его координаты объекту Model. Сейчас то он перемещается за контроллером автоматически, но координаты не меняет, они мне нужны

Есть объект VR контроллер, я ему добавил дочерний элемент Model. Мне надо менять координаты Model в соответствии с изменениями координат контроллера. Но сейчас меняется положение контроллера, а сам объект (Model) свои координаты не меняет. Напишите код, как обращатся к координатам VR контроллера, чтобы задавать его координаты объекту Model. Сейчас то он перемещается за контроллером автоматически, но координаты не меняет, они мне нужны

Здравствуйте!

local vrController = reactorController:getReactorByName("название-реактора-контроллера")
local model =  reactorController:getReactorByName("название-вашей-модели")

model:subscribeEvent("onFrame", function()
    local trans, rotate, scale = vrController:getTrans(), vrController:getRotate(), vrController:getScale()
    -- код варьируется, в зависимости от того, для чего нужны координаты
end)

И модель, и контроллер являются производными от TransformNodeReactor, и имеют специализированные методы для работы с трансформацией объекта.

Отредактировано 15 Дек, 2025 17:43

Также стоит добавить, что координаты контроллера - это координаты в системе координат виртуальной камеры(шлема). Напишите, пожалуйста, как Вы собираетесь использовать координаты контроллера, потому что в зависимости от задачи, код может быть другим.

Отредактировано 15 Дек, 2025 17:39
 
Зарегистрируйтесь или войдите чтобы оставить сообщение.