TIL (84) | 2023.11.23 | URP Asset

kjg5370·2023년 11월 23일
0

TIL

목록 보기
82/91
post-thumbnail

들어가기 앞서

오늘은 유니티 옵션에서 그래픽 설정을 만들어보았습니다. 그래픽을 어떻게 만지는지 잘 몰랐는데 URP Asset을 따로 생성하여 지정해주는 방식을 보게되어 이것을 따라해보았습니다.

오늘 배운 것

  • Universal Render Pipeline Asset
    Universal Render Pipeline(URP)를 구성하고 제어하는 데 사용되는 설정 파일.
    프로젝트의 렌더링 파이프라인을 조정하고, 렌더링 품질과 성능을 최적화함.
    일반적으로 씬의 조명, 셰이더, 그림자, 포스트 프로세스 이펙트 등과 관련된 다양한 설정이 포함.

  • URP Asset을 프로젝트에 추가

    Asset - 마우스 우클릭 - Create - Rendering - URP Asset을 선택

  • URP Asset 설정
    원하는 값으로 그래픽 옵션을 설정

    • 예시
  • Rendering

    • Depth Texture
      URP에서는 카메라의 깊이 정보를 텍스처로 만들어 사용하는데, 이를 활성화하면 모든 카메라가 이를 기본값으로 사용.
    • Opaque Texture
      씬 내 모든 카메라에 대해 불투명 텍스처를 생성.
      이는 씬의 투명한 메쉬를 렌더하기 전에 씬의 스냅샷을 제공하며, 이를 사용하여 투명한 쉐이더에서 유리, 물 굴절, 열파 효과 등을 만들 수 있음.
    • Opaque Downsampling
      불투명 텍스처에 대한 샘플링 모드를 설정.
      불투명 패스의 해상도를 조절할 수 있음.
    • Terrain Holes
      이 옵션을 끄면 Unity 플레이어를 위해 빌드할 때 지형 홀 셰이더 변형을 제거하여 빌드 및 GPU 처리 시간을 줄임.
  • Quality

    • HDR
      이 옵션을 켜면 씬 내 모든 카메라에 대해 기본적으로 고다이내믹 레인지(HDR) 렌더링이 가능.
      HDR은 이미지의 가장 밝은 부분이 1보다 큰 값을 가질 수 있게 해주며, 이는 더 넓은 조명 강도 범위를 제공하여 조명이 더 현실적으로 보이게 함.

    • 안티 앨리어싱 (MSAA)
      기하학적 모서리를 부드럽게 만들어주어 째거거나 깜박거리지 않게 함.
      드롭다운 메뉴에서 픽셀당 사용할 샘플 수를 선택할 수 있으며, 선택한 샘플 수가 많을수록 물체의 가장자리가 더 부드러워짐.

    • Render Scale
      렌더 대상 해상도를 조절.
      렌더링 품질 향상을 위해 현재 장치의 해상도와는 별개로 렌더링을 축소 또는 확대하려는 경우에 사용.

    • Upscaling Filter
      렌더 스케일 값이 1.0 미만인 경우 Unity가 업스케일링을 수행할 때 사용할 이미지 필터를 선택.

      • Automatic
        현재 화면 해상도 및 렌더 스케일 값에 따라 필터 옵션을 자동으로 선택.
      • Bilinear
        그래픽 API에서 제공하는 양선형 필터링을 사용.
      • Nearest-Neighbor
        그래픽 API에서 제공하는 최근접 이웃 또는 포인트 샘플링 필터링을 사용.
      • FidelityFX Super Resolution 1.0
        AMD FidelityFX Super Resolution 1.0(FSR) 기술을 사용하여 업스케일링을 수행.
        렌더 스케일 값이 1.0일 때도 활성 상태로 유지.
    • LOD Cross Fade
      이 속성을 사용하여 LOD 크로스 페이드를 활성화 또는 비활성화.
      만약 이 옵션을 비활성화하면 URP는 Unity Player를 빌드할 때 모든 LOD 크로스 페이드 셰이더 변형을 제거하게 되어 빌드 시간을 단축시킴.

    • LOD Cross Fade Dithering Type
      LOD 크로스 페이드를 할 때 사용되는 시각적인 효과를 결정.

      • Bayer Matrix
        Blue Noise 옵션보다 성능이 우수하지만 패턴이 반복됨

      • Blue Noise
        사전에 계산된 파란색 노이즈 텍스처를 사용하며 Bayer Matrix 옵션보다 더 나은 외관을 제공하지만 성능 비용이 약간 높음.

  • Lighting

    • Main Light
      Lighting Inspector에서 Sun Source로 할당하여 선택.
      Sun Source를 할당하지 않으면 URP는 씬에서 가장 밝은 방향성 라이트를 메인 라이트로 취급.
      Pixel Lighting과 None 중에서 선택할 수 있음.
      None을 선택하면 Sun Source를 설정했더라도 URP는 메인 라이트를 렌더링하지 않음.

    • Cast Shadows
      이 옵션을 활성화하면 메인 라이트가 씬에 그림자를 만듬.
      하드웨어 성능이 낮은 플랫폼에서는 이 설정을 비활성화하여 URP가 사용하는 메모리 양을 줄이고 CPU 및 GPU에서의 처리 시간을 줄일 수 있음.

    • Shadow Resolution
      메인 라이트의 그림자 맵 텍스처 크기를 제어.
      높은 해상도는 더 선명하고 자세한 그림자를 제공.

    • Additional Lights
      주요 라이트를 보완하는 추가 라이트를 선택하는 옵션.

      • Per Object Limit
        이 슬라이더는 각 개체에 영향을 미치는 추가 라이트의 제한을 설정
      • Cast Shadows
        이 옵션을 활성화하면 추가 라이트가 씬에 그림자를 만듬
      • Shadow Atlas Resolution
        추가 라이트가 캐스트하는 방향성 그림자에 사용되는 텍스처 크기를 제어
    • Reflection Probes
      씬에서 물체가 어떻게 반사되는지를 결정하는 요소.

      • Probe Blending
        리플렉션 프로브 블렌딩을 활성화하면 물체가 리플렉션 프로브 상자 부피를 이동할 때 반사가 갑자기 나타나는 상황을 피할 수 있음.
      • Box Projection
        리플렉션 프로브 상자 투영을 가능하게 함.
        프로브의 상자 모양 영역 내에서 물체에 반사를 더 정확하게 투영할 수 있게 해줌.
  • Shadows

    • Max Distance
      유니티가 그림자를 렌더링하는 최대 거리.
      이 거리를 초과하는 거리에서는 그림자를 렌더링하지 않음

    • Working Unit
      그림자 캐스케이드 거리를 측정하는 데 사용되는 단위.

    • Cascade Count
      그림자 캐스케이드의 개수.
      캐스케이드를 사용하면 카메라 근처에서는 고화질의 그림자를 유지하면서 Shadow Resolution을 낮출 수 있음.

    • Last Border
      그림자가 사라지기 시작하는 영역의 크기.

    • Soft Shadows
      그림자 맵에 추가 처리를 수행하여 부드러운 외형을 제공.

  • Post-processing

    • Grading Mode
      프로젝트에 사용할 컬러 그레이딩 모드를 선택.

      • Low Dynamic Range
        더 클래식한 워크플로를 따르는 모드.
        톤 맵핑 이후에 제한된 범위의 컬러 그레이딩이 적용.
      • High Dynamic Range
        영화 제작 워크플로와 유사한 고정밀 그레이딩에 적합한 모드.
        톤 맵핑 전에 컬러 그레이딩이 적용.
    • LUT Size
      컬러 그레이딩에 사용되는 내부 및 외부 룩업 텍스처(LUT)의 크기를 설정
      더 큰 크기는 더 높은 정밀도를 제공하지만 성능 및 메모리 사용에 비용이 따름

    • Fast sRGB/Linear Conversions
      sRGB와 선형 색 공간 간 변환 시 더 빠르지만 덜 정확한 근사 함수를 사용

    • Volume Update Mode
      Unity가 볼륨을 어떻게 업데이트할지를 선택.
      매 프레임마다 업데이트하려면 "Every Frame"을 선택하고, 스크립트를 통해 트리거되도록 하려면 "Scripting"을 선택.

profile
학생입니다

0개의 댓글