유니버설 렌더 파이프라인 에셋
유니버설 렌더 파이프라인(URP)을 사용하려면 URP 에셋을 생성한 후 그래픽스 설정에서 할당해야 합니다.
URP 에셋은 유니버설 렌더 파이프라인의 여러 그래픽스 기능과 품질 설정을 제어하며, 'RenderPipelineAsset'에서 상속되는 스크립터블 오브젝트입니다. 그래픽스 설정에서 이 에셋을 할당하면 Unity는 빌트인 렌더 파이프라인에서 URP로 전환합니다. 그런 다음 다른 곳을 확인하는 대신, URP에서 직접 해당 설정을 조정할 수 있습니다.
여러 개의 URP 에셋을 보유하며 서로 간에 전환할 수 있습니다. 예를 들어 그림자를 활성화한 에셋과 그림자가 비활성화된 에셋을 보유할 수 있습니다. 에셋 간에 전환하여 효과를 확인하고 싶을 때마다 그림자의 해당 설정을 수동으로 토글하지 않아도 됩니다. 하지만 렌더 파이프라인이 호환되지 않기 때문에 HDRP/SRP 에셋과 URP 에셋 간에는 전환할 수 없습니다.
UI 개요
URP에서 다음에 대한 설정을 지정할 수 있습니다.
참고: 실험 단계의 2D 렌더러를 활성화(메뉴: Graphics Settings > Scriptable Render Pipeline Settings에서 2D 렌더러 에셋 추가)한 경우 URP 에셋의 3D 렌더링과 관련된 일부 옵션이 최종 앱 또는 게임에 영향을 주지 않습니다.
일반
일반 설정은 파이프라인 렌더링된 프레임의 핵심 부분을 제어합니다.
프로퍼티 | 설명 |
---|---|
Depth Texture | URP가 _CameraDepthTexture 를 생성할 수 있습니다. 그런 다음 URP는 씬의 모든 카메라에 대해 이 뎁스 텍스처를 기본적으로 사용합니다. 카메라 인스펙터에서 개별 카메라에 대해 이 프로퍼티를 오버라이드할 수 있습니다. |
Opaque Texture | 씬의 모든 카메라에 대해 _CameraOpaqueTexture 를 기본적으로 생성할 수 있습니다. 이는 빌트인 렌더 파이프라인의 GrabPass와 유사하게 동작합니다. Opaque Texture 는 URP가 투명 메시를 렌더링하기 직전에 씬의 스냅샷을 제공합니다. 투명 셰이더에서 이 스냅샷을 사용하여 서리로 뒤덮인 유리, 수면 굴절, 열파 등의 효과를 구현할 수 있습니다. 카메라 인스펙터에서 개별 카메라에 대해 이 프로퍼티를 오버라이드할 수 있습니다. |
Opaque Downsampling | 불투명 텍스처의 샘플링 모드를 다음 중 하나로 설정합니다. None: 카메라와 동일한 해상도로 불투명 패스의 복사본을 생성합니다. 2x Bilinear: 이중 바이리니어 필터링으로 절반 해상도 이미지를 생성합니다. 4x Box: 상자 필터링으로 1/4 해상도 이미지를 생성합니다. 4x Bilinear: 바이리니어 필터링으로 1/4 해상도 이미지를 생성합니다. |
Terrain Holes | 이 옵션을 비활성화하면 Unity 플레이어용으로 빌드할 때 URP가 모든 터레인 구멍 셰이더 배리언트를 제거하여 빌드 시간이 감소합니다. |
품질
이 설정은 URP의 품질 수준을 제어합니다. 이 설정을 이용하여 저사양 하드웨어에서 성능을 개선하고 고사양 하드웨어에서 그래픽스를 향상할 수 있습니다.
팁: 다양한 하드웨어에 다양한 설정을 사용하고 싶다면 여러 유니버설 렌더 파이프라인 에셋에 대해 이 설정을 지정한 후 필요에 따라 전환할 수 있습니다.
프로퍼티 | 설명 |
---|---|
HDR | 이 프로퍼티를 활성화하면 씬의 모든 카메라에 대해 기본적으로 HDR(High Dynamic Range)에서 렌더링합니다. HDR을 사용하면 이미지의 가장 밝은 부분이 1보다 클 수 있습니다. 이를 통해 광범위한 빛 강도를 구현할 수 있으므로 조명이 더욱 사실적으로 보입니다. 또한 밝은 광원에서도 디테일을 확인하고 낮은 채도를 경험할 수 있습니다. 이는 광범위한 조명을 구현하거나 블룸 효과를 사용할 때 유용합니다. 저사양 하드웨어를 타게팅하는 경우 이 프로퍼티를 비활성화하여 HDR 계산을 건너뛰면 성능이 더 향상됩니다. 카메라 인스펙터에서 개별 카메라에 대해 이 프로퍼티를 오버라이드할 수 있습니다. |
MSAA | 렌더링 시 씬의 모든 카메라에 대해 기본적으로 멀티 샘플 안티앨리어싱(MSAA)을 사용합니다. MSAA는 지오메트리의 가장자리를 부드럽게 만들어 울퉁불퉁하거나 깜박거리지 않도록 합니다. 드롭다운 메뉴에서 픽셀당 사용할 샘플 수(2x, 4x, 8x)를 선택할 수 있습니다. 샘플 수가 많을수록 오브젝트 가장자리가 더 부드러워집니다. MSAA 계산을 건너뛰고 싶거나 2D 게임이라서 필요하지 않다면 Disabled 를 선택하십시오. 카메라 인스펙터에서 개별 카메라에 대해 이 프로퍼티를 오버라이드할 수 있습니다. |
Render Scale | 이 슬라이더는 렌더 타겟 해상도(현재 기기의 해상도가 아님)를 조정합니다. 성능상의 이유로 낮은 해상도에서 렌더링하고 싶거나, 품질 향상을 위해 렌더링을 업스케일링하고 싶을 때 사용하면 좋습니다. 이 프로퍼티는 게임 렌더링만 확대/축소합니다. UI 렌더링은 기기의 네이티브 해상도로 유지됩니다. |
조명
이 설정은 씬의 광원에 영향을 줍니다.
이 설정 중 일부를 비활성화하면 관련 키워드가 셰이더 변수에서 스트리핑됩니다. 게임 또는 앱에서 사용하지 않을 설정인 경우에만 비활성화하여 성능을 향상하고 빌드 시간을 단축하십시오.
프로퍼티 | 설명 |
---|---|
Main Light | 이 설정은 씬의 방향 광원에 영향을 줍니다. 조명 인스펙터에서 이 프로퍼티를 태양 소스로 할당하여 선택할 수 있습니다. 태양 소스로 할당하지 않으면 URP가 씬에서 가장 밝은 방향 광원을 메인 광원으로 취급합니다. 픽셀 조명과 None 중에서 선택할 수 있습니다. None을 선택하면 태양 소스를 설정해도 URP가 메인 광원을 렌더링하지 않습니다. |
Cast Shadows | 이 체크박스를 선택하면 메인 광원이 씬에서 그림자를 드리웁니다. |
Shadow Resolution | 메인 광원에 대한 섀도우 맵 텍스처의 크기를 제어합니다. 해상도가 높을수록 선명도와 그림자 디테일이 더 좋아집니다. 메모리 또는 렌더링 시간이 문제라면 낮은 해상도를 사용하십시오. |
Additional Lights | 추가 광원을 선택하여 메인 광원을 보완할 수 있습니다. Per Vertex, Per Pixel, Disabled 중에서 선택하십시오. |
Per Object Limit | 이 슬라이더는 각 게임 오브젝트에 영향을 줄 수 있는 추가 광원 수의 제한을 설정합니다. |
Cast Shadows | 이 체크박스를 선택하면 추가 광원이 씬에서 그림자를 드리웁니다. |
Shadow Resolution | 추가 광원에 대한 방향광 그림자를 드리우는 텍스처의 크기를 제어합니다. 이는 최대 16개의 섀도우 맵을 패킹하는 스프라이트 아틀라스입니다. 해상도가 높을수록 선명도와 그림자 디테일이 더 좋아집니다. 메모리 또는 렌더링 시간이 문제라면 낮은 해상도를 사용하십시오. |
섀도우
이 설정은 그림자의 모습과 동작에 영향을 줍니다. 또한 성능에도 영향을 미치므로, 설정을 미세 조정하여 화질과 그림자 렌더링 속도 사이에서 최상의 균형을 찾을 수 있습니다.
프로퍼티 | 설명 |
---|---|
Distance | 오브젝트가 그림자를 드리우는 카메라 전방 거리(Unity 단위)를 제어합니다. 이 거리를 넘으면 URP가 그림자를 렌더링하지 않습니다. 예를 들어 값을 100으로 설정하면 카메라에서 100미터를 초과하는 거리에 있는 오브젝트는 그림자를 드리우지 않습니다. 멀리 떨어진 그림자를 렌더링하는 데 많은 메모리가 소모되는 방대한 오픈월드에서 사용하십시오. 또는 뷰 거리가 제한된 톱다운 게임에서 사용할 수도 있습니다. |
Cascades | 그림자에 대한 캐스케이드 수를 선택합니다. 캐스케이드 수가 많을수록 카메라 근처의 그림자 디테일이 향상됩니다. 제공되는 옵션은 None, Two Cascades, Four Cascades 입니다. 성능 관련 문제가 발생하면 캐스케이드 수를 낮추십시오. 이 설정 아래의 섹션에서 그림자의 거리를 설정할 수도 있습니다. 카메라에서 멀어질수록 그림자의 디테일이 낮아집니다. |
Soft Shadows | Main Light 또는 Additional Light 에 대해 그림자를 활성화한 경우 이 설정을 활성화하여 섀도우 맵에 더욱 부드러운 필터링을 추가하여 그림자의 가장자리를 매끄럽게 만들 수 있습니다. 이 설정을 활성화하면 렌더 파이프라인이 데스크톱 플랫폼에서 5x5 텐트 필터를 수행하고 모바일 디바이스에서 4 탭 필터를 수행합니다. 비활성화하면, 렌더 파이프라인이 기본 하드웨어 필터링으로 그림자를 한 번 샘플링합니다. 이 기능을 비활성화할 경우 렌더링 속도가 빨라지지만, 그림자 가장자리가 더 날카로워져서 픽셀화될 수 있습니다. |
포스트 프로세싱
이 섹션에서는 전역 포스트 프로세싱 설정을 미세 조정할 수 있습니다.
프로퍼티 | 설명 |
---|---|
Grading Mode | 프로젝트에 사용할 컬러 분류 모드를 선택합니다. • High Dynamic Range: 이 모드는 영화 제작 워크플로와 유사한 고정밀도 분류에 가장 적합합니다. Unity는 톤 매핑 전에 컬러 분류를 적용합니다. • Low Dynamic Range: 이 모드는 보다 고전적인 워크플로를 따릅니다. Unity는 톤 매핑 후 제한된 범위의 컬러 분류를 적용합니다. |
LUT Size | 유니버설 렌더 파이프라인이 컬러 분류에 사용하는 내부 및 외부 룩업 텍스처(LUT)의 크기를 설정합니다. 크기가 클수록 정확도가 높아지지만, 성능 및 메모리 소모가 늘어날 수 있습니다. LUT 크기는 믹스 앤 매치할 수 없으므로 크기를 먼저 결정한 후 컬러 분류 프로세스를 시작해야 합니다. 기본 값 32는 균형 잡힌 속도와 품질을 제공합니다. |
고급 설정
이 섹션에서는 일반적으로 잘 변경하지 않는 설정들을 미세 조정할 수 있습니다. 이러한 설정들은 심도 있는 렌더링 기능과 셰이더 조합에 영향을 미칩니다.
프로퍼티 | 설명 |
---|---|
SRP Batcher | 이 체크박스를 선택하면 SRP 배처가 활성화됩니다. 이 설정은 서로 다른 여러 머티리얼이 동일한 셰이더를 사용하는 경우에 유용합니다. SRP 배처는 GPU 성능에 영향을 주지 않고 CPU 렌더링의 속도를 높이는 내부 루프입니다. SRP 배처를 사용하면 SRP 렌더링 코드 내부 루프가 교체됩니다. |
Dynamic Batching | 동적 배칭을 활성화하면 렌더 파이프라인이 동일한 머티리얼을 공유하는 작은 동적 오브젝트를 자동으로 배칭합니다. 이 설정은 GPU 인스턴싱을 지원하지 않는 플랫폼과 그래픽스 API에 유용합니다. 타게팅하는 하드웨어가 GPU 인스턴싱을 지원하지 않으면 Dynamic Batching 을 비활성화하십시오. 이 설정은 런타임 시점에 변경할 수 있습니다. |
혼합 조명(Mixed Lighting) | 혼합 조명을 활성화하면 빌드에 혼합 조명 셰이더 배리언트를 포함하도록 파이프라인에 지시합니다. |
Debug Level | 렌더 파이프라인이 생성하는 디버그 정보 수준을 설정합니다. 사용 가능한 값은 다음과 같습니다. Disabled: 디버깅이 비활성화됩니다. 기본 설정입니다. Profiling: 렌더 파이프라인이 FrameDebugger에서 볼 수 있는 수준의 자세한 정보 태그를 제공하도록 만듭니다. |
Shader Variant Log Level | Unity가 빌드를 완료할 때 표시할 셰이더 스트리핑 및 셰이더 배리언트 정보의 수준을 설정합니다. 사용 가능한 값은 다음과 같습니다. Disabled: Unity가 아무것도 기록하지 않습니다. Only Universal: Unity가 모든 URP 셰이더에 대한 정보를 기록합니다. All: Unity가 빌드의 모든 셰이더에 대한 정보를 기록합니다. 빌드가 완료되면 콘솔 패널에서 이러한 정보를 확인할 수 있습니다. |
어댑티브 퍼포먼스
이 섹션은 어댑티브 퍼포먼스 패키지를 설치해야 나타납니다. 여기에서는 어댑티브 퍼포먼스와 렌더 파이프라인이 상호작용하는 방식에 관한 설정을 변경할 수 있습니다.
프로퍼티 | 설명 |
---|---|
Use adaptive performance | 어댑티브 퍼포먼스가 런타임 시점에 렌더링 품질을 조정할 수 있습니다. |