---
title: ZEPETO BuiltIn Shader
slug: studio-guide-ch/zepeto-builtin-shader
docTags: 
createdAt: 2024-09-02T08:34:13.133Z
---

:::hint{type="success"}
**👍&#x20;**&#x5728;开始之前，请确保\[[ZEPETO 材质样本](https://studio.zepeto.me/console/download/6a671409a6697b40295eb95d)] 已下载到最新版本。請注意，這些範例檔案較大，下載可能需要一些時間。
:::



:::hint{type="info"}
**📘 资源库**
[ZEPETO 内置着色器库](https://studio.zepeto.me/console/download/69770e6dc64e8f66f845f6f2)

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



## 步骤 1：准备工作

ZEPETO提供的内置着色器可以通过ZEPETO/BuiltIn路径获得。

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

## 步骤 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"}
**📘&#x20;**&#x8BF7;参考 Unity 提供的指南。 \[[标准着色器材质参数](https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html)]
:::



- 始终在打开颜色分级选项的情况下工作。
- 对于金属度、光滑度和遮挡，纹理的 R（金属度）、G（遮挡）和 A（光滑度）通道被使用，这样你可以用一个纹理来控制它们。

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-9kQ4GPXDDcyKJobYVuC4h-20240904-102330.png" size="100" isUploading="false" width="1568" height="466" darkWidth="1568" darkHeight="466" showCaption="false" indent="2"}



- 从 Substance Painter 提取纹理时，如果使用 Unity HD 渲染管线（金属标准）提取，相关信息会包含在 MaskMap 中。将纹理分别链接到金属度和遮挡。



## 步骤 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 着色器中添加了细节的着色器，可以使用具有不同平铺的次要纹理。

:::hint{type="info"}
**📘&#x20;**&#x8BF7;参阅 Unity 提供的指南。 \[[标准着色器材质参数](https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html)]
:::



:::hint{type="success"}
**👍&#x20;**&#x56E0;为这个着色器需要比Lit着色器更多的计算，如果你不使用次要贴图，建议使用Lit着色器。
:::



- 始终开启颜色分级选项。
- 在金属度、光滑度和遮挡的情况下，使用纹理的R、A和G通道，因此可以用单个纹理进行控制。
- 从Substance Painter中提取纹理时，如果使用Unity HD渲染管线（金属标准）提取，它们的相应信息会包含在MaskMap中。将纹理分别链接到金属度和遮挡。
- 次要贴图：你可以使用细节遮罩定义一个接收来自通道A值的区域。
- 你可以通过将它们与DetailAlbedo的A通道绑定在一起，来高效地使用纹理数量。

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



## 步骤 2-3：布料

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



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



布料着色器表达了天鹅绒材质，并允许在常见属性中额外控制光泽颜色和光泽粗糙度属性。

- 始终开启颜色分级选项。
- 光泽颜色：您可以调整织物表面的光泽颜色。
- 光泽粗糙度：您可以调整光泽的粗糙度。
- 请注意，布料着色器中基于金属度和光滑度值的变化与Lit着色器不同。



## 步骤 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 着色器是从 Lit 着色器过渡而来的，它将环境反射到现有场景中，变成可以反射您选择的自定义环境的着色器，例如高光泽或难以在默认 ZEPETO 环境中表示的珠宝材料。

- 始终启用颜色分级选项。
- 环境立方贴图：应用要反射的 HDRI 资源（此纹理的纹理形状必须设置为立方体）。

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

- 环境水平旋转：旋转反射在材质上的 HDRI 资源。
- 请注意，CustomEnv 着色器中基于金属度和光滑度值的变化与 Lit 着色器不同。

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



## 步骤 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)



毛发着色器用于表现毛发材质，并且在现有的金属和光滑度属性中添加了与毛发相关和与光照相关的属性。

在这里，NormalMap 平铺与 Albedo、MetallicSmoothness 地图平铺分开存在，以表达毛发的重复感（法线贴图影响毛发偏移的方向）。

- 始终开启颜色分级选项进行工作。



**毛发属性**

- FurMap：用于毛发相关属性的纹理；控制 R 通道中的毛发图案，G 通道中的毛发遮罩，以及 B 通道中重力的影响程度。

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

- 毛发长度：调整毛发的长度。
- 毛发密度：调整毛发的密度。
- 边缘密度：调整物体边缘的毛发密度。
- 毛发重力：调整毛发偏移的方向。



**照明属性**

- 毛发遮蔽颜色：您可以调整毛发之间的遮蔽颜色。（这会给毛发一种深度感。）
- 毛发遮蔽强度：调整毛发遮蔽的强度。
- 边缘光模式：选择毛发边缘的光感（无 - 无，自然 - 自然的反照率颜色，环境光 - 场景的环境光，自定义 - 自定义）
- 边缘因子：调整边缘光的区域。
- 使用方向菲涅耳：仅在接收光的区域使用边缘光。



:::hint{type="danger"}
**❗️  注意**

由于移动设备的特性进行优化，我们仅使用由毛发着色器计算的7个偏移通道。因此，如果增加毛发长度，毛发看起来不会自然。建议在表现长毛发时将其建模得大一些。
:::



## 步骤 2-6：虹彩

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



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



Iridescience着色器是一种彩虹色的薄膜涂层着色器，当薄膜涂层层放置在物体表面时可见。薄膜涂层层上的彩虹色无法由用户设置，而是由[Hal Open Science](https://hal.science/hal-01518344/document)的计算自动生成。

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

- 如果开启颜色分级，Iridescence表示可能不会很好地显示。
- 厚度：涂层层的厚度
- η2：薄膜涂层层介质的折射率
- η3：基体物体介质的折射率
- κ3：计算基材内部复折射率η3 + i κ3的值
- 可控比例：调整强制光线角度跨多个层次扩展的值。
- 请注意，Iridescence着色器中基于金属和光滑度值的变化与Lit着色器不同。

:::hint{type="success"}
**👍&#x20;**&#x4F7F;用 Iridescence 着色器时，建议您尝试调整每个属性，以更接近您想要实现的效果。
:::



## 步骤 2-7：闪光

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



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



闪光着色器表达了从散布在物体表面的一层薄薄的薄片反射的光。它用于创建随光线和相机方向变化的效果。

:::hint{type="danger"}
**❗️  注意**噪声资源内置于着色器本身，无法单独修改，但您可以在下面的属性中调整感觉。
:::

- 始终开启颜色分级选项。
- 噪声强度：调整闪光的程度。
- 噪声浓度：调整闪光可见的区域。
- 噪声大小：调整闪光的大小。
- 噪声密度：调整闪光的密度。



## 步骤 2-8：卡通

:::hint{type="info"}
**📘&#x20;**&#x8BF7;参考以下指南。[Toon Shader](docId:3BW50nd1Mw7rk4y5YE7Zx)&#x20;
:::



## 步骤 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着色器用于创建头发，并且已经被修改以表达Alpha支持和桥接（不受头发颜色影响的部分）在现有的ZEPETO头发着色器中。

- 基本材料设置连接到ZEPETO应用程序中包含的头发纹理，因此除非您使用的是所需的Alpha纹理，否则请不要进行任何修改。
- 对于头发，默认的RenderType是透明的，因此调整渲染队列可能会因与其他透明材料重叠而导致问题。因此，请不要修改渲染队列。
- 在创建头发时，通常会设置多个材料并使用不同的渲染队列来解决重叠网格上的Alpha排序问题。**在这种情况下，您可以使用一个材料（渲染队列3000）调整顶点编号，而不是设置多个材料。**

:::hint{type="danger"}
**❗️  注意**

通常，在渲染透明网格时，顶点编号按从低到高的顺序绘制。此时，后绘制的网格看起来像是出现在前面。

虽然3D建模程序不允许您任意修改顶点编号，但组合网格的顺序（在Maya中为Combine，在Blender中为Join）会将后面的网格顶点编号设置得更高，因此即使在单一材料中也可以解决Alpha排序问题。
:::



:::hint{type="info"}
**📘&#x20;**&#x8BF7;参考以下指南。[如何解决透明材料的alpha排序问题](docId\:CJq7l0Ac-utlgDGziRJ5v)&#x20;
:::

