셰이더): 버텍스 및 프래그먼트 프로그램
스크립터블 렌더 파이프라인(SRP) 배처

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

SRP(스크립터블 렌더 파이프라인)는 Unity 빌트인 렌더 파이프라인의 대안입니다. SRP를 사용하면 C# 스크립트를 통해 렌더링을 제어 및 맞춤 설정할 수 있습니다. 즉, 빌드의 일부 또는 전체를 수정하거나 필요에 따라 렌더 파이프라인을 커스터마이즈할 수 있습니다.

SRP는 빌트인 Unity 렌더 파이프라인보다 더 많은 세부화 및 커스터마이징 옵션을 제공합니다. 또한 특정 요구 사항을 위해 미리 빌드된 SRP 중 하나를 사용할 수도 있습니다.

SRP 사용은 빌트인 Unity 렌더 파이프라인 사용과 다릅니다. 예를 들어, 미리 빌드된 SRP는 자체 셰이더 라이브러리를 사용합니다. 빌트인 렌더 파이프라인의 릿 셰이더와 커스텀 릿 셰이더가 SRP와 함께 작동하지 않기 때문입니다. 빌트인 릿 셰이더를 LWRP와 HDRP 모두로 업그레이드할 수 있습니다.

Unity는 두 개의 스크립터블 렌더 파이프라인, 즉 고해상도 렌더 파이프라인(HDRP)과 경량 렌더 파이프라인(LWRP)을 빌드했습니다. 각 렌더 파이프라인은 특정한 사용 사례와 하드웨어 요구사항을 충족합니다. 미리 빌드된 렌더 파이프라인은 프로젝트 템플릿으로 사용할 수 있습니다.

두 렌더 파이프라인은 모두 Unity의 패키지 관리자 창에서 패키지로 제공되며, 둘 다 셰이더 그래프포스트 프로세싱 패키지를 포함합니다.

참고: HDRP와 LWRP는 서로 다른 조명 모델을 사용하므로 호환되지 않습니다. 따라서 프로젝트에서는 HDRP와 LWRP 중 하나만 사용할 수 있습니다. 단, 여러 개의 에셋을 같은 렌더 파이프라인과 함께 사용할 수 있습니다. 즉, 개별 설정을 바꿀 필요 없이 여러 개의 에셋을 바꾸어가며 다양한 설정을 테스트할 수 있습니다.

SRP 스크립트를 직접 수정하고 싶은 고급 사용자인 경우 커스텀 SRP 만들기를 참조하십시오.

경량 렌더 파이프라인(LWRP)

모바일 플랫폼에서 고사양 콘솔 및 PC에 이르기까지 다양한 하드웨어에서 LWRP를 사용할 수 있습니다. LWRP는 간소화된 물리 기반 조명 및 머티리얼을 사용하여 고품질의 빠른 렌더링을 구현합니다. 또한 여러 플랫폼의 실시간 성능 최적화를 위해 싱글 패스 포워드 렌더링을 사용합니다.

LWRP는 LWRP 템플릿과 LWRP-VR 템플릿을 통해 사용할 수 있습니다. LWRP-VR에는 사전에 활성화된 VR 설정이 함께 제공됩니다.

참고: 빌트인 및 커스텀 릿 셰이더는 경량 렌더 파이프라인과 함께 사용할 수 없습니다. 대신, LWRP에는 새로운 스탠다드 셰이더가 포함되어 있습니다. 현재 프로젝트를 LWRP로 업그레이드하면 빌트인 셰이더를 새 버전으로 업그레이드할 수 있습니다.

자세한 내용은 LWRP 문서를 참조하십시오. 팁: Unity의 패키지 관리자를 통해 문서에 액세스할 수도 있습니다(경량 렌더 파이프라인 패키지에서 View Documentation 클릭).

고해상도 렌더 파이프라인(HDRP)

HDRP는 콘솔, PC 등 고사양 하드웨어를 대상으로 합니다. HDRP를 사용하면 까다로운 시나리오에서도 현실적은 그래픽스를 구현할 수 있습니다. HDRP는 컴퓨트 셰이더 기술을 사용하므로 호환되는 GPU 하드웨어가 필요합니다.

AAA 품질 게임, 자동차 데모, 건축물 구현 등 성능보다 고화질 그래픽스가 더 중요한 요소에 HDRP를 사용하십시오. HDRP는 물리 기반 조명 및 머티리얼을 사용하고, 포워드 및 디퍼드 렌더링을 지원합니다.

HDRP를 사용하려면 HDRP 템플릿을 사용하여 프로젝트를 만드십시오.

자세한 내용은 HDRP 문서를 참조하십시오. 팁: Unity의 패키지 관리자를 통해 문서에 액세스하여 고해상도 렌더 파이프라인 패키지를 찾은 후 View Documentation 을 클릭할 수도 있습니다.

LWRP 또는 HDRP 설정

LWRP 또는 HDRP을 사용하려면 다음 중 하나를 수행하십시오.

LWRP 또는 HDRP를 사용하여 새로운 프로젝트 만들기

새 프로젝트에서 HDRP 또는 LWRP를 사용하고 렌더 파이프라인을 커스터마이즈할 필요가 없다면 템플릿을 사용하여 새 프로젝트를 만들 수 있습니다.

템플릿을 사용하여 프로젝트를 만들려면 다음 단계를 따르십시오.

  1. Unity를 엽니다. 홈 페이지에서 New 를 클릭하여 새 프로젝트를 시작합니다.
  2. Template 에서 렌더 파이프라인 템플릿 중 하나를 선택합니다.
  3. Create Project 를 클릭합니다. Unity가 자동으로 새 프로젝트를 만듭니다. 여기에는 빌트인 파이프라인의 모든 기능이 포함되어 있습니다.

템플릿 사용에 대한 자세한 내용은 Project Templates를 참조하십시오.

기존 프로젝트를 LWRP 또는 HDRP로 전환

패키지 관리자 시스템을 통해 최신 버전의 LWRP 또는 HDRP를 기존 프로젝트에 다운로드하여 설치할 수 있습니다.

기존 프로젝트에서 LWRP 또는 HDRP로 전환하는 데는 많은 시간과 리소스가 소모됩니다. LWRP와 HDRP는 모두 커스텀 셰이더를 사용합니다. 또한 빌트인 Unity 셰이더와 호환되지 않으므로 많은 요소를 수동으로 변경하거나 전환해야 합니다. 대신에 새 프로젝트를 시작하고 렌더 파이프라인을 사용하는 것을 고려해보십시오.

LWRP 또는 HDRP를 기존 프로젝트에 설치하려면 다음 단계를 따르십시오.

  1. Unity에서 프로젝트를 엽니다.
  2. Unity 메뉴 바에서 Window > Package Manager 로 이동하여 Package Manager 창을 엽니다.
  3. All 탭을 선택합니다. 이 탭에는 현재 실행 중인 Unity 버전에 사용할 수 있는 패키지 목록이 나와 있습니다.
  4. 패키지 목록에서 사용하려는 렌더 파이프라인을 선택합니다. 창의 오른쪽 상단 모서리에 있는 Install 을 클릭합니다. 그러면 렌더 파이프라인이 프로젝트에 바로 설치됩니다.

LWRP 또는 HDRP 사용 준비

LWRP 또는 HDRP를 사용하기 전에 렌더 파이프라인 에셋을 만든 후 프로젝트 설정에 추가해야 합니다.

렌더 파이프라인에 대한 렌더 파이프라인 에셋을 만들려면 다음 중 하나를 참조하십시오.

렌더 파이프라인 에셋을 프로젝트에 할당하려면 다음 단계를 따르십시오.

  1. Edit > Project Settings > Graphics를 선택한 후 상단에서 Scriptable Render Pipeline Settings 프로퍼티를 찾습니다.
  2. 렌더 파이프라인 에셋을 프로퍼티 필드에 끌어다 놓거나, 필드의 오른쪽에 있는 오브젝트 피커를 통해 프로젝트의 모든 에셋이 나열된 리스트에서 하나를 선택합니다.

커스텀 SRP 만들기

스크립터블 렌더 파이프라인은 GitHub의 열린 프로젝트에서 사용할 수 있습니다. 또한 SRP를 복제하고 로컬 버전으로 수정할 수 있습니다.

신규 또는 기존 Unity 프로젝트의 로컬 스크립트 파일을 설정하려면 다음 단계를 따르십시오.

  1. SRP 저장소의 복제본을 만듭니다. 복제본을 Assets 폴더 옆에 있는 프로젝트 디렉토리의 루트에 넣습니다. 저장소 복제에 대한 자세한 내용은 저장소 복제를 참조하십시오.

  2. 사용 중인 Unity 버전과 호환되는 브랜치를 체크아웃합니다. git checkout 커맨드를 사용하고 브랜치 이름을 입력합니다.

  3. git submodule update --init 커맨드를 사용하여 SRP와 관련된 모든 서브모듈을 찾아 초기화합니다.

  4. 프로젝트 매니페스트에서 dependencies를 업데이트하여 SRP 패키지와 연결되도록 만듭니다. 프로젝트 매니페스트에 대한 자세한 내용은 패키지 관리자 문서를 참조하십시오. 다음은 스크립트 예시입니다.

        
    {
    
       "dependencies": {
           "com.unity.postprocessing": "file:../ScriptableRenderPipeline/com.unity.postprocessing",
    
           "com.unity.render-pipelines.core": "file:../ScriptableRenderPipeline/com.unity.render-pipelines.core",
    
           "com.unity.shadergraph": "file:../ScriptableRenderPipeline/com.unity.shadergraph",
    
           "com.unity.render-pipelines.lightweight": "file:../ScriptableRenderPipeline/com.unity.render-pipelines.lightweight"
    
       }
    }
    
  5. Unity에서 프로젝트를 엽니다. 이제 패키지가 로컬로 설치되었습니다. 통합 개발 환경에서 프로젝트 솔루션을 열면 스크립트를 직접 디버그하고 수정할 수 있습니다.


  • 2018–12–12 편집 리뷰를 거쳐 페이지 수정됨

  • [2018.1]에서 스크립터블 렌더 파이프라인의 프리뷰 추가됨(https://docs.unity3d.com/2018.1/Documentation/Manual/30_search.html?q=newin2018) NewIn20181

  • [2019.1]에서 스크립터블 렌더 파이프라인 추가됨(https://docs.unity3d.com/2019.1/Documentation/Manual/30_search.html?q=newin2019) NewIn20191

셰이더): 버텍스 및 프래그먼트 프로그램
스크립터블 렌더 파이프라인(SRP) 배처