공부/Unity

[Unity] Renderer Pipe Line - HDRP와 URP와의 차이점

굴러다니다니 2023. 4. 28. 15:47
728x90

Renderer Pipe Line - graphics 개념

   -  Light, Mesh (Polygon), 모델링, Texture 정보(Sprite) 얘네들을 다 모니터로 출력하기 위한 작업

 

  • GPU를 이용해 3D 이미지 리소스를 2D 래스터 이미지로 표현하기 위한 단계적인 과정
  • 렌더 파이프라인은 모두 다른 기능과 특성 보유
  • 서로 다른 셰이더 출력을 사용, 서로 다른 기능을 보유하고 있기 때문에 한 렌더 파이프라인에서 다른 렌더 파이프라인으로 프로젝트를 전환하기가 어렵다. (보통 처음 프로젝트 생성시 설정)

 

렌더 파이프 라인의 종류

  •    빌트인 렌더 파이프 라인 (기본 설정)
  •    고해상도 렌더 파이프라인 (HDRP)
  •    유니버설 렌더 파이프라인 (URP)
  •    커스텀 렌더 파이프라인

HDRP란?

High Definition Render Pipeline 고해상도 렌더 파이프라인

  • 특징 HDRP - 조명에 대해 물리 광원 단위 PLU 사용 (Physical Light Units) - 광원 단위가 현실의 광원 측정 값처럼 실제 값을 기반으로 됨 HDRP 단위 규칙 1 Unity 단위 = 1 미터 임을 지켜야 실제적인 광원처럼 적절히 작동 가능 Built in Renderer와 다른 새로운 셰이더와 조명 단위를 사용해 호환이 불가 + URP와 HDRP 간의 호환도 불가 → 프로젝트 생성 과정에서 선택하는 것이 낫다

 

  • 기존 프로젝트를 HDRP로 설정하는 방법 High Definition RP Package를 Package Manager에서 Install Create > Rendering > High Definition Render Pipeline Asset 생성 Edit > Project Settings > Graphics > HDRP > 생성한 asset 파일 적용 Window > Render Pipeline > HD Render Pipeline Wizard에서 기본 path settings 설정, fixall 누르면 알아서 오류가 고쳐진다 or 새 프로젝트를 만들 때 HDRP로 설정해서 시작하면 된다
  • + URP에서 HDRP로 바꾸는 방법 비호환 플러그인과 애셋은 제거 기존 Material은 마젠타 오류를 일으키거나 작동을 안할 수 있음, 스탠다드 셰이더의 URP 대체물은 UniversalRP/Lit, 스탠다드 셰이더의 HDRP 대체물은 HDRP/Lit 포트스 프로세싱 업그레이드, 카메라에서 post processing behaviour 제거, 프로젝트에서 프로파일 애셋 삭제,

 

  • 분홍색 오류 ) HDRP가 현재 프로젝트 내에서 설정되어 있지만, 씬의 게임 오브젝트가 빌트인 렌더러 용으로 만들어진 셰이더를 계속 사용한다면 씬이 올바르게 렌더링 되지 않아 마젠타 오류 셰이더로 게임 오브젝트를 표시한다.

URP / HDRP 차이점

  • HDRP: 라이트 관련 옵션이 다양, 실제적인 물리를 기반으로 진행되며 물리 단위를 사용, 포워드 및 디퍼드 렌더링을 지원, Compute Shader기술과 GPU 하드웨어 사용, 지원되는 렌더링이 더 많다, 고사양 그래픽 프로젝트 HDRP는 URP에서 제공하지 않는 SSS 쉐이더의 기능을 사용할 수 있다 → 피부 표현, 빛의 산란 등 포스트 프로세싱이나 그래픽 셋팅도 세분화가 많이 되어있다, material 제작을 따로 해야됨 target platform이 다르다

=> 고사양의 빛 효과, 물리 적용 등이 일어나며 고사양의 시뮬레이션용, 영화 제작, PC, Xbox, Play station 등 high end platforms이 되는 곳에서만 사용, 무게감 있게 사용된다.

 

  • URP: 모든 것이 HDRP의 기능보다 덜하다고 생각하면 편하다. 대부분 모든 기기에서 사용 가능하며, 빌트인 렌더 파이프라인에서는 지원되지 않는 거리에 따라 광원의 강도가 감소하게 끔 등의 빌트인 렌더러보다 나은 기능들을 제공한다.

=> 빌트인 렌더 파이프라인의 기능보다 낫지만 대부분의 기기에서 사용하고 싶을 때 이용한다.

 

  • Built in Renderer vs Scriptable Render 커스텀 확정의 제한, Shader Graph 사용 불가 (shader 내장되어있어서 못 고침) 포워드 렌더링 패스, 디퍼드 렌더링중 하나 선택 가능, 커맨드 버퍼와 콜백으로 기능 확장 가능 다양한 쉐이더와 이미지 이펙트가 존재하며 기존의 콘텐츠와 호환이 가능한 장점 / srp를 통해 컨트롤이 불가하며 shader graph 사용이 불가하다는 단점 general purpose / Control rendering via C# Scripts

 

  • 포스트 프로세싱이 다르게 적용된다.

- Bloom 설정이 다르며 별개의 효과가 적용된다.

- 스크린 공간 반사 효과는 URP에서 이용할 수 없으며 HDRP에서만 사용 가능하다.

- 2020.1 ver 기준으로 스크린 공간 앰비언트 오클루전 기능은 URP에서 사용 불가, HDRP에서만 사용 가능하다.

- URP의 경우 자체의 포스트 프로세스가 있으며 HDRP의 Post Processing package와 호환이 불가해 수동으로 재현해야 한다.

* 포스트 프로세싱:  카메라가 장면을 그린 후, 장면이 화면에 렌더링되기 전에 발생하는 전체 화면 이미지 처리 효과, 렌더링 되는 씬 위에 겹쳐서 표시됨, 기존 내용의 수정 없이 짧은 설정 시간으로 시각적 효과를 크게 가져올 수 있음,

 

  • URP는 렌더링을 따로 하기때문에 (Cpu에서 하는일을 글카에서 나눠서 해서 cpu에서는 부하가 적게 걸린다) built in 보다 가벼움, 대부분 URP 이용하는게 유용함

 

  • URP는 한 픽셀에 Lighting을 최대 7개까지 가짐, Lighting을 많이 넣어도 소용이없다

 

 

728x90