Version: 2020.2
언어: 한국어
스크립터블 렌더 파이프라인
커스텀 스크립터블 렌더 파이프라인 생성

스크립터블 렌더 파이프라인 소개

이 페이지는 스크립터블 렌더 파이프라인(SRP)이 동작하는 방식을 설명하고 몇 가지 주요 개념 및 용어를 설명합니다.

SRP는 C# 스크립트를 사용하여 렌더링 커맨드를 예약하고 설정할 수 있는 씬 API 레이어입니다. SRP는 이러한 커맨드를 Unity의 저수준 그래픽스 아키텍처로 전달한 후 그래픽스 API에 명령을 전송합니다.

렌더 파이프라인 에셋과 렌더 파이프라인 인스턴스

SRP에서 C# 렌더링 코드를 작성할 때 다음 두 가지 핵심 요소를 생성하고 커스터마이즈해야 합니다.

  • 렌더 파이프라인 에셋은 SRP에 대한 설정 데이터를 저장하는 Unity 프로젝트의 에셋입니다. Rendering.RenderPipelineAsset에서 상속된 스크립트를 생성하여 렌더 파이프라인 에셋을 정의한 다음 프로젝트에 렌더 파이프라인 에셋의 인스턴스를 생성하고 설정합니다.
  • 렌더 파이프라인 인스턴스는 SRP의 엔트리 포인트인 Render() 메서드가 있는 클래스입니다. 렌더 파이프라인 인스턴스를 정의하려면 RenderPipeline에서 상속되는 스크립트를 생성합니다.

이러한 요소를 생성하는 방법은 렌더 파이프라인 에셋과 렌더 파이프라인 인스턴스 생성을 참조하십시오.

Scriptable Render Context

Scriptable Render Context는 C# SRP 코드와 Unity의 저수준 그래픽스 코드 간의 인터페이스 역할을 하는 클래스입니다. ScriptableRenderContext API를 사용하여 렌더링 커맨드를 예약하고 실행합니다.

Scriptable Render Context 사용에 대한 자세한 내용은 스크립터블 렌더 파이프라인에서 렌더링 커맨드 예약 및 실행을 참조하십시오.

엔트리 포인트 및 콜백

SRP에서는 Unity가 특정 시점에 호출하는 C# 렌더링 코드를 작성할 수 있습니다.

  • 렌더 파이프라인 인스턴스의 Render() 메서드는 SRP의 엔트리 포인트입니다. Unity는 현재 렌더링 중인 각 CameraType에 대해 프레임당 한 번씩 이 메서드를 호출합니다. 이 메서드를 커스터마이즈하여 SRP를 커스터마이즈합니다.
  • RenderPipelineManager 클래스에는 네 가지 이벤트인 beginFrameRendering, beginCameraRendering, endCameraRendering, endFrameRendering가 있습니다. 이러한 이벤트를 구독하여 렌더 파이프라인의 특정 지점에서 코드를 실행할 수 있습니다. 자체 커스텀 SRP를 작성하는 경우 SRP가 적절한 시간에 이러한 이벤트를 발생시키는지 확인해야 합니다.
스크립터블 렌더 파이프라인
커스텀 스크립터블 렌더 파이프라인 생성