---
title: 빌트인 셰이더 가이드
slug: studio-guide-kr/Pa1ja65GEG90aiSXqoCpl
docTags: 
createdAt: 2024-09-02T08:34:13.133Z
---

:::hint{type="success"}
**👍&#x20;**&#xC2DC;작하기에 앞서 [제페토 머티리얼 샘플](https://studio.zepeto.me/console/download/6a671409a6697b40295eb95d)이 최신 버전으로 다운로드 되었는지 확인합니다.&#x20;
샘플 파일은 용량이 크므로 다운로드 시 시간이 다소 소요될 수 있으니 참고해주시기 바랍니다.

![](https://asset-zepetoful.zepeto.io/ttn7jks47ozr/6RtIX3Wk87fVQYlhSX6Rms2/1s6aa3Wk87mVQYlhTR1jYIV/Material_Example.unitypackage.png)
:::



:::hint{type="info"}
**📘 라이브러리**
[제페토 빌트인 셰이더 라이브러리](https://studio.zepeto.me/console/download/69770e6dc64e8f66f845f6f2)&#x20;

![](https://api.archbee.com/api/optimize/J13bHMYnEsO_46SqFvReX-aY0op0m2LIzu50g_hyopz-20250825-063116.png)
:::



## STEP 1: 준비하기

제페토에서 제공하는 빌트인 셰이더는 ZEPETO/BuiltIn 경로를 통해 사용할 수 있습니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-zIWks4OC4u9xIG-kOETdA-20240904-102330.png)

## STEP 2-1: Lit

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-qrp7bCbR6TmbXj9UlK84U-20240904-102330.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-U8BYkts46RGqU4SwAzzAx-20240904-102330.png)



Lit 셰이더는 기본 Unity 스탠다드 셰이더에서 디테일 노말 부분만 제거되고 컬러 그레이딩 옵션이 추가된 기본 셰이더입니다.

:::hint{type="info"}
**📘**Unity에서 제공하는 가이드를 참고하여 주세요. \[[Standard Shader Material Parameters](https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html)]&#x20;
:::



- 컬러 그레이딩 옵션이 항상 켜져있는 상태로 작업합니다.
- Metallic, Smoothness, Occlusion의 경우 텍스쳐의 R채널(Metallic), G채널(Occlusion), A채널(Smoothness)를 사용하기 때문에 텍스쳐 한장으로 제어가 가능합니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-9kQ4GPXDDcyKJobYVuC4h-20240904-102330.png)



- 서브스텐스페인터에서 텍스쳐 추출하실 때, Unity HD Render Pipeline(Metallic Standard)로 추출하시면, MaskMap에 해당 정보가 포함된 상태로 추출됩니다. 해당 텍스쳐를 각각 Metallic, Occlusion에 연결해줍니다.



## STEP 2-2 : LitWithDetailNormal

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-QfeSe_ZRNwykh8qy5d0w4-20240904-102330.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-csIMHgOhY7llBUmgCgzLA-20240904-102330.png)



LitWithDetailNormal 셰이더는 Lit 셰이더에서 디테일 노말 부분이 추가된 셰이더로 다른 타일링을 사용하는 Secondary 텍스쳐를 사용할 수 있습니다.

:::hint{type="info"}
**📘&#x20;**&#x55;nity에서 제공하는 가이드를 참고하여 주세요. \[[Standard Shader Material Parameters](https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html)]&#x20;
:::

:::hint{type="success"}
**👍&#x20;**&#xD574;당 셰이더는 Lit 셰이더에 비해 많은 연산량을 요구하기 때문에, Secondary Maps을 사용하지 않는 상황이라면 Lit 셰이더를 사용하는 것이 좋습니다.
:::



- 컬러 그레이딩 옵션이 항상 켜져있는 상태로 작업합니다.
- Metallic, Smoothness, Occlusion의 경우 텍스쳐의 R채널(Metallic), A채널(Occlusion), G채널(Smoothness)를 사용하기 때문에 텍스쳐 한장으로 제어가 가능합니다.
- 서브스텐스페인터에서 텍스쳐 추출하실 때, Unity HD Render Pipeline(Metallic Standard)로 추출하시면, MaskMap에 해당 정보가 포함된 상태로 추출됩니다. 해당 텍스쳐를 각각 Metallic, Occlusion에 연결해줍니다.
- Secondary maps: A채널에 값을 받는 Detail Mask로 영역을 정해줄 수 있습니다.
- DetailAlbedo의 A채널에 같이 묶어주면 텍스쳐 개수를 효율적으로 사용할 수 있습니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-LdgOBYFY_pRTmD1kxq_br-20240904-102330.png)



## STEP 2-3 : Cloth

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-sDFODBGNd4JA0iw-2ED_y-20240904-102331.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-B7HHOTv5rqq0aBRZ5Du7i-20240904-102331.png)

Cloth 셰이더는 벨벳 재질을 표현하는 셰이더로 공통 프로퍼티에서 Sheen Color와 Sheen Roughness 프로퍼티를 추가로 제어할 수 있습니다.

- 컬러 그레이딩 옵션이 항상 켜져있는 상태로 작업합니다.
- Sheen Color: 패브릭 표면에 생기는 광택컬러를 조절할 수 있습니다.
- Sheen Roughness: 광택의 거칠기를 조절할 수 있습니다.
- Cloth 셰이더는 Metallic, Smoothness의 수치에 따른 변화가 Lit 셰이더와는 다르게 나타납니다.



## STEP 2-4 : CustomEnv

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-LpCZ4rf-HtoEWLsCNWm2V-20240904-102330.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-gNWHf6yhgHYTx0lAV9KdH-20240904-102330.png)



CustomEnv 셰이더는 기존 scene에 환경을 반사하는 Lit 셰이더에서 유저가 원하는 커스텀 환경을 반사할 수 있게 제작된 셰이더로, 제페토 기본 환경에서 표현하기 어려운 고 광택이나 보석 재질을 표현할 수 있습니다.

- 컬러 그레이딩 옵션이 항상 켜져있는 상태로 작업합니다.
- Env cubemap: 반사시킬 HDRI리소스를 적용합니다.(해당 텍스쳐의 Texture Shape은 Cube로 설정 되어있어야 합니다.)

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-itaSm857NVA2NJt5SiYDC-20240904-102331.png)

- Env horizontal rotation: 머테리얼에 반사되는 HDRI 리소스를 회전시킵니다.
- CustomEnv 셰이더는 Metallic, Smoothness의 수치에 따른 변화가 Lit 셰이더와는 다르게 나타납니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-FhEDLz1_a6dtWV3c8NfKo-20240904-102331.png)



## STEP 2-5 : Fur

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-hOOrkRE_rLUQ-uqird4sJ-20240904-102330.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-rq9EYO6pDffqpXiuxl4Uj-20240904-102330.png)

Fur 셰이더는 털 재질을 표현할 때 사용되는 셰이더로 기존 Metallic, Smoothness 프로퍼티에 Fur 관련 프로퍼티와 Lighting 관련 프로퍼티가 추가 되었습니다.

여기에 반복되는 퍼의 느낌을 표현하기 위해 NormalMap 타일링이 Albedo, MetallicSmoothness 맵 타일링과 별도로 존재합니다.(노말맵이 fur의 offset 되는 방향에 영향을 줍니다.)

- 컬러 그레이딩 옵션이 항상 켜져있는 상태로 작업합니다.



**Fur Property**

- FurMap: Fur관련 property에 사용되는 텍스쳐로 R채널에 Fur패턴, G채널에 Fur마스크, B채널에는 중력에 영향을 받는 정도를 제어합니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-YgFH2xguQfDApW_h41f3o-20240904-102331.png)

- Fur Length: Fur의 길이를 조절합니다.
- Fur Density: Fur의 밀도를 조절합니다.
- Edge Density: 개체 가장자리의 털 밀도를 조정합니다.
- Fur Gravity: Fur가 offset되는 방향을 조절합니다.



**Lighting Property**

- Fur Occlusion Color: Fur 사이사이에 Occlusion 컬러를 조절 할 수 있습니다.(Fur의 깊이감이 생깁니다.)
- Fur Occlusion Strength: Fur Occlusion의 강도를 조절합니다.
- Rim Light Mode: Fur가장자리부분의 빛느낌을 선택합니다.(None - 없음, Natural - Albedo컬러에 맞게 자연스럽게, AmbientLight - 씬에 환경광에 맞게, UserDefined - 사용자지정)
- Rim Factor: 가장자리 부분의 빛 영역을 조절합니다.
- Use Directional Fresnel: 빛을 받는 부분에만 RimLight를 사용합니다.



:::hint{type="danger"}
**❗️  주의사항**

모바일 특성상 최적화를 위해서 Fur 셰이더에서 계산되는 offset패스는 7개만 사용하고 있습니다. 따라서 Fur Length를 길게하면 털이 자연스럽지 않게 보입니다. 길이가 긴 모피를 표현할 때에는, 크게 모델링하는 것을 추천합니다.
:::



## STEP 2-6 : Iridescence

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-OZ1rGRGQ52_I37LDMWXyW-20240904-102331.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-6cweI4QP32lg9vmeHy0PC-20240904-102330.png)



Iridescence 셰이더는 오브젝트 표면에 얇은 필름 코팅층을 씌웠을 때 보이는 무지개 빛의 필름 코팅셰이더입니다. 필름 코팅층에 생기는 무지개빛 컬러는 사용자가 직접 설정할 수는 없고 \[[Hal Open Science](https://hal.science/hal-01518344/document)]에서 제시하는 계산법에 의해 자동으로 생성됩니다.&#x20;

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-EazinWU94S3RvlKO9lS2r-20240904-102330.png)

- 컬러 그레이딩이 켜져있을 경우 Iridescence 표현이 잘 나타나지 않을 수 있습니다.
- Thickness: 코팅층의 두께
- η2: 필름 코팅층 매질의 굴절률
- η3: base 물체 매질의 굴절률
- κ3: The value of calculating the internal complex refractive index η3 + i κ3 of the base material
- Controllable scale: 여러층에서 spread되는 빛의 각도를 강제로 scale하는 값을 조절
- Iridescence 셰이더는 Metallic, Smoothness의 수치에 따른 변화가 Lit 셰이더와는 다르게 나타납니다.

:::hint{type="success"}
**👍&#x20;**&#x49;ridescence 셰이더를 사용할 때는 직접 각각의 프로퍼티를 조절해보며 표현하고자 하는 느낌에 가깝게 맞춰보는 것이 좋습니다.
:::



## STEP 2-7 : Sparkle

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-FYukQHdpeVU2mx6O_dIE_-20240904-102330.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-VaeeGV6eSC842WlufYz30-20240904-102331.png)

Sparkle 셰이더는 오브젝트 표면에 흩뿌려져있는 얇은 조각층에서 반사되는 빛을 표현하는 셰이더로 빛과 카메라 방향에 따라서 달라지는 효과를 나타낼 때 사용됩니다.

:::hint{type="danger"}
**❗️  주의사항**
셰이더에서 사용되는 Noise 리소스는 셰이더 자체에 내장되어있기 때문에 별도로 수정할 수는 없고, 아래의 프로퍼티에서 느낌을 조절 할 수 있습니다.
:::

- 컬러 그레이딩 옵션이 항상 켜져있는 상태로 작업합니다.
- Noise Intensity : 반짝이는 정도를 조정합니다.
- Noise Concentration: 반짝임이 보이는 영역을 조절합니다.
- Noise Size: 반짝이의 사이즈를 조절합니다.
- Noise Density: 반짝이의 밀도를 조절합니다.



## STEP 2-8 : Toon

:::hint{type="info"}
**📘&#x20;**&#xB2E4;음 가이드를 참고하여 주세요. [Toon Shader](docId\:arpB-Zd2iMiQrjqzToI58)&#x20;
:::



## STEP 2-9 : HairAlpha

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-Hj1vo03k-eAe9TvSJ2ob8-20240904-102331.png)



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-nLQMCBzJN1HZYh7ytbd4h-20240904-102331.png)



hairAlpha 셰이더는 hair를 제작할 때 사용되는 셰이더로, 기존 제페토 hair 셰이더에서 Alpha 지원 및 Bridge(헤어 컬러에 영향을 받지 않는 부분)를 표현할 수 있게 수정 되었습니다.

- 기본 머테리얼 세팅은 제페토 앱에 포함된 헤어 텍스쳐가 연결되어 있기 때문에 원하는 느낌의 Alpha 텍스쳐를 사용하는 경우가 아니라면 별도의 수정없이 사용합니다.
- 헤어의 경우 기본 RenderType이 Transparent이기 때문에 렌더큐를 조절할 경우, 다른 투명 머테리얼과 중첩하여 문제가 발생할 수 있습니다. 따라서 렌더큐는 수정하지 않습니다.
- 헤어를 제작할 때 겹쳐지는 메쉬에 알파소팅 현상을 해결하기 위해서 머테리얼을 여러개 설정한 후 렌더큐를 다르게 설정해서 해결하는 경우가 많습니다. **이 경우 여러개의 머테리얼을 설정하는 것이 아닌 하나의 머테리얼(렌더큐3000)로 버텍스 넘버를 조절하여 해결할 수 있습니다.**

:::hint{type="danger"}
**❗️  주의사항**

보통 투명한 메쉬를 렌더링 할 때, 버텍스 넘버가 낮은 순서에서 높은 순서대로 차례대로 그립니다. 이때 나중에 그려지는 메쉬는 앞으로 나온 것 처럼 보이게 됩니다.

3D 모델링 프로그램에서는 임의로 버텍스 넘버를 수정할 수 없지만, 메쉬를 합치는(마야에서는 Combine, 블렌더에서는 Join)순서에 따라 나중에 합쳐지는 메쉬의 버텍스 넘버가 높게 설정되기 때문에, 하나의 머테리얼에서도 알파소팅 현상을 해결할 수 있습니다.
:::

:::hint{type="info"}
**📘&#x20;**&#xB2E4;음 가이드를 참조하십시오. [\[How to solve transparent material alpha sorting issue\]](https://docs.zepeto.me/studio-guide-kr/CIIE1Gmbwjpqq0ivncyx3)
:::

