Форум

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


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


Добрый день!
Имею лицензию EVT Advanced на рабочем месте в образовательной организации. Работаем со студентами и столкнулись с вопросами.
Где можно взять информацию по работе со скриптами в EVToolbox на LUA?
В Вашем УМК такой информации нет, в документации кусками, что не дает четкого понимания.
Видео о скриптах носит ознакомительный характер на Вашем канале, что не дает четкого понимания.
Книга Роберту Иерусалимски - единственное пособие по LUA,где ни чего нет про скрипты.
Примеры на Githab без разъяснений, что не дает четкого понимания.
КАК БЫТЬ ТО?

Прошу помощи в поиске более полноценной информации о том, как писать скрипты на LUA для EVT. Имеем 15 лицензий advanced и ни какой информации и самом Важном - скриптах LUA.

Очень жду ответа!
bort_sv@mail.ru
Спасибо за любую информацию!

Добрый день. Спасибо за вопрос, это действительно актуальная проблема.

Создание проектов в конструкторе EV Toolbox с использованием языка Lua подразумевает подключение специфических модулей, которые позволяют раскрыть все возможности конструктора. На данный момент полноценная информация по этим модулям находится в описанных вами местах в “техническом” виде, большая ее часть в разделе “Документация” на портале https://eligovision.ru/toolbox/docs/3.4/API/index.html.
Разработчики EV Toolbox начинают адаптировать документацию для быстрого и более простого старта пользователей с применением Lua. В итоге это будет методическое пособие по работе с модулями. Это позволит лучше разобраться с тем, как создавать проекты в Advanced. Как только эта работа будет завершена, мы разместим информацию об этом на всех площадках.

Отредактировано 26 Сен, 2024 11:12

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

В документации по EV Toolbox версии 3.5 появился Быстрый старт в разделе Advanced

Добрый день !

Подскажите какими командами в скрипте LUA можно создать объект модель - как новый объект не существующий в EVToolbox. Чтобы он появился в EVToolbox автоматически на сцене при запуске скрипта.

Добрый день! Ниже пример кода, который создает в цикле 10 реакторов моделей, загружаемых из ресурсов. Добавьте модель в ресурсы через интерфейс студии и укажите необходимое имя в скрипте. Также не забудьте добавить сам скрипт “main.lua” в ресурсы.

function createModel(num)
    reactor = reactorFactory:create("node.model", reactorContext) -- создание реактора типа "Модель"
    reactorController:addReactor(reactor) -- добавление реактора в объект reactorController, управляющий всеми реакторами

    reactor:freeze()    -- заморозка реактора для настройки его параметров

    reactor.name                    = "model_logo_" .. num
    reactor.model                   = resourceRepository:getResourceByName("ev_model.fbx") -- получения ресурса по имени
    reactor.nodeMask                = NodeReactor.Mask.VISIBLE -- маска узла, в данном случае видимая
    reactor.rotate                  = osg.Vec3(90, 0, 0)    -- вращение модели, в данном случае 90 градусов по оси X
    reactor.trans                   = osg.Vec3(num, 0, 0)   -- перемещение модели, в метрах

    reactor:thaw()
    reactor:configure() -- завершение конфигурации реактора

    return reactor
end

local scene = reactorController:getReactorByName("Scene")

for i = 1, 10 do
    scene:addChild(createModel(i)) -- добавление созданной модели в сцену
end

Отредактировано 22 Ноя, 2024 18:38
 
Зарегистрируйтесь или войдите чтобы оставить сообщение.