렌더링 레이어
렌더링 레이어 기능을 사용하면 특정 광원이 특정 게임 오브젝트에만 영향을 미치도록 설정할 수 있습니다.
예를 들어 다음 그림에서 광원 A
는 구체 D
에 영향을 주지만 구체 C
에는 영향을 주지 않습니다. 광원 B
는 구체 C
에 영향을 주지만 구체 D
에는 영향을 주지 않습니다.
이 예제를 구현하는 방법은 렌더링 레이어를 사용하는 방법 섹션을 참조하십시오.
광원용 렌더링 레이어 활성화
프로젝트에서 광원용 렌더링 레이어를 활성화하려면 다음 단계를 따르십시오.
URP 에셋의 Lighting 섹션에서 세로 줄임표 아이콘(⋮)을 클릭하고 Show Additional Properties를 선택합니다.
URP 에셋의 Lighting 섹션에서 Use Rendering Layers를 선택합니다.
URP Asset > Lighting > Use Rendering Layers
데칼용 렌더링 레이어 활성화
프로젝트에서 데칼용 렌더링 레이어를 활성화하려면 다음 단계를 따르십시오.
데칼 렌더러 기능에서 Use Rendering Layers를 활성화합니다.
데칼 렌더러 기능, 인스펙터 뷰.
데칼용 렌더링 레이어를 활성화하면 Unity가 각 데칼 프로젝터에서 Rendering Layers 프로퍼티를 표시합니다.
렌더링 레이어 이름을 편집하는 방법
렌더링 레이어 이름을 편집하려면 다음 단계를 따르십시오.
Project Settings > Graphics > URP Global Settings로 이동합니다.
Rendering Layers (3D) 섹션에서 렌더링 레이어 이름을 편집합니다.
Graphics > URP Global Settings > Rendering Layers (3D)
렌더링 레이어를 광원과 함께 사용하는 방법
이 섹션에서는 다음 애플리케이션 예제를 설정하는 방법을 설명합니다.
씬에는 두 개의 점 광원(그림에서
A
와B
라고 표시됨)과 두 개의 구체 게임 오브젝트(그림에서C
와D
)가 있습니다.광원
A
는 구체D
에 영향을 주지만 구체C
에는 영향을 주지 않습니다. 광원B
는 구체C
에 영향을 주지만 구체D
에는 영향을 주지 않습니다.
다음 그림에 예제가 나와 있습니다.
광원 A
는 구체 D
에 영향을 주지만 구체 C
에는 영향을 주지 않습니다. 광원 B
는 구체 C
에 영향을 주지만 구체 D
에는 영향을 주지 않습니다.
예제를 구현하려면 다음 단계를 따르십시오.
프로젝트에서 렌더링 레이어를 활성화합니다.
두 개의 점 광원(
A
와B
라고 명명)과 두 개의 구체(C
와D
라고 명명)를 생성합니다. 두 구체가 모두 광원의 이미션 범위 내에 있도록 오브젝트를 배치합니다.Project Settings > Graphics > URP Global Settings로 이동합니다. 렌더링 레이어 1의 이름을
Red
로, 렌더링 레이어 2의 이름을Green
으로 변경합니다.광원
A
를 선택하고 컬러를 녹색으로 변경합니다. 광원B
를 선택하고 컬러를 빨간색으로 변경합니다. 이렇게 설정하면 두 광원이 두 구체 모두에 영향을 줍니다.광원과 구체에 대해 다음과 같이 설정합니다.
광원
A
: Light > General > Rendering Layers 프로퍼티에서 모든 옵션을 선택 해제하고Green
을 선택합니다.광원
B
: Light > General > Rendering Layers 프로퍼티에서 모든 옵션을 선택 해제하고Red
를 선택합니다.구체
C
: Mesh Renderer > Additional Settings > Rendering Layer Mask 프로퍼티에서 모든 옵션을 선택 해제하고Green
을 선택합니다.구체
D
: Mesh Renderer > Additional Settings > Rendering Layer Mask 프로퍼티에서 모든 옵션을 선택 해제하고Red
를 선택합니다.이제 점 광원
A
가 구체D
에 영향을 주지만 구체C
에는 영향을 않습니다. 점 광원B
는 구체C
에 영향을 주지만 구체D
에는 영향을 주지 않습니다.
커스텀 그림자 레이어를 사용하는 방법
그림에서 광원 A
는 구체 C
에 영향을 주지 않고, 구체는 광원 A
로부터 그림자를 드리우지 않습니다..
Custom Shadow Layers 프로퍼티를 사용하면 구체 C
가 광원 A
로부터 그림자를 드리우도록 설정할 수 있습니다.
광원
A
를 선택합니다.Light > Shadows에서 Custom Shadow Layers 프로퍼티를 선택합니다. Unity에 Layer 프로퍼티가 표시됩니다.
Layer 프로퍼티에서 구체 C가 속할 렌더링 레이어를 선택합니다.
이제 광원 A
가 구체 C
에 영향을 주지 않지만, 구체 C
는 광원 A
로부터 그림자를 드리웁니다.
다음 그림은 Custom Shadow Layers 프로퍼티가 비활성화/활성화된 씬을 보여줍니다.
렌더링 레이어를 데칼과 함께 사용하는 방법
이 섹션에서는 다음 애플리케이션 예제를 설정하는 방법을 설명합니다.
씬에 데칼 프로젝터가 포함되어 있습니다.
데칼 프로젝터는 벽과 바닥에 데칼을 투사하지만, 페인트통에는 투사하지 않습니다.
다음 그림에 예제가 나와 있습니다.
이미지 1
에서 페인트통에 Receive decals
레이어가 선택되어 있습니다. 이미지 2
에서는 그렇지 않으므로, 데칼 프로젝터가 페인트통에 투사하지 않습니다.
예제를 구현하려면 다음 단계를 따르십시오.
프로젝트에서 데칼용 렌더링 레이어를 활성화합니다.
씬에 데칼 프로젝터를 생성합니다.
Project Settings > Graphics > URP Global Settings로 이동합니다.
Receive decals
렌더링 레이어를 추가합니다.데칼 프로젝터를 선택합니다. Rendering Layers 프로퍼티에서
Receive decals
를 선택합니다.페인트통 게임 오브젝트를 선택합니다. Rendering Layer Mask 필드에서
Receive decals
레이어를 선택 해제합니다. 이제 데칼 프로젝터가 이 게임 오브젝트에 영향을 주지 않습니다.
성능
이 섹션에는 렌더링 레이어가 성능에 미치는 영향과 관련된 정보가 포함되어 있습니다.
렌더링 레이어 수를 최대한 적게 유지하십시오. 프로젝트에서 사용하지 않는 렌더링 레이어는 생성하지 마십시오.
데칼용 렌더링 레이어를 사용하는 경우 레이어 수를 늘리면 필요한 메모리 대역폭이 증가하고 성능이 저하됩니다.
포워드 렌더링 경로에서 광원에만 렌더링 레이어를 사용하는 경우 성능에 미치는 영향은 매우 작습니다.
렌더링 레이어 수가 8의 배수를 초과하면 성능에 미치는 영향이 더 증가합니다. 예를 들어 레이어 수를 8개에서 9개로 늘리는 것이 9개에서 10개로 늘리는 것보다 상대적으로 더 큰 영향을 미칩니다.