Jump to content

не найден PlayerController


photo

Recommended Posts

Пытаюсь собрать пример Введение Быстрый старт для программистов 2. Создание управляемого персонажа https://developer.unigine.com/ru/docs/latest/start/quick_start/character/index#controls

в качестве системы сборки использую gnu/make, в качестве IDE vim или geany

по гайду создал файлы PlayerController (.h/.cpp), запустил make и всё вроде собирается (с варнингом warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type)

но, похоже, эти новые файлы не обрабатываются make, так как ничего нового не появляется в директории release/, я думаю, там должен появится новый объектны файл библиотеки, который потом будет доступен в unigine Editor

соответственно у меня не получается связать этот модуль со свойством робота из гайда

image.png.eec3ec7c161de5a9b2a86b1f7a4afbd3.pngimage.thumb.png.db8ae6e21bb7307e1c258f549b943c3b.png

как это можно сделать без MSVC ? а точнее, где прочитать как происходит связь объектных самописных библиотек с unigine Editor?

нашёл вот такое пояснение https://developer.unigine.com/ru/docs/latest/tools/upgrade/

но оно требует утилиты usc_x64.exe которой я не нашёл среди скачанных unigine файлов

1. возможно в диалоге Node Properies нужно указать путь к объектном файлу который образуется в результате компиляции PlayerController?

2. но как включить его в сценарий сборки Makefile ?

ps: руками поправил Makefile

SRCS =\
    main.cpp\
    AppSystemLogic.cpp\
    AppWorldLogic.cpp\
    AppEditorLogic.cpp\
    PlayerController.cpp

и библиотека собралась, но unigine Editor всё равно не "видит" PlayerController, не понимаю как создаётся эта связь

pss: после перезапуска unigine Editor связь появилась

image.png.f116a8788087f94c8c7337e9de998021.png

в общем то всё просто:

  1. добавлем новый файл
  2. добавляем в сборку через Makefile
  3. компилируем
  4. запускаем ./launch_release.sh
  5. перезапускаем unigineEditor  (uEd)
  6. связываем с нодами

 

теперь бы как то это автоматизировать на уровне make

Edited by ffsdmad
  • Like 1
Link to comment

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

алгоритм верный, единственное - редактор не обязательно перезапускать. 
компонента в редакторе появится когда сгенерируется .prop файл для вашей компоненты. prop файл генерируется при запуске приложения. 

т.е. если вы создали новую компоненту или исправили интерфейс в старой - чтобы увидеть изменения в редакторе нужно
0. убедится что вы инициализировали компонентную систему (ComponentSystem::get()->initialize());
1. добавить файлы компоненты в сборку
2. собрать приложение
3. запустить собранное приложение (в консоли будет сообщение что создан или модифицирован prop файл)

  • Like 1
Link to comment
×
×
  • Create New...