Отладчик кадров позволяет заморозить воспроизведение запущенной игры на определенном кадре и просмотреть отдельные вызовы отрисовки, которые используются для рендеринга этого кадра. Отладчик не только перечисляет вызовы отрисовки, но и позволяет выполнять их один за другим, чтобы вы могли в мельчайших подробностях увидеть, как SceneСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
See in Словарь состоит из его графических элементов.

Использование отладчика кадров
Окно отладчика кадров (меню: Окно > Анализ > Отладчик кадров) показывает информацию о вызовах отрисовки и позволяет управлять «воспроизведением». строящегося каркаса.
В основном списке отображается последовательность вызовов отрисовки (и других событий, таких как очистка кадрового буфера) в виде иерархии, которая определяет, откуда они произошли. Панель справа от списка предоставляет дополнительную информацию о вызове отрисовки, такую как детали геометрии и шейдерпрограмма, работающая на графический процессор. Подробнее
См. в Словарь, используемый для рендерингПроцесс вывода графики на экран (или текстуры рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь.
Нажатие на элемент в списке отобразит сцену (в представлении игры) в том виде, в каком она выглядит до этого вызова отрисовки включительно. Кнопки со стрелками влево и вправо на панели инструментовРяд кнопок и основных элементов управления в верхней части редактора Unity, которые позволяют взаимодействовать с редактором различными способами (например, масштабирование, перевод). Подробнее
См. в Словарь перемещаться вперед и назад по списку, один шаг, и вы также можете использовать клавиши со стрелками для того же эффекта. Кроме того, ползунок в верхней части окна позволяет быстро «пролистывать» вызовы отрисовки, чтобы быстро найти интересующий элемент. Где вызов отрисовки соответствует геометрии GameObjectосновного объекта в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры , путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь, этот объект будет выделен на главной панели иерархии, чтобы помочь идентификация.
Если рендеринг происходит в RenderTexture при выбранном вызове отрисовки, то содержимое этой RenderTexture отображается в виде игры. Это полезно для проверки того, как создаются различные цели рендеринга за пределами экрана, например диффузный G-буфер в отложенном затенениирендеринге путь во встроенном конвейере рендеринга, который не накладывает ограничений на количество источников света, которые могут воздействовать на GameObject. Все источники света оцениваются попиксельно, что означает, что все они корректно взаимодействуют с картами нормалей и так далее. Кроме того, все источники света могут иметь файлы cookie и тени. Подробнее
См. в Словарь:

Или посмотреть, как отображаются карты теней:

Удаленный отладчик кадров

Чтобы использовать Frame Debugger удаленно, проигрыватель должен поддерживать многопоточный рендеринг (например, WebGL не поддерживает его, поэтому на нем нельзя запустить отладчик кадров), большинство платформ Unity поддерживают его, во-вторых, вы должны проверить 'Сборка для разработкиСборка для разработки включает символы отладки и включает профилировщик. Подробнее
См. в Словарь’ при сборке.
Примечание для настольных платформ: обязательно установите флажок "Выполнить в фоновом режиме" перед сборкой, в противном случае, когда вы подключите отладчик кадров к проигрывателю, он не будет отражать никаких изменений рендеринга, пока не получит фокус, если вы запустив редактор и проигрыватель на одном компьютере, когда вы будете управлять отладчиком кадров в редакторе, вы перенесете фокус с проигрывателя.
Быстрый старт:
- Из редактора создайте проект для целевой платформы (выберите Development Player)
- Запустить проигрыватель
- Вернуться в редактор
- Открыть окно отладчика фреймов
- Кликните на Active Profiler, выберите игрока
- Нажмите Включить, отладчик кадров должен включиться в проигрывателе.
Параметры отображения целевого объекта
В верхней части информационной панели находится панель инструментов, которая позволяет изолировать красный, зеленый, синий и альфа-каналы для текущего состояния представления игры. Точно так же вы можете изолировать области просмотра в соответствии с уровнями яркости, используя ползунок Уровни справа от этих кнопок каналов. Они доступны только при рендеринге в RenderTexture.
При одновременном рендеринге в несколько целей рендеринга вы можете выбрать, какой из них будет отображаться в игровом представлении. Здесь показаны буферы диффузного, зеркального, нормалей и эмиссионного/непрямого освещения в режиме отложенного затенения 5.0 соответственно:




Кроме того, вы можете увидеть буфер глубиныхранилище памяти, в котором хранится глубина z-значения каждого пикселя изображения. , где z-значение — это глубина каждого визуализируемого пикселя от плоскости проекции. Подробнее
Просмотрите содержимое Словарь, выбрав «Глубина» в раскрывающемся списке:

Путем изоляции альфа-канала текстуры рендерингаСпециальный тип текстуры, который создается и обновляется во время выполнения. Чтобы использовать их, сначала создайте новую текстуру рендеринга и назначьте одну из ваших камер для рендеринга в нее. Затем вы можете использовать Render Texture в материале, как обычную текстуру. Подробнее
Посмотрите в Словарь, вы можете увидеть окклюзию (хранится в RT0 alpha) и гладкость (хранится в RT1 alpha) отложенного G-буфера:


Излучение и окружающее/непрямое освещение в этой сцене очень темные; мы можем сделать его более заметным, изменив ползунок «Уровни»:

Просмотр значений свойств шейдера
Для вызовов отрисовки Frame Debugger также может отображать свойство шейдера. значения, которые используются. Нажмите на вкладку «Свойства шейдера», чтобы отобразить их:

Для каждого свойства показано значение, а также этапы шейдера.
он использовался в (вершине, фрагменте, геометрии, оболочке, домене). Обратите внимание, что при использовании OpenGL (например, на Mac) все свойства шейдера считаются частью вершинного шейдерапрограммы, которая работает на каждой вершине 3D-модели во время рендеринга модели. Подробнее
См. на этапе Словарь в связи с тем, как работают шейдеры GLSL.
В редакторе также отображаются миниатюры текстур, а нажатие
на них выделяются текстуры в окне проектаокне, в котором отображается содержимое вашей папки активов
(вкладка «Проект») Подробнее
См. в Словарь.
Альтернативные методы отладки кадров
Вы также можете использовать внешние инструменты для отладки рендеринга. Интеграция с редактором позволяет легко запускать RenderDoc для проверки представления сцены или игры в редакторе.
Вы также можете создать отдельный проигрыватель и запустить его одним из следующих способов:
- Отладчик графики Visual Studio
- Intel GPA
- RenderDoc
- NVIDIA NSight
- AMD GPU PerfStudio
- Захват кадров графического процессора Xcode
- Инструменты драйвера графического процессора
После этого сделайте кадр рендеринга, затем просмотрите вызовы отрисовки и другие события рендеринга, чтобы увидеть, что происходит. Это очень эффективный подход, потому что эти инструменты могут предоставить вам много информации для детализации.