nikolaj.kormushkin Posted December 20, 2019 Share Posted December 20, 2019 (edited) Добрый день, сотрудники компании Unigine. Имеется проблема с запуском проекта. Проект компилируется, но при запуске возникает следующий exception. Прикладываю screenshot ошибки в Visual Studio и screenshot сообщений с консоли в момент запуска. Т.е. exсeption происходит в main-методе движка, что не позволяет отладить ошибку. Пробовал обрамить вызов в try/catch-конструкцию надеясь получить большую информацию о причине ошибки: try { // enter main loop engine->main(&system_logic, &world_logic, &editor_logic); } catch (std::exception& e) { std::cout << "exception: " << e.what() << std::endl; } , но в catch-блок программа не заходит. В консоли имеется пара сообщений которые могут являться причиной падения загрузки мира: ----Materials---- Engine base materials loaded: 183 / 183 (741ms) Engine materials loaded: 68 / 68 (390ms) User materials loaded: 119 / 119 (151ms) ----Properties---- Properties loaded: 29 / 29 (9ms) Engine initialization: 2149ms ---- Interpreter ---- Version: 2.90 Unigine~# world_load "TanksOverflow" Script loading "core/unigine.usc" 6ms Loading "core/locale/unigine.locale" dictionary 0ms The thread 0x2468 has exited with code 0 (0x0). Mesh::info(): unknown format of "guid://dda78aa04ff99921ee0bb1c54f7914f7011de691" file Script loading "TanksOverflow.usc" 3ms World loading "TanksOverflow.world" 260ms Object::setMaterial(): material "mesh_base" is not supported Object::setMaterial(): material "mesh_base" is not supported Object::setMaterial(): material "mesh_base" is not supported Object::setMaterial(): material "mesh_base" is not supported Logic Object: objects array is empty, please check broken_earthing Exception thrown at 0x00007FFF7E889129 in TanksOverflow_x64d.exe: Microsoft C++ exception: _com_error at memory location 0x0000006351D5B658. , т.е. имеются 2 проблемы: unknown format of file material is not supported Помимо этого, заглянув в log-файл редактора вижу ряд ошибок.Прикладываю сам log-файл и отдельно screenshot имеющихся в нём ошибок для наглядности: Я понимаю, что в силу наличия ошибок в log-файле редактора - следует сначала избавиться от них, добившись тем самым корректной сцены, а потом уже браться за exception запуска проекта (возможно, что он полечится). Подскажите пожалуйста: С чем может быть связаны ошибки c загрузкой библиотеки libHAPIL.dll? Можете дать рекомендации по общей методике исправления ошибки "unknown format of file"? Подозреваю, что проблема с Direct3D11 возникает из за наличия проблемы №2. Возможно, что они не связаны и Вы можете дать какие-то рекомендации по этой ошибке? Можете дать рекомендации по общей методике исправления ошибки "material "mesh_base" is not supported"? log.html Edited December 20, 2019 by nikolaj.kormushkin Link to comment
cash-metall Posted December 20, 2019 Share Posted December 20, 2019 Добрый день, Николай! По проблеме с Гудини - убедитесь, что у вас установлен Гудини версии 16.0.600 и выше, а также, что он добавлен в PATH переменные. Ошибка не критичная. По остальным проблемам, пожалуйста, сообщите с какими аргументами вы запускаете движок. Link to comment
nikolaj.kormushkin Posted December 25, 2019 Author Share Posted December 25, 2019 Спасибо, за советы. Насколько я понял, на данный момент, Гудини у меня не установлен. Но я не уверен, т.к. пытаясь разобраться в этом вопросе наткнулся на неоднозначные для меня, два варианта, где его следует искать и чем он является. На просторах интернета ссылка наткнулся на тему, она хоть и связана с проблемой Goudini в UE4, но - это дало мне представление, что Гудини, там фигурирует как plugin и после его установки должен располагаться в директории: "C:/Program Files/Side Effects Software/Houdini <версия Гудини>/bin" У меня такой директории нет, соответственно делаю предположение, что у меня Гудини не установлен. В то-же время нашёл в Unigine SDK директории cmake-файл "FindHoudini.cmake", из кода которого: # Copyright (C), UNIGINE. All rights reserved. # Find `Houdini` library. # Once done this will define: # UnigineExt::Houdini - library target. # Houdini_FOUND - library is found. # Houdini_INCLUDE_DIR - include path. set (sdkroot $ENV{HOUDINIROOT}) find_path(Houdini_INCLUDE_DIR NAMES HAPI/HAPI.h PATHS ${sdkroot}/toolkit/include NO_DEFAULT_PATH ) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Houdini FOUND_VAR Houdini_FOUND REQUIRED_VARS Houdini_INCLUDE_DIR ) if (Houdini_FOUND AND NOT TARGET UnigineExt::Houdini) add_library(__houdini_lib INTERFACE) add_library(UnigineExt::Houdini ALIAS __houdini_lib) target_include_directories(__houdini_lib INTERFACE ${Houdini_INCLUDE_DIR}) endif () я делаю вывод, что "${sdkroot}/toolkit/include" должен быть заголовочный файл "HAPI/HAPI.h" на основе которого создаётся библиотека "__houdini_lib" и связывается с пространством имён "UnigineExt::Houdini" внутри движка Unigine. Таким образом я ожидаю увидеть Goudini в plugin-ах Unigine, иначе как ему оказаться в ${sdkroot}/toolkit/include , но просматривая список доступных plugin-ов в конфигурации проекта я его не нахожу: Подскажите пожалуйста: Где я заблуждаюсь в своём понимании Гудини как сущности? Гудини следует скачивать и устанавливать отдельно? Как посмотреть упомянутую вами версию Гудини? Как узнать аргументы с которыми я запускаю движок? Link to comment
morbid Posted December 25, 2019 Share Posted December 25, 2019 1 hour ago, nikolaj.kormushkin said: Подскажите пожалуйста: Где я заблуждаюсь в своём понимании Гудини как сущности? Гудини следует скачивать и устанавливать отдельно? Как посмотреть упомянутую вами версию Гудини? Николай, если кратко, то Houdini вам не нужен. У нас была сделана интеграция с этим приложением для процедурной обработки террейна. Эта ошибка вообще ни на что не виляет. 1 hour ago, nikolaj.kormushkin said: Как узнать аргументы с которыми я запускаю движок? Если вы запускаете из Visual Studio, то в настройках debugging: Если через SDK Browser, то тут: On 12/20/2019 at 3:57 PM, nikolaj.kormushkin said: Можете дать рекомендации по общей методике исправления ошибки "material "mesh_base" is not supported"? Такие ошибки могут быть, если вы назначаете mesh_base из кода объектам, которые не могут работать с этим материалом (не mesh). Спасибо. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
nikolaj.kormushkin Posted December 25, 2019 Author Share Posted December 25, 2019 Спасибо! Запускаю из студии (что приводит к описанным выше проблемам), Command Arguments: -data_path ../ -engine_config "../data/TanksOverflow/unigine.cfg" -console_command "world_load \"TanksOverflow\"" Если запускать из SDK Browser-а, то проект запускается, при этом строка Arguments пустая, как у вас на снимке. Link to comment
morbid Posted December 25, 2019 Share Posted December 25, 2019 Проще всего будет разобраться, если вы пришлете проект или создадите минимальную сцену для воспроизведения проблемы. Скорее всего, проблема где-то в контенте. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
nikolaj.kormushkin Posted December 26, 2019 Author Share Posted December 26, 2019 Хорошо. На данный момент согласуется передача проекта, как формальность, но процесс затягивается, к сожалению. Link to comment
morbid Posted December 28, 2019 Share Posted December 28, 2019 Краш происходил из-за размеров текстуры, создаваемой для ObjectText. Проблема решается указанием Wrap Width. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
Recommended Posts