에디터는 구체적인 프레임 내부 검사 및 디버깅을 위해 RenderDoc 그래픽스 디버거 통합 실행 및 캡처를 지원합니다.
이 통합은 RenderDoc 0.26 이상 버전만 지원하므로 이전 버전이 설치되어 있을 경우 최소한 0.26 버전으로 업데이트해야 합니다.
참고: 이 통합은 에디터에서만 사용 가능하지만 스탠드얼론 플레이어 빌드에서 추가 설정 없이 RenderDoc을 정상적으로 사용할 수 있습니다.
참고: RenderDoc이 지원하는 플랫폼 및 API에서 Unity가 실행 중일 때만 프레임을 캡처할 수 있습니다. 이 가이드 작성 시점 기준으로는 Windows에서 DirectX 11 또는 OpenGL Core 프로필에서만 사용 가능합니다. 다른 API를 사용 중일 경우 지원하는 API를 사용할 수 있을 때까지는 RenderDoc 통합을 일시적으로 사용할 수 없습니다.
RenderDoc 설치가 감지되면 에디터 로딩 후 아무 때나 게임 뷰 또는 씬 뷰 탭을 마우스 오른쪽 버튼으로 클릭하고 ‘RenderDoc 로드’ 옵션을 클릭하면 됩니다. 이렇게 하면 그래픽스 장치가 다시 로드되며 따라서 변경 내용을 반드시 저장해야 합니다. 이 후로 RenderDoc은 에디터를 재시작할 필요 없이 캡처할 수 있고 스탠드얼론 플레이어를 빌드할 수도 있습니다.
참고: 또한 RenderDoc을 통해 에디터를 실행하거나 커맨드 라인에서 -load-renderdoc 옵션을 사용하여 시작 시점에 RendorDoc을 로드할 수도 있습니다.
에디터에 호환되는 RenderDoc 버전이 감지되면 게임 뷰 및 씬 뷰의 툴바 우측에 새 버튼이 나타납니다.
이 버튼을 누르면 뷰에 렌더링될 다음 프레임이 캡처됩니다. RenderDoc 툴 UI가 열리지 않은 경우 캡처를 보여주기 위한 새 인스턴스가 실행되며 이미 열려 있을 경우 가장 최신의 캡처가 자동으로 나타납니다. 여기에서 캡처를 열고 툴을 사용하여 디버그할 수 있습니다.
기본적으로 DirectX11 셰이더의 크기를 최적화하기 위하여 디버깅 정보는 제외됩니다. 즉, 상수 및 리소스에는 이름이 없으며 셰이더 소스를 사용할 수 없게 됩니다. 이러한 디버깅 정보를 셰이더에 포함하려면 #pragma enable_d3d11_debug_symbols를 셰이더의 CGPROGRAM 블록에 추가해야 합니다.
D3D11을 사용하여 스탠드얼론 플레이어를 작성한 경우 Visual Studio 그래픽스 디버거를 사용하여 프레임을 캡처하고 디버그할 수 있습니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.