Unity

[Unity] Unity 파이프라인 이란?

usingsystem 2024. 3. 12. 17:56
728x90

파이프라인

Unity에서의 "파이프라인"은 그래픽 처리에 관련된 작업의 흐름을 의미합니다. Unity의 그래픽 파이프라인은 게임 오브젝트가 화면에 표시되기까지의 과정을 제어하고 조정합니다. 이러한 과정은 대개 다음과 같은 단계를 거칩니다:

  1. 렌더링 설정: 게임 오브젝트의 렌더러를 설정하고, 라이팅, 쉐이딩, 그림자 등의 렌더링 옵션을 결정합니다.
  2. 렌더링 버퍼 준비: 화면에 렌더링될 내용을 저장할 메모리 버퍼를 할당하고, 필요한 텍스처를 생성합니다.
  3. 렌더링 패스 실행: 렌더링 패스는 카메라의 시야 내에 있는 게임 오브젝트들을 처리하고 렌더링합니다. 이 과정에서는 렌더링 설정에 따라 여러 번의 패스가 실행될 수 있습니다.
  4. 후처리 및 화면 출력: 렌더링된 결과물에 후처리 효과를 적용하고, 최종적으로 화면에 출력합니다.

Unity에서는 이러한 그래픽 처리 과정을 제어하기 위해 다양한 그래픽 파이프라인을 제공합니다. 이들 파이프라인은 위에서 언급한 과정을 조정하고 최적화하는 데 사용됩니다. Universal Render Pipeline (URP), High Definition Render Pipeline (HDRP), 그리고 Built-in Render Pipeline이 Unity에서 주로 사용되는 그래픽 파이프라인입니다.

 

종류

  1. Built-in Render Pipeline: 기본적으로 제공되는 렌더 파이프라인.
  2. Scriptable Render Pipeline (SRP): 사용자 정의 가능한 렌더 파이프라인 프레임워크.
    • Universal Render Pipeline (URP): SRP 기반으로 다양한 플랫폼에서 고성능과 그래픽 품질의 균형을 제공.
    • High Definition Render Pipeline (HDRP): SRP 기반으로 고사양 하드웨어에서 최고 수준의 그래픽 품질을 제공.

Quality와 파이프라인 차이점

Unity에서의 "Quality" 설정은 그래픽 파이프라인의 성능과 시각적 품질을 조절하는 데 사용됩니다. 이 설정은 프로젝트의 특정 요구 사항에 맞게 그래픽 렌더링의 성능과 품질을 조정하는 데 도움이 됩니다.

"Quality" 설정은 주로 다음과 같은 요소를 조절합니다:

  1. 렌더링 품질: 그래픽 효과의 세부 수준, 라이팅 효과의 품질 등을 조절할 수 있습니다. 높은 품질은 더 많은 계산을 필요로 하지만 시각적으로 더 높은 품질을 제공합니다.
  2. 해상도 및 해상도 스케일링: 게임의 화면 해상도를 조절하거나 다양한 해상도 스케일링 옵션을 사용하여 그래픽 성능을 최적화할 수 있습니다.
  3. 그래픽 설정: 세부적인 그래픽 설정을 조절하여 그래픽 품질과 성능을 균형있게 유지할 수 있습니다. 이는 그림자 품질, 안티앨리어싱 수준, 텍스처 해상도 등을 포함합니다.

Unity의 Quality 설정은 프로젝트의 성능 요구 사항과 타겟 플랫폼에 따라 다양한 조정이 가능합니다. 이 설정을 통해 게임을 더 빠르게 실행하거나 그래픽 품질을 더 높일 수 있습니다. 따라서 Unity의 Quality 설정은 그래픽 파이프라인의 성능을 변화시키는 데 중요한 역할을 합니다.

 

Quality 소스에서 제어방법

    [SerializeField]
    List<RenderPipelineAsset> RenderPipelineAssets;    
    
    void ChangedChart(int idx)
    {
        _qualityIndex = idx;

        QualitySettings.SetQualityLevel(idx);
        QualitySettings.renderPipeline = RenderPipelineAssets[idx];
    }

728x90