Deff_Dev

[Unity/C#] 파이프라인, URP 본문

Unity(유니티)/유니티 공부

[Unity/C#] 파이프라인, URP

Deff_a 2024. 6. 13. 19:08

파이프라인

화면에 오브젝트를 그리는 과정을 제어하는 시스템으로, 단계적으로 나눠서 앞에 작업이 완료되면 다음으로 넘긴다.

 

조건에 맞는지 확인하고 다음 파이프(상태)로 이동시켜준다.

 

대략적인 과정 (세부적으로는 더 많은 작업이 있음)

  1. 컬링
    • 절두체에 걸리는 것은 그려주고 절두체에 들어오지 않는 오브젝트는 성능 개선을 위해 그리주지않음
  2. 렌더링
    • 카메라 절두체가 찍어준 화면을 2D 화면에 그려줌
    • 쉐이더 적용
      1. Shader : 작은 단위의 처리. 각각의 색상을 계산하기 위한 수학적 계산 및 알고리즘 포함
      2. 현재 그림에 있는 것 처럼 초록색 공의 하나하나의 픽셀들의 각각의 색상을 계산, 빛이 반사되는 색깔도 계산
    • Mesh 적용 : 개체의 모양을 정의
      1. 각각의 색상 개선 까지 다 끝났다면 그것을 적용시켜 줄 모양을 정해줌
      2. 현재 그림은 동그란 구 형태의 모양의 Mesh를 적용시켜줌
    • Texture 적용 : 비트맵 이미지 (Material 적용)
      1. Material : Texture에 대한 참조, 타일링 정보, 색상, 색조 등 표면을 랜더링하는 방법을 정의한다. Shader에 따라 옵션이 정해진다.
  3. 포스트 프로세싱
    • 일종의 필터
    • 공격 받았을 때 이미지를 깜빡이는 것도 구현가능
    • ex) 카메라 어플로 셀카를 찍을 때 걸리는 필터

Unity의 Rendering Pipeline

Built-in : default 렌더 파이프라인, 커스텀 확장에 제한적

SRP : 스크립트로 렌더링을 제어하고 커스터마이징 가능

  • URP
  • HDRP

URP 란?

Unity의 Universal Render Pipeline의 약자로, 스크립트 가능한 렌더 파이프라인(Scriptable Render Pipeline)

(Platform에 대해서 Universal ⇒ PC, 콘솔, 모바일 → 범용성이 높다.)

특징

  • Cross-Platform Compatibility
    • URP는 Unity가 지원하는 모든 플랫폼에서 동작하도록 설계되어있다. 이는 모바일, 데스크톱, 콘솔 게임 뿐만 아니라 AR, VR 어플리케이션에도 적합하다.
  • Performance and Scalability
    • URP는 성능 및 확장성을 목표로 설계되어있다.
    • 특히 저사양 장치에서도 뛰어난 성능을 제공하도록 최적화되어있다.
    • 그래픽 설정을 쉽게 조절할 수 있어 다양한 장치에 적합하게 스케일링 할 수 있다.
  • Modern Rendering Features
    • URP는 현대적인 렌더링 기술을 제공한다.
    • 이에는 주요 라이트 유형, 표준 쉐이딩 모델, 환경 리플렉션 등이 포함된다.
  • Customizability
    • URP는 사용자 정의 렌더링 파이프라인을 생성할 수 있도록 해주는 유연성을 제공한다.
    • 이를 통해 특정 게임 또는 프로젝트에 필요한 고유한 렌더링 기능을 추가할 수 있다.
  • Graphics Quality
    • URP는 높은 품질의 그래픽을 제공한다.
    • 이는 향상된 라이트 모델, 표면 쉐이딩, 포스트 프로세싱 효과 등을 사용하여 획득된다.
  • Simplicity
    • URP는 Unity의 기존 렌더링 시스템에 비해 사용하기 쉽다.
    • 이는 그래픽 설정을 단순화하고, 초기 설정을 쉽게 하도록 도와주는 도구가 포함되어 있다.
    • ⇒ 셰이더 그래프, VFX 그래프 제공

Built-in 과 차이점 ⇒ 범용성, 성능 개선

 

 

HDR 렌더링 - Unity 매뉴얼

스탠다드 렌더링에서는 픽셀의 빨간색, 초록색, 파란색 값이 각각 0–1 범위의 분수로 표시됩니다. 0은 밝기가 영(0)임을 나타내고, 1은 디스플레이 장치의 최대 밝기를 나타냅니다. 이 방법은 사

docs.unity3d.com

 

    1.  

'Unity(유니티) > 유니티 공부' 카테고리의 다른 글

[Unity/C#] Character Collider 이슈  (0) 2024.06.17
[Unity/C#] 동적 생성  (2) 2024.06.14
[Unity/C#] Func  (0) 2024.06.12
[Unity/C#] RayCast가 벽 뚫는 버그 해결  (0) 2024.06.07
[Unity/C#] 3D 문 상호작용  (0) 2024.06.05