การสร้างแบบจำลอง

Normal Map

Normal map คือเท็กซ์เจอร์แบบ RGB ที่จำลองรายละเอียดพื้นผิวโดยเปลี่ยนวิธีที่แสงกระทบกับโมเดล ทำให้เกิดปุ่มนูน รอยบุบ และร่อง โดยไม่ต้องเพิ่มโพลิกอน

Normal Map คืออะไร

แผนที่นอร์มอล (normal map) คือเท็กซ์เจอร์ที่เก็บทิศทางของพื้นผิวแบบต่อพิกเซล (เวกเตอร์ปกติ/normal vector) ไว้ในช่อง RGB เมื่อเชเดอร์อ่านมัน แมปจะทำให้แสงสะท้อนจากพื้นผิวเปลี่ยนไป สิ่งนี้ทำให้เกิดภาพลวงตาของรายละเอียดความถี่สูง เช่น รอยขีดข่วน รูพรุน และเส้นรอยต่อแผงบนเรขาคณิตที่โดยทั่วไปค่อนข้างแบน

วิธีการทำงาน

Normal maps คือหัวใจของเวิร์กโฟลว์การเบค (bake-down) คุณปั้นหรือโมเดลแอเซ็ต high-poly แล้วนำรายละเอียดไปเบคลงใน normal map จากนั้นนำไปใช้กับเมช low-poly ที่มีน้ำหนักเบา รูปลักษณ์สีม่วง-น้ำเงินมาจากการเข้ารหัสทิศทาง X, Y และ Z ลงในช่องสีแดง เขียว และน้ำเงิน Normal map แบบ tangent-space ซึ่งเป็นแบบที่พบบ่อยที่สุด ทำให้เท็กซ์เจอร์สามารถเปลี่ยนรูปตามโมเดลได้ นี่แหละเหตุผลที่จำเป็นสำหรับตัวละครที่มีการเคลื่อนไหว

กรณีการใช้งาน

  • เบครายละเอียดที่ปั้นไว้จากโมเดล high-poly ลงบนเมช low-poly ที่พร้อมใช้งานในเกม

  • เพิ่มลายผ้าทอ งานก่ออิฐ หรือรอยขีดข่วนโดยไม่ต้องเพิ่มเรขาคณิต

  • รักษาจำนวนพอยลอนให้ต่ำสำหรับ 3D แบบเรียลไทม์และบนมือถือ

อัปเดตล่าสุดเมื่อ 5 กันยายน 2569

เครื่องมือที่เกี่ยวข้อง

ตัวดู 3D ออนไลน์

ดูและตรวจสอบไฟล์ 3D ใดๆ ได้ในเบราว์เซอร์ของคุณโดยตรง

ตัวแปลงไฟล์ 3D

แปลงระหว่าง FBX, OBJ, GLB, STL และอื่นๆ

ตัวบีบอัดไฟล์ 3D

ย่อขนาดไฟล์ 3D โดยไม่สูญเสียคุณภาพที่มองเห็นได้

ตัวสร้างข้อความ 3D

แปลงคำอธิบายข้อความเป็นข้อความและรูปร่าง 3D

คำถามที่พบบ่อย

Normal map คือ texture แบบ RGB ที่เก็บทิศทางของพื้นผิวต่อพิกเซล หรือเวกเตอร์ปกติของโมเดล พอ shader อ่านมัน มันจะเปลี่ยนวิธีที่แสงสะท้อน เพื่อสร้างภาพลวงตาว่ามีรายละเอียดเล็กๆ น้อยๆ เช่น รอยขีดข่วน รูพรุน และเส้นขอบแผงบนเรขาคณิตที่เรียบ มันเพิ่มรายละเอียดที่ดูเหมือนจริงโดยไม่ต้องเพิ่มพอลิกอน

แต่ละพิกเซลจะเข้ารหัสทิศทาง X, Y, Z ไว้ในช่องสีแดง เขียว และน้ำเงิน บอกให้ shader รู้ว่าส่วนของพื้นผิวนั้นหันไปทางไหน ส่วนการคำนวณแสงจะใช้ทิศทางเหล่านี้แทนเรขาคณิตแบนๆ จริง ทำให้แสงไปจับ “ปุ่มนูน” และร่องที่ไม่มีอยู่จริงได้อย่างน่าเชื่อ

Bump map เป็นแบบเฉดสีเทาและเก็บเฉพาะ “ความสูง” ทำให้พื้นผิวที่รับรู้ดูเหมือนยกขึ้นหรือลง ส่วน normal map เป็น RGB และเก็บทิศทางของพื้นผิวแบบ 3D เต็มรูป ดังนั้นมันจึงตอบสนองต่อแสงจากมุมใดก็ได้ได้แม่นยำกว่ามาก ใน pipeline PBR สมัยใหม่ normal map ได้เข้ามาแทนที่ bump map เป็นส่วนใหญ่แล้ว

Normal map จะเปลี่ยนแค่การที่แสงตกกระทบกับพื้นผิวแบบเรียบ ทำให้ซิลูเอตไม่เปลี่ยนแปลง ส่วน displacement map จะขยับเรขาคณิตจริง ๆ ทำให้ซิลูเอตเปลี่ยนและเกิดเงาจริง Normal map มีราคาถูกกว่า ส่วน displacement จะใช้เมื่อเส้นขอบต้องถูกต้อง

สีน้ำเงินเด่นมาจากแกน Z ซึ่งเป็นทิศทาง “ขึ้น” ของพื้นผิว โดยจะถูกเก็บไว้ในแชนเนลสีน้ำเงิน พื้นที่เรียบจะชี้ออกไปตรง ๆ จึงอ่านเป็นโทนฟ้าอ่อน-ม่วงอ่อน การเบี่ยงไปทางสีแดงและสีเขียวบอกว่าพื้นผิวเอียงตามแนวแกน X และ Y

คุณสร้างงานสเก็ตช์/แกะ high-poly จากนั้นทำเมช low-poly ที่เข้าคู่กันพร้อม UV ที่สะอาด แล้วจึงเบคดีเทลของพื้นผิว high-poly ลงใน Normal map โดยใช้เครื่องมืออย่าง Blender, Marmoset Toolbag หรือ Substance Painter จากนั้นเมช low-poly ก็จะแสดงดีเทลที่ได้แกะไว้ด้วยต้นทุนพอลิกอนเพียงเสี้ยวหนึ่งเท่านั้น

Normal map แบบ tangent-space จะสัมพันธ์กับพื้นผิว จึงเปลี่ยนตามการดัด/การเคลื่อนไหวของโมเดล และเหมาะกับเมชที่มีการแอนิเมชันหรือใช้ซ้ำได้ ส่วน Normal map แบบ object-space จะถูกล็อกตามทิศทาง (orientation) ของโมเดล ซึ่งแม่นยำกว่าสำหรับออบเจกต์แบบนิ่ง แต่ทนต่อการดัดแปลง/การเปลี่ยนรูปไม่ได้ Tangent space คือค่าเริ่มต้นที่พบได้ทั่วไป

ไม่ครับ Normal map จะเปลี่ยนแค่การที่แสงโต้ตอบกับพื้นผิว ทำให้ซิลูเอตของตาข่ายยังคงแบนอยู่ สำหรับรายละเอียดเชิงเรขาคณิตจริงที่เปลี่ยนขอบเขต คุณต้องใช้ displacement map หรือเพิ่มโพลิกอน

ใช่ครับ Meshy จะส่งออก normal map เป็นส่วนหนึ่งของ PBR texture set ดังนั้นโมเดล 3D ที่สร้างโดย AI จะมาพร้อมรายละเอียดพื้นผิวที่คมชัดซึ่งถูกบันทึกไว้ล่วงหน้าแล้ว คุณสามารถนำเข้าไปยังเอ็นจินของคุณได้ทันที โดยไม่ต้องทำขั้นตอน baking แบบแมนนวล

ยังมีคำถามเกี่ยวกับ Normal Map อยู่ไหม?

ถาม Meshy 3D Agent ได้ทุกเรื่องเกี่ยวกับ 3D — ฐานความรู้ที่ติดตั้งมาในตัวจะตอบคำถามของคุณและแปลงให้เป็นโมเดลได้ทันทีในแชท