파티클 릿 셰이더
유니버설 렌더 파이프라인(URP)에서 이 셰이더를 사용하면 파티클을 거의 실제와 흡사하게 구현할 수 있습니다(예: 모닥불, 빗방울, 횃불 연기 등). 이 셰이더는 사실적인 시각 효과를 생성하지만, URP에서 연산 능력을 가장 많이 소모하는 셰이딩 모델을 사용하므로 성능에 영향을 줄 수 있습니다.
에디터에서 파티클 릿 셰이더 사용
이 셰이더를 선택하고 사용하려면 다음 단계를 따르십시오.
- 프로젝트에서 셰이더를 사용할 머티리얼을 생성하거나 찾습니다. Material 을 선택하면 머티리얼 인스펙터 창이 열립니다.
- Shader 를 클릭한 후 Universal Render Pipeline > Particles > Lit 을 선택합니다.
UI 개요
이 셰이더의 인스펙터 창에는 다음의 요소가 포함되어 있습니다.
표면 옵션
Surface Options 는 URP가 화면의 머티리얼을 렌더링하는 방식을 제어합니다.
프로퍼티 | 설명 |
---|---|
Surface Type | 이 드롭다운을 사용하여 Opaque 또는 Transparent 표면 타입을 머티리얼에 적용합니다. 이 프로퍼티는 URP가 머티리얼을 렌더링할 렌더 패스를 결정합니다. Opaque 표면은 뒤에 무엇이 있든 관계없이 항상 표시됩니다. URP는 불투명 머티리얼을 먼저 렌더링합니다. Transparent 표면 타입은 배경의 영향을 받으며, 선택하는 투명 표면 타입에 따라 크게 다를 수 있습니다. URP는 불투명 머티리얼 다음에 별도 패스로 투명 머티리얼을 렌더링합니다. Transparent 를 선택하면 Blending Mode 드롭다운이 나타납니다. |
Blending Mode | 투명 머티리얼을 배경과 블렌딩할 때 Unity가 투명 머티리얼의 각 픽셀 컬러를 계산하는 방법을 선택합니다. Blending Mode에서 Source는 블렌딩 모드가 설정된 투명 머티리얼을 나타내고, Destination은 머티리얼이 겹치는 모든 요소를 나타냅니다. |
Alpha | ![]() Alpha 블렌딩 모드. Alpha 는 머티리얼의 알파 값을 사용하여 오브젝트의 투명도를 변경합니다. 0은 완전 투명입니다. 255는 완전 불투명이며, 블렌딩 등식과 함께 사용하면 값이 1로 변환됩니다. 머티리얼은 알파 값에 관계없이 항상 투명 렌더 패스에서 렌더링됩니다. 이 모드에서는 Preserve Specular Lighting 프로퍼티를 사용할 수 있습니다. 알파 등식: OutputRGBA = (SourceRGB × SourceAlpha) + DestinationRGB × (1 − SourceAlpha) |
Premultiply | ![]() Premultiply 블렌딩 모드. Premultiply 는 먼저 투명 머티리얼의 RGB 값에 알파 값을 곱한 후 Alpha 와 유사한 효과를 머티리얼에 적용합니다. 또한 Premultiply 등식을 사용하면 알파 값이 0인 투명 머티리얼 영역에도 애디티브 블렌드 효과를 적용할 수 있습니다. 이렇게 하면 불투명 픽셀과 투명 픽셀이 겹치는 가장자리에 나타날 수 있는 결함을 줄일 수 있습니다. Premultiply 등식: OutputRGBA = SourceRGB + DestinationRGB × (1 − SourceAlpha) |
Additive | ![]() Additive 블렌딩 모드. Additive 는 머티리얼의 컬러 값을 합산하여 블렌드 효과를 생성합니다. 알파 값은 블렌드가 계산되기 전에 소스 머티리얼 컬러의 강도를 결정합니다. 이 모드에서는 Preserve Specular Lighting 프로퍼티를 사용할 수 있습니다. Additive 등식: OutputRGBA = (SourceRGB × SourceAlpha) + DestinationRGB |
Multiply | ![]() Multiply 블렌딩 모드. Multiply 는 머티리얼의 컬러를 표면 뒤에 있는 컬러와 곱합니다. 이렇게 하면 색유리를 통해 보는 것처럼 어두운 효과가 생성됩니다. 이 모드는 머티리얼의 알파 값을 사용하여 컬러가 블렌드되는 정도를 조정합니다. 알파 값을 1로 설정하면 컬러가 조정되지 않은 상태로 곱해지고, 그보다 낮은 값으로 설정하면 컬러가 흰색으로 블렌드됩니다. Multiply 등식: OutputRGBA = SourceRGB × DestinationRGB |
Preserve Specular Lighting | Unity가 게임 오브젝트의 스페큘러 하이라이트를 보존할지 여부를 나타냅니다. 이는 표면이 투명해서 반사된 광원만 표시되는 경우에도 적용됩니다. 이 프로퍼티는 Surface Type 이 Transparent로 설정되고 Blending Mode 가 Alpha 또는 Additive로 설정된 경우에만 나타납니다. ![]() Preserve Specular Lighting 이 비활성화된 머티리얼. ![]() Preserve Specular Lighting 이 활성화된 머티리얼. |
Render Face | 이 드롭다운을 사용하여 지오메트리가 렌더링할 면을 결정합니다. Front Face 는 지오메트리의 전면을 렌더링하고 후면을 컬링합니다. 이는 기본 설정입니다. Back Face 는 지오메트리의 전면을 렌더링하고 전면을 컬링합니다. Both 는 URP가 지오메트리의 양면을 모두 렌더링하도록 만듭니다. 이는 양면을 모두 표시해야 하는 나뭇잎 같이 작고 평평한 오브젝트에 사용하면 유용합니다. |
Alpha Clipping | 머티리얼이 컷아웃 셰이더처럼 동작하도록 만듭니다. 이 프로퍼티를 사용하면 불투명 영역과 투명 영역 사이에 하드 에지가 있는 투명 효과를 생성할 수 있습니다(예: 풀잎 생성). 이러한 효과를 구현하기 위해 URP는 Alpha Clipping 을 활성화하면 나타나는 지정된 Threshold 아래의 알파 값을 렌더링하지 않습니다. 0과 1 사이의 값을 허용하는 슬라이더를 움직여 Threshold 를 설정할 수 있습니다. 임계값 위의 모든 값은 완전 불투명이고, 임계값 아래의 모든 값은 보이지 않습니다. 예를 들어 임계값 0.1은 URP가 0.1 미만의 알파 값을 렌더링하지 않는다는 의미입니다. 기본값은 0.5입니다. |
Color Mode | 이 드롭다운을 사용하여 파티클 컬러와 머티리얼 컬러가 블렌딩되는 방식을 결정합니다. Multiply 는 두 컬러를 서로 곱하여 더 어두운 최종 컬러를 생성합니다. Additive 는 두 컬러를 서로 더하여 더 밝은 최종 컬러를 생성합니다.Subtractive 는 머티리얼의 기본 컬러에서 파티클 컬러를 뺍니다. 이렇게 하면 픽셀 자체에 전체적으로 더 어두운 효과를 구현하고 밝기는 낮춥니다. Overlay 는 머티리얼의 기본 컬러 위에 파티클 컬러를 블렌딩합니다. 이렇게 하면 0.5 이상의 값에서는 더 밝은 컬러가, 0.5 미만의 값에서는 더 어두운 컬러가 생성됩니다. Color 는 파티클 컬러를 사용하여 머티리얼의 기본 컬러 값과 채도를 유지하면서 머티리얼 컬러를 채색합니다. 단색 씬에 컬러 스플래시를 추가할 때 유용합니다. Difference 는 두 컬러 값의 차이를 반환합니다. 서로 유사한 파티클 컬러와 머티리얼 컬러를 블렌딩할 때 사용하면 좋습니다. |
표면 입력
Surface Inputs 는 표면 자체를 묘사합니다. 예를 들어 이 프로퍼티를 사용하여 젖었거나 말랐거나 거칠거나 부드러운 표면을 구현할 수 있습니다.
프로퍼티 | 설명 |
---|---|
Base Map | 표면에 컬러를 추가합니다. Base Map 설정에 텍스처를 할당하려면 옆에 있는 오브젝트 피커를 클릭하십시오. 그러면 에셋 브라우저가 열리고, 여기에서 프로젝트의 텍스처 중에서 선택할 수 있습니다. 또는 컬러 피커를 사용할 수도 있습니다. 설정 옆의 컬러는 할당된 텍스처 위에 있는 색조를 표시합니다. 또 다른 색조를 할당하려면 이 컬러 견본을 클릭하면 됩니다. Surface Options 에서 Transparent 또는 Alpha Clipping 을 선택하면 머티리얼이 텍스처의 알파 채널 또는 컬러를 사용합니다. 베이스 맵은 디퓨즈 맵이라고도 부릅니다. |
Metallic Map | 직접 조명(예: 방향, 점 및 스폿 광원)의 메탈릭 하이라이트와 반사에 대한 맵 입력을 표시합니다. Smoothness 슬라이더를 사용하여 표면의 하이라이트 확산을 제어할 수 있습니다. 값을 0으로 설정하면 넓고 거친 하이라이트를 구현하고, 값을 1로 설정하면 작고 선명한 하이라이트(예: 유리)를 구현합니다. 0과 1 사이의 값을 사용하면 약간만 광이 나는 모습을 생성할 수 있습니다. 예를 들어 0.5를 사용하면 플라스틱 같은 광택이 만들어집니다. |
Normal Map | 표면에 노멀 맵을 추가합니다. 노멀 맵을 사용하면 범프, 스크래치, 홈 같은 표면 디테일을 추가할 수 있습니다. 맵을 추가하려면 맵 옆의 오브젝트 피커를 클릭하십시오. 노멀 맵은 환경의 주변광을 선택합니다. 설정 옆의 플로트 값은 Normal Map 효과의 멀티플라이어입니다. 값이 낮을수록 노멀 맵의 효과가 감소하고, 값이 높을수록 효과가 강해집니다. |
Emission | 표면이 광원을 방출하는 것처럼 보이게 만듭니다. 활성화하면 Emission Map 및 Emission Color 설정이 나타납니다. Emission Map 을 할당하려면 옆에 있는 오브젝트 그림을 클릭하십시오. 그러면 에셋 브라우저가 열리고, 여기에서 프로젝트의 텍스처 중에서 선택할 수 있습니다. Emission Color 의 경우 컬러 피커를 사용하여 컬러 위에 색조를 할당할 수 있습니다. 이 경우 흰색 100%를 초과할 수 있는데, 이는 다른 컬러를 유지한 상태에서 흰색보다 밝게 빛나는 용암 등의 효과를 구현할 때 유용합니다. Emission Map 을 할당하지 않았다면 Emission 설정은 Emission Color 에 할당된 색조만 사용합니다. Emission 을 활성화하지 않으면 URP는 이미션을 검은색으로 설정하고 이미션을 계산하지 않습니다. |
고급 설정
Advanced 설정은 비하인드 씬 렌더링에 영향을 줍니다. 표면에 눈에 띄는 영향은 없지만, 성능에 영향을 미치는 기본 계산에 영향을 줍니다.
프로퍼티 | 설명 |
---|---|
Flip-Book Blending | 이 체크박스를 선택하면 플립북 프레임을 서로 블렌딩합니다. 이는 애니메이션을 더 부드럽게 만들기 때문에 프레임이 제한된 텍스처 시트 애니메이션에 유용합니다. 성능 문제가 발생하면 이 설정을 해제하십시오. |
Vertex Streams | 이 리스트는 이 머티리얼이 제대로 동작하기 위해 필요한 버텍스 스트림을 보여줍니다. 버텍스 스트림이 올바르게 할당되지 않으면 Fix Now 버튼이 나타납니다. 이 버튼을 클릭하여 이 머티리얼이 할당된 파티클 시스템에 올바른 버텍스 스트림 설정을 적용하십시오. |
Sorting Priority | 이 슬라이더를 사용하여 머티리얼의 시간적 렌더링 순서를 결정합니다. URP는 값이 낮은 머티리얼을 먼저 렌더링합니다. 이렇게 하면 파이프라인이 먼저 다른 머티리얼 앞에서 머티리얼을 렌더링하도록 만들어 기기의 오버드로우를 줄일 수 있습니다. 즉 겹치는 영역을 두 번 렌더링할 필요가 없습니다. 이는 빌트인 Unity 렌더 파이프라인의 렌더 대기열과 유사하게 동작합니다. |
투명 표면 타입
표면 옵션에서 투명 표면 타입을 선택하면 다음 옵션이 나타납니다.
프로퍼티 | 설명 |
---|---|
Soft Particles | 이 체크박스를 선택하면 파티클이 뎁스 버퍼에 기록된 다른 지오메트리 표면과 교차하려고 할 때 페이드아웃됩니다. 이 기능을 활성화하면 Surface Fade 설정이 나타납니다. Near 는 파티클이 완전히 투명한 다른 표면으로부터의 거리를 설정합니다. 파티클이 완전히 페이드아웃되는 것처럼 보이는 지점입니다. Far 는 파티클이 완전히 불투명한 다른 표면으로부터의 거리를 설정합니다. 파티클이 입체감 있게 보입니다. 거리는 월드 공간 단위로 측정됩니다. 투명 표면 타입에만 사용할 수 있습니다. 참고: 이 설정은 URP에서 생성하는 CameraDepthTexture 를 사용합니다. 이 설정을 사용하려면 URP 에셋에서 또는 파티클을 렌더링하는 카메라에 대해 Depth Texture 를 활성화하십시오. |
Camera Fading | 이 체크박스를 선택하면 파티클이 카메라와 가까워질 때 페이드아웃됩니다. 이 기능을 활성화하면 Distance 설정이 나타납니다. Near 는 파티클이 완전히 투명한 카메라로부터의 거리를 설정합니다. 파티클이 완전히 페이드아웃되는 것처럼 보이는 지점입니다. Far 는 파티클이 완전히 불투명한 카메라로부터의 거리를 설정합니다. 파티클이 입체감 있게 보입니다. 거리는 월드 공간 단위로 측정됩니다. 참고: 이 설정은 URP에서 생성하는 CameraDepthTexture 를 사용합니다. 이 설정을 사용하려면 URP 에셋에서 또는 파티클을 렌더링하는 카메라에 대해 Depth Texture 를 활성화하십시오. |
Distortion | 파티클이 앞에 그려진 오브젝트에서 굴절하도록 만드는 방식으로 왜곡 효과를 구현합니다. 이는 열파 효과를 생성하거나 파티클 뒤에 있는 오브젝트를 왜곡할 때 유용합니다. 이 기능을 활성화하면 다음 설정이 나타납니다. Strength 는 파티클이 배경을 왜곡하는 정도를 제어합니다. 음수 값은 양수 값의 반대 효과를 냅니다. 따라서 양수 값을 사용하여 무언가를 오른쪽으로 오프셋한 경우 동일한 음수 값이 왼쪽으로 오프셋합니다. Blend 는 왜곡이 보이는 정도를 제어합니다. 0에서는 눈에 보이는 왜곡이 없고, 1에서는 왜곡 효과만 표시됩니다. 참고: 이 설정은 URP에서 생성하는 CameraOpaqueTexture 를 사용합니다. 이 설정을 사용하려면 URP 에셋에서 또는 파티클을 렌더링하는 카메라에 대해 Opaque Texture 를 활성화하십시오. |