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 UI не был открыт, то будет запущен новый экземпляр, чтобы показать захват, и если он уже запущен, то там автоматически появится самый последний захват. Оттуда вы можете открыть захват и отладку с помощью этого инструмента.
Включение информации об отладке шейдера
По умолчанию, для оптимизации размера DirectX11 шейдеров, информация об отладке удаляется. Это означает, что константы и ресурсы не будут иметь имен, а источник шейдера будет недоступен. Чтобы включить эту информацию об отладке в ваш шейдер, включите #pragma enable_d3d11_debug_symbols в блок HLSLPROGRAM вашего шейдера.
Альтернативные методы отладки графики
Если вы создаете автономный проигрыватель с помощью D3D11, вы можете захватить кадр и отладку с помощью графического отладчика Visual Studio.
Настройка Android SDK в RenderDoc
При использовании RenderDoc для разработки приложений Android, убедитесь, что Android SDK правильно настроены одним из следующих способов:
Установите RenderDoc для использования того же SDK, что и Unity (рекомендуется)
- В окне RenderDoc перейдите в Инструменты > Настройки > Android.
- Под Android SDK корневой путь, введите путь, Unity использования для Android SDK. Вы можете найти этот путь в Unity Editor под Изменить > Предпочтения > Android SDK Инструменты установлены с Unity.
Выравнивание версий ADB и путей между RenderDoc и Unity
Если корневой путь Android SDK в настройках RenderDoc не установлен, RenderDoc использует путь, установленный для ADB в переменной среды PATH.
-
Найдите путь ADB, установленный в переменной
PATH.- Windows PowerShell:
Get-Command adb | Select-Object Path - Командная строка Windows:
where adb
- Windows PowerShell:
Проверьте версию ADB в терминале Windows:
C:\[adb path from command output]\adb.exe version.Найти ADB путь, Unity В данном случае Unity Editor, перейти Изменить > Предпочтения > Android SDK Инструменты установлены с Unity.
Проверьте соответствующую версию ADB в терминале Windows:
C:\[path to Android sdk platform-tools]\adb.exe version.Сравните версии ADB, используемые RenderDoc и Unity. Если они отличаются, выберите одно из расположений ADB и настройте оба инструмента на использование одного и того же пути.
Примечание: Убедитесь, что платформенные инструменты из выбранного SDK являются обновленными, используя менеджер Android SDK в Android Studio.