Unity 6.3
0 онлайн 3 гостей 3 в системе
Вход

RenderDoc интеграция

Редактор поддерживает интегрированный запуск и захват графического отладчика RenderDoc, для детальной интроспекции и отладки кадров.

Интеграция поддерживается только для RenderDoc версий 0.26 или более поздних, так что если в настоящее время установлена более ранняя версия, необходимо обновить ее по крайней мере до версии 0.26.

Примечание: Хотя интеграция доступна только в Редакторе, вполне возможно использовать RenderDoc как обычно без дополнительной настройки в автономных сборках игрока.

Примечание: Фрамы могут быть захвачены только если Unity работает на платформе и API поддерживается RenderDoc. Если используется другой API, интеграция RenderDoc будет временно отключена, пока не будет включена поддерживаемая API. См. документацию RenderDoc для получения дополнительной информации о поддерживаемых платформах и APIs.

Загрузка RenderDoc

Если установка RenderDoc обнаружена, то в любое время после загрузки Редактора вы можете щелкнуть правой кнопкой мыши на вкладке Game Вид или Scene Вид и нажмите кнопку «Загрузить RenderDoc». Это перезагрузит графическое устройство, поэтому вы должны сохранить любые изменения, но после этого RenderDoc будет готов к захвату без необходимости перезапуска редактора или создания автономного проигрывателя.

Примечание: Вы также можете запустить Редактор через RenderDoc как обычно, или передавать параметр командной строки -load-renderdoc для загрузки RenderDoc со старта.

Захват кадра с помощью RenderDoc

Когда совместимая версия RenderDoc обнаружена как загруженная в Редактор, в правой части панели инструментов в представлениях Game и Scene появится новая кнопка.

Захват кадра с помощью RenderDoc
Захват кадра с помощью RenderDoc

Нажатие этой кнопки запустит захват следующего кадра отображения для представления. Если инструмент RenderDoc UI не был открыт, то будет запущен новый экземпляр, чтобы показать захват, и если он уже запущен, то там автоматически появится самый последний захват. Оттуда вы можете открыть захват и отладку с помощью этого инструмента.

Список кадров в RenderDoc
Список кадров в RenderDoc

Включение информации об отладке шейдера

По умолчанию, для оптимизации размера DirectX11 шейдеров, информация об отладке удаляется. Это означает, что константы и ресурсы не будут иметь имен, а источник шейдера будет недоступен. Чтобы включить эту информацию об отладке в ваш шейдер, включите #pragma enable_d3d11_debug_symbols в блок HLSLPROGRAM вашего шейдера.

Альтернативные методы отладки графики

Если вы создаете автономный проигрыватель с помощью D3D11, вы можете захватить кадр и отладку с помощью графического отладчика Visual Studio.

Настройка Android SDK в RenderDoc

При использовании RenderDoc для разработки приложений Android, убедитесь, что Android SDK правильно настроены одним из следующих способов:

Установите RenderDoc для использования того же SDK, что и Unity (рекомендуется)

  1. В окне RenderDoc перейдите в Инструменты > Настройки > Android.
  2. Под Android SDK корневой путь, введите путь, Unity использования для Android SDK. Вы можете найти этот путь в Unity Editor под Изменить > Предпочтения > Android SDK Инструменты установлены с Unity.

Выравнивание версий ADB и путей между RenderDoc и Unity

Если корневой путь Android SDK в настройках RenderDoc не установлен, RenderDoc использует путь, установленный для ADB в переменной среды PATH.

  1. Найдите путь ADB, установленный в переменной PATH.

    • Windows PowerShell: Get-Command adb | Select-Object Path
    • Командная строка Windows: where adb
  2. Проверьте версию ADB в терминале Windows: C:\[adb path from command output]\adb.exe version.

  3. Найти ADB путь, Unity В данном случае Unity Editor, перейти Изменить > Предпочтения > Android SDK Инструменты установлены с Unity.

  4. Проверьте соответствующую версию ADB в терминале Windows: C:\[path to Android sdk platform-tools]\adb.exe version.

  5. Сравните версии ADB, используемые RenderDoc и Unity. Если они отличаются, выберите одно из расположений ADB и настройте оба инструмента на использование одного и того же пути.

Примечание: Убедитесь, что платформенные инструменты из выбранного SDK являются обновленными, используя менеджер Android SDK в Android Studio.