유니버설 렌더 파이프라인의 렌더링
유니버설 렌더 파이프라인(URP)은 다음 컴포넌트를 사용하여 씬을 렌더링합니다.
다음 그림은 URP 유니버설 렌더러의 프레임 렌더링 루프를 보여줍니다.
그래픽스 설정에서 렌더 파이프라인이 활성 상태이면 Unity는 URP를 사용하여 게임 및 씬 뷰 카메라, 반사 프로브, 인스펙터의 미리보기 창 등을 포함하여 프로젝트의 모든 카메라를 렌더링합니다.
URP 렌더러는 각 카메라에 대해 카메라 루프를 실행하며, 이는 다음의 단계를 거칩니다.
- 씬에서 렌더링된 오브젝트를 컬링합니다.
- 렌더러에 대한 데이터를 빌드합니다.
- 이미지를 프레임버퍼에 출력하는 렌더러를 실행합니다.
각 단계에 대한 자세한 내용은 카메라 루프를 참조하십시오.
RenderPipelineManager 클래스에서 URP는 프레임 렌더링 전후, 그리고 각 카메라 루프 렌더링 전후에 코드를 실행하는 데 사용할 수 있는 이벤트를 제공합니다. 제공되는 이벤트는 다음과 같습니다.
beginCameraRendering 이벤트를 사용하는 방법에 대한 예제는 beginCameraRendering 이벤트 사용 페이지를 참조하십시오.
카메라 루프
카메라 루프는 다음의 단계를 수행합니다.
단계 | 설명 |
---|---|
컬링 파라미터 설정 | 컬링 시스템이 광원과 그림자를 컬링하는 방식을 결정하는 파라미터를 지정합니다. 커스텀 렌더러를 사용하여 렌더 파이프라인의 이 부분을 오버라이드할 수 있습니다. |
컬링 | 이전 단계에서 지정한 컬링 파라미터를 사용하여 표시되는 렌더러, 섀도우 캐스터, 카메라에 표시되는 광원 리스트를 계산합니다. 컬링 파라미터와 카메라 레이어 거리는 컬링과 렌더링 성능에 영향을 줍니다. |
렌더링 데이터 빌드 | 컬링 출력, URP 에셋의 품질 설정, 카메라 그리고 현재 실행되는 플랫폼을 기반으로 정보를 캐싱하여 RenderingData 를 빌드합니다. 렌더링 데이터는 카메라와 현재 선택된 플랫폼에 필요한 렌더링 작업량과 품질을 렌더러에 알려 줍니다. |
렌더러 설정 | 렌더 패스 리스트를 빌드한 후 렌더링 데이터에 따라 실행하기 위해 대기열에 넣습니다. 커스텀 렌더러를 사용하여 렌더 파이프라인의 이 부분을 오버라이드할 수 있습니다. |
렌더러 실행 | 대기열에 있는 각 렌더 패스를 실행합니다. 렌더러는 카메라 이미지를 프레임버퍼에 출력합니다. |