Интеграция Engee с UNIGINE
Страница в процессе разработки. |
Для интеграции реализованы два класса: EngeeServerSocket
и EngeeClientSocket
. Это сетевые сокеты, предназначенные для обмена данными с блоками раздела Оборудование UNIGINE в системе Engee. Чтобы использовать эти классы, необходимо добавить их исходники в файл CMakeLists.txt
по аналогии с примером в директории интеграции UNIGINE.
Конфигурация проекта
Используется приложение без шаблона.
Среда разработки: C++ и система сборки CMake.
В этой конфигурации вся логика мира (включая поведение объектов) реализована в классе AppWorldLogic
. Классы AppEditorLogic
и AppSystemLogic
в данной интеграции не используются.
Пример интеграции
В директории Socket
находятся исходные файлы новых классов, а также определение протокола передачи данных (common_types.h
).
В метод инициализации мира добавляется:
-
Создание экземпляра
EngeeClientSocket
, который подключается к адресу127.0.0.1
и порту5150
; -
Получение объекта (ноды) по имени, например,
material_ball
.
В методе обновления мира (расчет каждого кадра):
-
Получаются данные с сокета Engee;
-
Позиция объекта обновляется: к текущей позиции прибавляются координаты, пришедшие по сокету.
При закрытии мира вызывается метод закрытия сокета.