Normal Mapping คืออะไร
ในวงการคอมพิวเตอร์กราฟิก 3 มิตินั้น เราไม่จำเป็นต้องสร้างหรือปั้นทุกรายละเอียดของรูปทรงเรขาคณิตของตัวโมเดล 3 มิติเมื่อใช้ Normal Mapping เทคนิคนี้เป็นเทคนิคที่ใช้ในการสร้างรายละเอียดพื้นผิวลวงตาขึ้นมาเพื่อเพิ่มความสมจริงให้กับวัตถุดิจิทัลโดยที่ไม่เพิ่มความซับซ้อนของรูปทรงเรขาคณิต
การทำความเข้าใจกับกระบวนการ Normal Mapping
ในการสร้างโมเดล 3 มิติ พื้นผิวภายนอกจะมีการแสดงภาพเป็นโพลีกอน การจัดแสงจะมีการคำนวณตามลักษณะทางเรขาคณิตของโพลีกอนเหล่านี้ในวิธีเดียวกับที่ศิลปินใช้เทคนิคการแรเงาเพื่อเลียนแบบลักษณะ 3 มิติ แนวทางนี้ได้ผลดีมาก แต่ก็อาจต้องใช้ทรัพยากรในการประมวลผลมากเช่นกัน ซึ่งเป็นการจำกัดศักยภาพในการสร้างสรรค์ระดับพื้นผิวโดยรวม Normal Mapping ให้โซลูชันที่ดีและไม่ซับซ้อนโดยการแก้ไขลักษณะการตกกระทบของแสงกับพื้นผิวโดยไม่เปลี่ยนรูปทรงเรขาคณิตพื้นฐาน
Normal Map จัดเก็บข้อมูลเกี่ยวกับพื้นผิวภายนอกในรูปแบบของรูปภาพพื้นผิว Normal Map สามารถเข้ารหัส Normal พื้นผิวภายนอกในพื้นผิวและจำลองลักษณะของรายละเอียดพื้นผิว เช่น ความขรุขระ รอยขีดข่วน รอยยับ และอื่นๆ ได้โดยไม่เป็นการเพิ่มความซับซ้อนไปยังรูปทรงเรขาคณิตที่เป็นรากฐาน
Normal Map มีการคำนวณขณะเรนเดอร์โดยใช้ Normal พื้นผิวแบบดัดแปลงจาก Normal Map เนื่องจากการคำนวณเหล่านี้ใช้ทรัพยากรในการประมวลผลน้อยกว่า จึงสามารถสร้างพื้นผิวระดับสูงได้ ซึ่งทำได้แม้กระทั่งแบบเรียลไทม์ จึงทำให้ Normal Map เป็นเทคนิคที่ได้รับความนิยมในกลุ่มผู้พัฒนาวิดีโอเกม
ทุกวันนี้เราเห็น Normal Mapping ได้ที่ใดบ้าง
โดยรวมแล้ว Normal Mapping ถือเป็นเทคนิคที่มีความอเนกประสงค์ ซึ่งศิลปินและนักออกแบบ 3 มิติควรนำมาใช้เพื่อเร่งกระบวนการและพัฒนาเวิร์กโฟลว์ให้ดีขึ้น
คุณจะเห็นได้ว่านอกจาก Normal Mapping จะมีการนำไปใช้ในสถานการณ์ที่ข้อจำกัดด้านฮาร์ดแวร์มีผลอย่างมาก เช่น วิดีโอเกม ซึ่งจำเป็นต้องเรนเดอร์ฉากแบบเรียลไทม์สำหรับนักเล่นเกมแล้ว เทคนิคนี้ยังมีการใช้งานในภาพยนตร์คอมพิวเตอร์แอนิเมชัน การจำลองภาพสถาปัตยกรรม และการออกแบบผลิตภัณฑ์อีกด้วย
Normal Mapping ไม่ส่งผลต่อการลงสีวัตถุ คุณจึงจะได้เห็นการนำไปใช้งานบ่อยครั้งในกรณีที่พื้นผิวของวัตถุไม่ได้มีลักษณะแบนราบหรือเรียบเนียนอย่างสมบูรณ์ ว่ากันตามตรงแล้ว นี่หมายความว่าเกือบทุกโมเดล 3 มิติสามารถใช้ Normal Map เพื่อเพิ่มความสมจริงได้หมด ไม่ว่าจะเป็นเครื่องหนังที่ดูเก่า ลายไม้ที่มีความขรุขระ ผิวหนังมนุษย์ เนื้อผ้า และอีกมากมาย
มีเครื่องมือและซอฟต์แวร์ที่จำเป็นอยู่มากมายที่มักนำมาใช้สำหรับ Normal Mapping ตัวอย่างบางส่วนมีดังนี้
1. ซอฟต์แวร์การสร้างโมเดล 3 มิติ: เครื่องมือเช่น Blender, Maya, ZBrush และ {{substance-3d-modeler}} ถูกนำไปใช้เพื่อสร้างโมเดลที่จะใช้สำหรับ Normal Mapping โซลูชันซอฟต์แวร์ที่ยอดเยี่ยมนั้นมีอยู่มากมาย ซึ่งแต่ละซอฟต์แวร์ต่างก็นำแนวทางของตนไปใช้ในการสร้างโมเดลและปั้น
2. ซอฟต์แวร์ลงสีพื้นผิว: ซอฟต์แวร์อย่าง {{substance-3d-painter}} หรือแม้แต่ Adobe Photoshop ต่างก็สามารถนำไปใช้สร้างและแก้ไข Map พื้นผิวได้ ซึ่งรวมถึง Normal Map
3. เครื่องมือสร้าง Normal Map: ซอฟต์แวร์สำหรับสร้าง Normal Map ช่วยสร้าง Normal Map ได้จากข้อมูลพื้นผิวหรือรูปทรงเรขาคณิตที่มีความละเอียดสูง เครื่องมืออย่าง xNormal, CrazyBump หรือ Substance 3D Designer สามารถสร้าง Normal Map ได้โดยอิงจากข้อมูลต่างๆ ที่ป้อน
4. เอนจินเกม: เอนจินเกมอย่างเช่น Unreal Engine และ Unity มีการสนับสนุน Normal Mapping แบบในตัว เอนจินเหล่านี้มีเครื่องมือที่จำเป็นและความสามารถในการเรนเดอร์เพื่อใช้ประโยชน์จาก Normal Map แต่ละเอนจินต่างก็ใช้ในการสร้างการเรนเดอร์ได้ดีพอๆ กับการสร้างประสบการณ์ในการเล่นเกม
5. ภาษาเขียนโปรแกรมเชดเดอร์: การทำความเข้าใจกับภาษาโปรแกรมเขียนเชดเดอร์อย่าง HLSL (ภาษาแรเงาระดับสูง) หรือ GLSL (ภาษาแรเงา OpenGL) อาจเป็นประโยชน์สำหรับการสร้างเชดเดอร์แบบกำหนดเองที่ใช้ประโยชน์จาก Normal Mapping ภาษาเหล่านี้ช่วยให้ผู้พัฒนาได้กำหนดลักษณะการตกกระทบของแสงด้วย Normal Map และ Map พื้นผิวอื่นๆ เพื่อให้ได้เอฟเฟกต์ภาพที่น่าทึ่ง
รายการนี้อาจไม่ได้ครอบคลุมทั้งหมด แต่ก็ช่วยให้ครีเอเตอร์ได้มีจุดเริ่มต้นที่ดีในการทำความเข้าใจถึงพื้นฐานของ Normal Mapping และวิธีการนำไปใช้ในสภาพแวดล้อมที่มีการเรนเดอร์แบบเรียลไทม์
รูปภาพโดย Playground Games
Normal Map แตกต่างจาก Bump Map อย่างไร
Normal Map จะจัดเก็บข้อมูล Normal พื้นผิวที่ชัดเจนโดยใช้รูปภาพ RGB ซึ่งแต่ละช่องสีแสดงถึงส่วนประกอบ X, Y และ Z ของเวกเตอร์ Normal พื้นผิวในแต่ละพิกเซลพื้นผิว Normal Map จะบันทึกข้อมูลมากขึ้นเกี่ยวกับการวางแนวของพื้นผิว Normal Map ไม่ส่งผลต่อลักษณะทางเรขาคณิตของโมเดล แต่จะยังคงแก้ไขลักษณะการตกกระทบของแสงในบริเวณรอบๆ โมเดล
เมื่อเทียบกับ Bump Map แล้ว Normal Map จะให้ผลลัพธ์ที่แม่นยำสุด โดยเป็นการบันทึกรายละเอียดพื้นผิวที่มากกว่าแค่ตัวแปรความสูงเท่านั้น
ข้อดีและข้อเสียของ Normal Mapping
1. รายละเอียดพื้นผิวแบบสมจริง: Normal Mapping ช่วยให้เพิ่มรายละเอียดพื้นผิวที่ซับซ้อนได้โดยไม่เป็นการเพิ่มความซับซ้อนของลักษณะทางเรขาคณิต
2. ประสิทธิภาพ: Normal Mapping คือเทคนิคที่มีประสิทธิภาพในการประมวลผล โดยเฉพาะอย่างยิ่งเมื่อเปรียบเทียบกับการเพิ่มจำนวนโพลีกอนของโมเดลเพื่อให้ได้รายละเอียดของพื้นผิว
3. การลดความต้องการด้านหน่วยความจำ: Normal Map จัดเก็บข้อมูลในรูปแบบพื้นผิว ซึ่งโดยปกติแล้วใช้หน่วยความจำน้อยกว่าเมื่อเทียบกับการจัดเก็บข้อมูลแบบเรขาคณิต
4. ความสามารถในการใช้ซ้ำ: Normal Map สามารถนำไปปรับใช้กับโมเดลต่างๆ ได้อย่างง่ายดาย ซึ่งช่วยให้ศิลปินและผู้พัฒนานำไปใช้ซ้ำได้ในหลากหลายแอสเซท เป็นการประหยัดทั้งเวลา แรงงาน และขนาดในขั้นสุดท้ายของผลิตภัณฑ์
5. เอฟเฟกต์การจัดแสงแบบโต้ตอบ: Normal Mapping ช่วยเสริมการโต้ตอบของแสงกับโมเดล ทำให้เกิดเอฟเฟกต์การจัดแสง 3 มิติแบบไดนามิกขึ้นได้ อย่างเช่น การสะท้อนแสงเสมือนจริง รูปแบบการแรเงา และการสะท้อนที่แม่นยำมากขึ้น
1. การเปลี่ยนแปลงลักษณะทางเรขาคณิตที่จำกัด: Normal Map ส่งผลเฉพาะกับรูปลักษณ์ของรายละเอียดพื้นผิวเท่านั้น โดยไม่สามารถปรับแก้รูปทรงเรขาคณิตได้ ภาพลวงตาที่เทคนิคนี้สร้างขึ้นนั้นมีประโยชน์อยู่บ่อยครั้ง แต่ว่าบางครั้งอาจจำเป็นต้องใช้เทคนิคอื่นในกรณีที่ต้องการปรับแก้รูปทรงเรขาคณิต
2. การสร้างสรรค์และการแก้ไข: การสร้าง Normal Map คุณภาพสูงอาจทำได้ยาก รวมถึงต้องใช้ความรู้และซอฟต์แวร์แบบเฉพาะ การแก้ไข Normal Map อาจทำได้ยากเนื่องจากลักษณะความซับซ้อนของข้อมูล
3. ข้อจำกัดด้านพื้นที่ของพื้นผิว: Normal Map ต้องการพื้นที่สำหรับพื้นผิวเพิ่มเติมเนื่องจากโดยปกติแล้ว Map ประเภทนี้มีการจัดเก็บเป็นรูปภาพ RGB ข้อจำกัดดังกล่าวอาจส่งผลต่อการใช้หน่วยความจำโดยรวมได้ และจำเป็นต้องปรับประสิทธิภาพอย่างระมัดระวังในบางกรณี
4. ขีดจำกัดด้านปริภูมิสัมผัส: โดยทั่วไปแล้ว Normal Map จะมีการกำหนดในพื้นที่แบบปริภูมิสัมผัส ซึ่งหมายความว่าเทคนิคนี้ยึดพิกัด UV และการวางแนวของโมเดลเป็นหลัก ซึ่งบางครั้งอาจทำให้เกิดภาพแปลกปลอมขึ้นเมื่อมีการปรับใช้ Normal Map แบบเดียวกันกับโมเดลที่มีการวางแนวและเค้าโครง UV ไม่เหมือนกัน
แม้จะมีขีดจำกัดอยู่บ้าง แต่ Normal Map ก็เป็นเทคนิคที่มีประสิทธิภาพมากที่สุดในการเสริมคุณภาพด้านภาพและความสมจริงของโมเดล 3 มิติแบบเรียลไทม์ Normal Mapping มีสมดุลที่ดีระหว่างประสิทธิภาพกับความคมชัดของภาพ จึงเป็นเครื่องมือที่มีประโยชน์อย่างยิ่งในด้านการเรนเดอร์และการสร้างพื้นผิว 3 มิติ
รู้ว่าควรนำ Normal Mapping มาใช้เมื่อใด
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Normal Mapping
คำถามที่พบบ่อย
Normal Map ในการออกแบบเกมคืออะไร
NORMAL MAP มีช่องสีกี่ช่อง
Normal สร้างโดยใช้รูปภาพ RGB (แดง เขียว และน้ำเงิน) ซึ่งแต่ละช่องสีในรูปภาพจะแสดงเป็นส่วนประกอบ X, Y และ Z ของ Normal พื้นผิวในแต่ละพิกเซลพื้นผิวของ Map ซึ่งหมายความว่า Normal Map มี 3 ช่องสี โดยที่แต่ละช่องสีมีค่าเป็นบวกหรือลบ
- ช่องสีแดง (R) แทนองค์ประกอบ X ของเวกเตอร์ Normal พื้นผิว
- ช่องสีเขียว (G) แทนองค์ประกอบ Y ของเวกเตอร์ Normal พื้นผิว
- ช่องสีน้ำเงิน (B) แทนองค์ประกอบ Z ของเวกเตอร์ Normal พื้นผิว
ทั้งหมดสามช่องสีถูกนำมาใช้ด้วยกันเพื่อให้ได้ข้อมูลการวางแนวที่ชัดเจนสำหรับแต่ละพิกเซลพื้นผิว ซึ่งใช้ในระหว่างการเรนเดอร์เพื่อเสริมเอฟเฟกต์ของแสงและเงาบนโมเดล 3 มิติ
เหตุใดจึงเรียกว่า Normal Map
ในด้านคอมพิวเตอร์กราฟิก “Normal” สื่อถึงเวกเตอร์ที่ตั้งฉาก (หรือทำ “แนวฉาก”) กับพื้นผิวในจุดที่เฉพาะเจาะจง ดังนั้นเราจึงเรียก Normal Map ว่า “Normal Map” เนื่องจากสิ่งนี้จัดเก็บข้อมูลเกี่ยวกับ Normal พื้นผิวของโมเดล 3 มิติ
เมื่อใช้ Normal Map ในระหว่างการเรนเดอร์ Normal พื้นผิวของโมเดล 3 มิติจะมีการปรับแก้ตามข้อมูลที่จัดเก็บไว้ใน Map ซึ่งส่งผลให้เกิดเอฟเฟกต์ของแสงและเงาที่สร้างภาพลวงตาของรายละเอียดพื้นผิวที่ซับซ้อน