Visual Studio C# 통합
에디터 애널리틱스(Editor Analytics)

RenderDoc 통합

에디터는 구체적인 프레임 내부 검사 및 디버깅을 위해 RenderDoc 그래픽스 디버거 통합 실행 및 캡처를 지원합니다.

이 통합은 RenderDoc 0.26 이상 버전만 지원하므로 이전 버전이 설치되어 있을 경우 최소한 0.26 버전으로 업데이트해야 합니다.

참고: 이 통합은 에디터에서만 사용 가능하지만 스탠드얼론 플레이어 빌드에서 추가 설정 없이 RenderDoc을 정상적으로 사용할 수 있습니다.

참고: RenderDoc이 지원하는 플랫폼 및 API에서 Unity가 실행 중일 때만 프레임을 캡처할 수 있습니다. 이 가이드 작성 시점 기준으로는 Windows에서 DirectX 11 또는 OpenGL Core 프로필에서만 사용 가능합니다. 다른 API를 사용 중일 경우 지원하는 API를 사용할 수 있을 때까지는 RenderDoc 통합을 일시적으로 사용할 수 없습니다.

RenderDoc 로드

RenderDoc 설치가 감지되면 에디터 로딩 후 아무 때나 게임 뷰 또는 씬 뷰 탭을 마우스 오른쪽 버튼으로 클릭하고 ‘RenderDoc 로드’ 옵션을 클릭하면 됩니다. 이렇게 하면 그래픽스 장치가 다시 로드되며 따라서 변경 내용을 반드시 저장해야 합니다. 이 후로 RenderDoc은 에디터를 재시작할 필요 없이 캡처할 수 있고 스탠드얼론 플레이어를 빌드할 수도 있습니다.

런타임 시점의 RenderDoc 로드
런타임 시점의 RenderDoc 로드

참고: 또한 RenderDoc을 통해 에디터를 실행하거나 커맨드 라인에서 -load-renderdoc 옵션을 사용하여 시작 시점에 RendorDoc을 로드할 수도 있습니다.

RenderDoc으로 프레임 캡처

에디터에 호환되는 RenderDoc 버전이 감지되면 게임 뷰 및 씬 뷰의 툴바 우측에 새 버튼이 나타납니다.

RenderDoc으로 프레임 캡처
RenderDoc으로 프레임 캡처

이 버튼을 누르면 뷰에 렌더링될 다음 프레임이 캡처됩니다. RenderDoc 툴 UI가 열리지 않은 경우 캡처를 보여주기 위한 새 인스턴스가 실행되며 이미 열려 있을 경우 가장 최신의 캡처가 자동으로 나타납니다. 여기에서 캡처를 열고 툴을 사용하여 디버그할 수 있습니다.

RenderDoc의 프레임 캡처 리스트
RenderDoc의 프레임 캡처 리스트

셰이더 디버그 정보 포함

기본적으로 DirectX11 셰이더의 크기를 최적화하기 위하여 디버깅 정보는 제외됩니다. 즉, 상수 및 리소스에는 이름이 없으며 셰이더 소스를 사용할 수 없게 됩니다. 이러한 디버깅 정보를 셰이더에 포함하려면 #pragma enable_d3d11_debug_symbols를 셰이더의 CGPROGRAM 블록에 추가해야 합니다.

대체 그래픽스 디버깅 기술

D3D11을 사용하여 스탠드얼론 플레이어를 작성한 경우 Visual Studio 그래픽스 디버거를 사용하여 프레임을 캡처하고 디버그할 수 있습니다.

Visual Studio C# 통합
에디터 애널리틱스(Editor Analytics)