Диагностика редактора, импорта и экспорта
Найдите этап ошибки, соберите журнал и проверьте запуск, импорт и состав сборки.
Сначала найдите этап отказа
Зафиксируйте, что не работает: запуск редактора, импорт, сборка C#, запуск уровня или экспортированная игра. Сохраните первую ошибку и несколько строк перед ней. Последующие сообщения могут быть следствием первой ошибки.
| Симптом | Следующий шаг |
|---|---|
| Редактор не открывает проект | Журнал запуска, рендерер и режим восстановления |
| Уровень запускается, но окно пустое | Главный документ, игровая камера, геометрия и свет |
| C# не собирается или код не выполняется | Первая ошибка сборки, SDK, назначенный Script и новая сборка |
| После обновления модели пропали материалы | Пути зависимостей, импорт и настройки материала |
| Только экспортированная игра не видит файл | Состав экспорта, точный путь и регистр имени |
| Проблема в рывках или задержке | Время кадров и диагностика движения |
Для игровых ошибок — движения, коллизий, ссылок и сохранённых значений Inspector — используйте проверки проекта. Здесь разобраны запуск редактора, импорт и различия между редактором и сборкой.
Редактор не открывается или падает с проектом
- Проверьте, запускается ли редактор без проблемного проекта и открывается ли пустой проект. Так отделяется общая проблема запуска от содержимого проекта.
- Соберите журнал через консольный запуск:
--verboseдобавляет подробности,--log-file <file>задаёт файл журнала. Укажите существующую доступную папку и точный--path <project>. - Если сбой связан с проектом, запустите редактор с
--editor --recovery-mode. Режим восстановления отключает ряд расширяемых возможностей, включая редакторские плагины и tool-скрипты; он помогает локализовать причину, но сам её не исправляет. - Сравните фактический метод рендеринга и драйвер в журнале. Для отдельного диагностического запуска можно задать
--rendering-method gl_compatibility, если этот метод поддерживается. Результат с другим методом не доказывает совместимость всех эффектов проекта.
Полный синтаксис запуска — в командной строке, различия методов — в рендерерах. Headless-запуск полезен для автоматизации, но не подтверждает исправность окна, GPU и изображения.
Долгий запуск и высокая нагрузка
Разделите поиск файлов, импорт, сборку C# и компиляцию графических конвейеров. Сравните первый и повторный запуск и найдите длительный этап по журналу. Не назначайте причиной конкретную ОС, драйвер или периферийное устройство без воспроизводимого сравнения.
В настройках редактора interface/editor/display/update_continuously включает постоянное обновление. interface/editor/timers/low_processor_mode_sleep_usec задаёт паузу режима экономии в микросекундах, а не гарантированный FPS. Изменение этих настроек может повлиять на отзывчивость; сравнивайте нагрузку в той же сцене. Рендеринг в меньшем разрешении не гарантирует пропорционального ускорения всего редактора.
Если задержка возникает при первом показе эффекта, проверьте компиляцию конвейеров. При постоянной нагрузке начните с профилирования.
В редакторе видно, в игре — нет
У редактора и игры разные камеры. Entity3D сам ничего не рисует: нужна геометрия в поле зрения активной игровой камеры и подходящий материал. Проверьте Visible, родителей, слои видимости, положение камеры и ошибки загрузки. Preview-свет редактора не добавляет освещение в игровой уровень.
Для чёрного объекта с освещаемым материалом проверьте реальный свет и окружение. Для исчезающих вырезов — режим прозрачности и текстуру. Для размытия сравните внутренний масштаб 3D, выходной Viewport, сглаживание и настройки драйвера приложения. Нельзя определить причину только по слову «размыто».
Порядок проверки кадра — в рендеринге, зависимостей модели — в импорте 3D.
C# или импорт не завершились
При ошибке C# исправьте первую диагностику в своём файле, проверьте проект и соответствующий SDK, сохраните, соберите и запустите заново. Успешный импорт модели не означает успешную сборку скриптов. Конкретные ошибки разобраны в C# и проверках проекта.
При ошибке импорта проверьте исходный файл, внешние изображения/буферы и журнал. Используйте логический asset:// путь исходного ресурса, а не путь сгенерированного кэша. Изменение кэша вручную не является исправлением исходного ассета. См. импорт ассетов.
В экспортированной игре не находится файл
| Проверка | Почему это важно |
|---|---|
Точный asset:// путь и регистр имени | Наличие файла на диске Windows ещё не доказывает совпадение пути в пакете |
| Фильтры профиля экспорта | Обычный JSON или другой файл данных должен попасть в экспорт; подключение в коде само по себе не является проверкой упаковки |
| Импортированные зависимости | Для модели недостаточно перенести только исходник, если сборка ожидает импортированные ресурсы |
| Файлы рядом с EXE | Сохраняйте фактическую структуру экспорта, включая PCK и необходимые файлы C# |
| Каталог записи | Изменяемые данные обычно сохраняются в user://, а не внутри пакета asset:// |
Сравните экспорт проекта и загрузку файлов. Для обновлений дополнительно проверьте порядок пакетов и кэш.
Что приложить к сообщению о проблеме
Укажите сборку, ОС, GPU/драйвер, фактический рендерер, точный этап отказа, первую ошибку, шаги воспроизведения и минимальный проект. Для экспорта приложите профиль и список полученных файлов. Для рывков нужны время кадров и настройки дисплея, а не только средний FPS.
Если сбой зависит от расширения, режима окна или возобновления после сна, приведите сравнение с одним изменённым условием. Это проверяемая гипотеза; неподтверждённое название «известный баг» не заменяет диагностику.