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

:::hint{type="success"}
**👍&#x20;**&#xE01;่อนที่คุณจะเริ่ม ตรวจสอบให้แน่ใจว่า \[[ตัวอย่าง Material ZEPETO](https://studio.zepeto.me/console/download/6a671409a6697b40295eb95d)] ถูกดาวน์โหลดเป็นเวอร์ชันล่าสุด โปรดทราบ เนื่องจากไฟล์ตัวอย่างมีความจุมาก จึงอาจใช้เวลาในการดาวน์โหลดเล็กน้อย
:::



:::hint{type="info"}
**📘 ไลบรารี**
[ไลบรารี Built-in Shader ZEPETO](https://studio.zepeto.me/console/download/69770e6dc64e8f66f845f6f2)

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



## ขั้นตอนที่ 1: การเตรียมตัว

Shader BuiltIn ที่จัดทำโดย 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)



Shader Lit เป็น shader เริ่มต้นที่มีเพียง normal รายละเอียดที่ถูกลบออกจาก shader มาตรฐานของ Unity และเพิ่มตัวเลือกการจัดเกรดสี

:::hint{type="info"}
**📘&#x20;**&#xE01;รุณาอ้างอิงคู่มือที่จัดทำโดย Unity. \[[Standard Shader Material Parameters](https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html)]
:::



- ทำงานกับตัวเลือกการปรับสีเสมอ.
- สำหรับ Metallic, Smoothness, และ Occlusion, ใช้ช่อง R (Metallic), G (Occlusion), และ A (Smoothness) ของพื้นผิวเพื่อให้คุณสามารถควบคุมพวกมันด้วยพื้นผิวเดียว.

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



- เมื่อดึงพื้นผิวจาก Substance Painter, หากคุณดึงพวกมันด้วย 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)



Shader LitWithDetailNormal เป็น shader ที่มีรายละเอียดเพิ่มเติมใน Lit shader และสามารถใช้พื้นผิวรองที่มีการปูกระเบื้องต่างกันได้

:::hint{type="info"}
**📘&#x20;**&#xE01;รุณาอ้างอิงจากคู่มือที่ Unity จัดเตรียมไว้ \[[Standard Shader Material Parameters](https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html)]
:::



:::hint{type="success"}
**👍&#x20;**&#xE40;นื่องจาก shader นี้ต้องการการคำนวณมากกว่า Lit shader จึงแนะนำให้ใช้ Lit shader หากคุณไม่ได้ใช้ Secondary Maps.
:::



- ทำงานกับตัวเลือก Color Grading ที่เปิดใช้งานตลอดเวลา.
- ในกรณีของ Metallic, Smootheness และ Occlusion จะใช้ช่อง R, A และ G ของพื้นผิว ดังนั้นจึงสามารถควบคุมได้ด้วยพื้นผิวเดียว.
- เมื่อดึงพื้นผิวจาก Substance Painter หากคุณดึงมันด้วย Unity HD Render Pipeline (Metallic Standard) ข้อมูลที่เกี่ยวข้องจะรวมอยู่ใน MaskMap เชื่อมโยงพื้นผิวกับ Metallic และ Occlusion ตามลำดับ.
- แผนที่รอง: คุณสามารถกำหนดพื้นที่ด้วย Detail Mask ที่รับค่าจาก Channel A.
- คุณสามารถใช้จำนวนพื้นผิวได้อย่างมีประสิทธิภาพโดยการผูกมันเข้าด้วยกันกับช่อง A ของ DetailAlbedo.

![](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)



Shader ผ้าแสดงวัสดุกำมะหยี่และอนุญาตให้ควบคุมคุณสมบัติ Sheen Color และ Sheen Roughness เพิ่มเติมในคุณสมบัติทั่วไป

- ทำงานกับตัวเลือก Color Grading ที่เปิดใช้งานเสมอ
- Sheen Color: คุณสามารถปรับสีเงาบนพื้นผิวผ้าได้
- Sheen Roughness: คุณสามารถปรับความหยาบของเงาได้
- โปรดทราบว่าการเปลี่ยนแปลงตามค่าของ Metallic และ Smoothness ใน Shader ผ้านั้นแตกต่างจาก Shader 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 shader เป็นการเปลี่ยนแปลงจาก Lit shader ซึ่งสะท้อนสภาพแวดล้อมเข้าสู่ฉากที่มีอยู่ ไปยัง shader ที่สามารถสะท้อนสภาพแวดล้อมที่กำหนดเองได้ เช่น วัสดุที่มีความเงาสูงหรือวัสดุที่มีลักษณะเป็นอัญมณีที่ยากต่อการแสดงในสภาพแวดล้อม ZEPETO เริ่มต้น

- ทำงานกับตัวเลือก Color Grading ที่เปิดใช้งานเสมอ
- Env cubemap: ใช้ทรัพยากร HDRI เพื่อสะท้อน (Texture Shape สำหรับพื้นผิวนี้ต้องตั้งค่าเป็น Cube)

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

- Env horizontal rotation: หมุนทรัพยากร HDRI ที่สะท้อนบนวัสดุ
- โปรดทราบว่าการเปลี่ยนแปลงตามค่าของ Metallic และ Smoothness ใน CustomEnv shader นั้นแตกต่างจาก Lit shader

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



## ขั้นตอนที่ 2-5 : ขน

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



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



Shader ขนสัตว์ถูกใช้เพื่อแสดงวัสดุขนสัตว์ และคุณสมบัติที่เกี่ยวข้องกับขนสัตว์และแสงได้ถูกเพิ่มเข้าไปในคุณสมบัติ Metallic และ Smootheness ที่มีอยู่แล้ว

ที่นี่, การปูกระเบื้อง NormalMap มีอยู่แยกจาก Albedo, การปูกระเบื้องแผนที่ MetallicSmoothness เพื่อแสดงความรู้สึกของขนสัตว์ที่เกิดขึ้นซ้ำ (แผนที่ปกติจะมีผลต่อทิศทางที่ขนสัตว์ถูกชดเชย)

- ทำงานกับตัวเลือก Color Grading ที่เปิดอยู่เสมอ



**คุณสมบัติขนสัตว์**

- FurMap: พื้นผิวที่ใช้ในคุณสมบัติที่เกี่ยวข้องกับขนสัตว์; ควบคุมรูปแบบขนสัตว์ในช่อง R, หน้ากากขนสัตว์ในช่อง G, และปริมาณที่แรงโน้มถ่วงมีผลในช่อง B

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

- ความยาวขนสัตว์: ปรับความยาวของขนสัตว์
- ความหนาแน่นของขนสัตว์: ปรับความหนาแน่นของขนสัตว์
- ความหนาแน่นขอบ: ปรับความหนาแน่นของขนสัตว์ที่ขอบของวัตถุ
- แรงโน้มถ่วงของขนสัตว์: ปรับทิศทางที่ขนสัตว์ถูกชดเชย



**คุณสมบัติการส่องสว่าง**

- สีการปิดกั้นขน: คุณสามารถปรับสีการปิดกั้นระหว่างขนได้ (สิ่งนี้ทำให้ขนมีความลึก)
- ความแข็งแรงของการปิดกั้นขน: ปรับความแข็งแรงของการปิดกั้นขน
- โหมดแสงริม: เลือกความรู้สึกของแสงที่ขอบขน (ไม่มี - ไม่มี, ธรรมชาติ - ธรรมชาติสำหรับสี Albedo, แสงสิ่งแวดล้อม - แสงสิ่งแวดล้อมสำหรับฉาก, และกำหนดเอง - กำหนดเอง)
- ปัจจัยริม: ปรับพื้นที่ของแสงที่ขอบ
- ใช้เฟรสเนลทิศทาง: ใช้แสงริมเฉพาะสำหรับพื้นที่ที่ได้รับแสง



:::hint{type="danger"}
**❗️  คำเตือน**

เพื่อการเพิ่มประสิทธิภาพเนื่องจากลักษณะของมือถือ เราใช้การคำนวณการผ่านออฟเซ็ตเพียง 7 ครั้งโดย Fur Shader ดังนั้นหากคุณเพิ่มความยาวของขน ขนจะไม่ดูเป็นธรรมชาติ เมื่อแสดงขนยาว แนะนำให้สร้างแบบจำลองให้ใหญ่
:::



## ขั้นตอนที่ 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)



Shader Iridescience เป็น shader เคลือบฟิล์มสีรุ้งที่มองเห็นได้เมื่อมีการวางชั้นเคลือบฟิล์มบาง ๆ บนพื้นผิวของวัตถุ สีรุ้งบนชั้นเคลือบฟิล์มไม่สามารถตั้งค่าโดยผู้ใช้และถูกสร้างขึ้นโดยอัตโนมัติโดยการคำนวณที่นำเสนอใน [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 ของวัสดุฐาน
- มาตราส่วนที่ควบคุมได้: ปรับค่าที่บังคับให้มุมของแสงกระจายไปทั่วหลายชั้นเพื่อปรับขนาด
- โปรดทราบว่าการเปลี่ยนแปลงตามค่าของ Metallic และ Smoothness ใน shader Iridescence นั้นแตกต่างจาก shader Lit

:::hint{type="success"}
**👍&#x20;**&#xE40;มื่อใช้ Iridescence shader ขอแนะนำให้คุณลองปรับคุณสมบัติแต่ละอย่างเพื่อให้ได้ลักษณะที่คุณต้องการ
:::



## ขั้นตอนที่ 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)



Shader Sparkle แสดงแสงที่สะท้อนจากชั้นบาง ๆ ของเกล็ดที่กระจายอยู่บนพื้นผิวของวัตถุมันถูกใช้เพื่อสร้างเอฟเฟกต์ที่เปลี่ยนแปลงตามแสงและการวางกล้อง

:::hint{type="danger"}
**❗️  คำเตือน**ทรัพยากร Noise ถูกสร้างขึ้นใน shader เองและไม่สามารถแก้ไขแยกต่างหากได้ แต่คุณสามารถปรับความรู้สึกในคุณสมบัติด้านล่าง
:::

- ทำงานกับตัวเลือก Color Grading ที่เปิดใช้งานเสมอ
- ความเข้มของ Noise: ปรับระดับของการระยิบระยับ
- ความเข้มข้นของ Noise: ปรับพื้นที่ที่การระยิบระยับมองเห็นได้
- ขนาดของ Noise: ปรับขนาดของการระยิบระยับ
- ความหนาแน่นของ Noise: ปรับความหนาแน่นของการระยิบระยับ



## ขั้นตอนที่ 2-8 : Toon

:::hint{type="info"}
**📘&#x20;**&#xE42;ปรดดูคำแนะนำต่อไปนี้[Toon Shader](docId\:UC8nEa4TfwnrF1sban8xL)&#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)



Shader HairAlpha ถูกใช้ในการสร้างผม และมันถูกปรับปรุงเพื่อแสดงการสนับสนุน Alpha และ Bridge (ส่วนที่ไม่ได้รับผลกระทบจากสีผม) ใน shader ผมของ ZEPETO ที่มีอยู่

- การตั้งค่าวัสดุพื้นฐานเชื่อมต่อกับพื้นผิวผมที่รวมอยู่ในแอป ZEPETO ดังนั้นหากคุณไม่ได้ใช้พื้นผิว Alpha ที่คุณต้องการ ให้ใช้โดยไม่ต้องแก้ไขใดๆ
- สำหรับผม ค่าเริ่มต้นของ RenderType คือ Transparent ดังนั้นการปรับคิวการเรนเดอร์อาจทำให้เกิดปัญหาโดยการทับซ้อนกับวัสดุโปร่งใสอื่นๆ ดังนั้นอย่าแก้ไขคิวการเรนเดอร์
- เมื่อสร้างผม มักจะตั้งค่าวัสดุหลายตัวและใช้คิวการเรนเดอร์ที่แตกต่างกันเพื่อแก้ไขการจัดเรียง alpha บนตาข่ายที่ทับซ้อนกัน**ในกรณีนี้ แทนที่จะตั้งค่าวัสดุหลายตัว คุณสามารถปรับหมายเลขเวอร์เท็กซ์ด้วยวัสดุเดียว (คิวการเรนเดอร์ 3000)**

:::hint{type="danger"}
**❗️  คำเตือน**

โดยปกติเมื่อเรนเดอร์ตาข่ายโปร่งใส หมายเลขเวอร์เท็กซ์จะถูกวาดตามลำดับจากต่ำไปสูง ในขณะนี้ ตาข่ายที่วาดภายหลังจะดูเหมือนออกมาข้างหน้า

ในขณะที่โปรแกรมการสร้างแบบจำลอง 3 มิติไม่อนุญาตให้คุณแก้ไขหมายเลขเวอร์เท็กซ์ตามอำเภอใจ ลำดับที่คุณรวมตาข่าย (Combine ใน Maya, Join ใน Blender) จะตั้งหมายเลขเวอร์เท็กซ์ของตาข่ายที่รวมภายหลังให้สูงขึ้น ดังนั้นคุณสามารถแก้ไขการจัดเรียง alpha ได้แม้ในวัสดุเดียว
:::



:::hint{type="info"}
**📘&#x20;**&#xE42;ปรดดูคำแนะนำต่อไปนี้[วิธีแก้ปัญหาการจัดเรียงอัลฟาของวัสดุโปร่งใส](docId:3CGl9jzq00JGswOJlqmNs)&#x20;
:::

