ในยุคที่เทคโนโลยีการผลิตและการแกะสลักด้วยเลเซอร์พัฒนาไปอย่างก้าวกระโดด การใช้เครื่องเลเซอร์แบบ 3 มิติในการสร้างชิ้นงานที่มีมิตินูนลึกกำลังได้รับความนิยมอย่างมาก ไม่ว่าจะเป็นงานศิลปะ
งานออกแบบแม่พิมพ์ หรืองานตกแต่งพื้นผิวโลหะและไม้ เทคโนโลยีนี้เปิดโอกาสให้ผู้ใช้งานสามารถแสดงรายละเอียดได้ลึกกว่าระบบเลเซอร์แบบ 2 มิติ โดยไม่ต้องพึ่งพาเครื่อง CNC ที่มีราคาสูง
และแน่นอนเครื่องเลเซอร์ที่เรากำลังกล่าวถึงนั่นก็คือเครื่อง Ray Mark 3D เครื่องแกะสลักเลเซอร์ 3มิติ Laser Engrave 60W JPT เครื่องเลเซอร์ไฟเบอร์ที่รองรับงานแกะสลักทั้งแบบ 2 มิติและ 3 มิติ
ด้วยการขยับแกน Z เพื่อสร้างมิติความลึกบนวัสดุแข็ง ซึ่งก่อนที่เครื่อง Ray Mark 3D จะสามารถสร้างงานที่ดูมีมิติและความลึกได้อย่างสวยงามนั้นสิ่งที่ขาดไม่ได้แน่นอนว่าก็คือ “ข้อมูลความลึก”
หรือที่เรียกว่า Depth Map หรือไฟล์ภาพชนิดพิเศษที่สื่อถึงระดับความลึกของพื้นผิวในแต่ละจุดของวัตถุ ซึ่งวันนี้เราจะมาสอนการสร้างภาพ Depth Map จากโมเดล 3มิติ เพื่อนำไปใช้กับเครื่องเลเซอร์
Ray Mark 3D แต่ก่อนที่จะลงลึกไปในส่วนของ Depth Map ก่อนอื่นเราก็ต้องมาทำความเข้าใจกันก่อนว่าการทำงานของเครื่อง Ray Mark 3D ในการที่จะแกะสลักโลหะให้มีมิติขึ้นมาได้นั้นทำได้อย่างไร
- หลักการทำงานของเครื่อง Ray Mark 3D
- ไฟล์ภาพ Depth Map คืออะไร ?
- จะสร้างภาพ Depth Map ได้อย่างไร ?
- ขั้นตอนการ Render ภาพ Depth Map จากโมเดล 3D ด้วยโปรแกรม Blender
หลักการทำงานของเครื่อง Ray Mark 3D
แน่นอนว่าหลักการการที่เครื่องจักรต่างๆ เช่น เครื่องพิมพ์ 3 มิติ, เครื่อง CNC จะสร้างชิ้นงานให้ออกมามีมิติได้นั้น ต้องเกิดจากการแปลงวัตถุ 3 มิติ ให้เป็นภาพ 2 มิติ หลายร้อยหลายพันชั้น
ที่เรียงซ้อนกันจนเกิดเป็นรูปทรงที่สมบูรณ์ กระบวนการนี้เรียกว่า Slicing หรือการ “หั่น” โมเดล 3 มิติออกเป็นชั้นบาง ๆ ในแนวระนาบ ซึ่งแต่ละชั้นจะถูกแปลงเป็นข้อมูลคำสั่ง ที่เครื่องจักรสามารถอ่าน
และประมวลผลได้ ไม่ว่าจะเป็นเส้นทางของหัวฉีดในเครื่องพิมพ์ 3 มิติ หรือเส้นทางของดอกกัดในเครื่อง CNC และแน่นอนว่าในการทำงานของเครื่อง Ray Mark 3D นั้นก็ใช้หลักการเดียวกัน
คือการแบ่งไฟล์ 3D ออกเป็นชั้นๆ และเลเซอร์กัดผิววัสดุออกทีละชั้นตามไฟล์ที่ได้รับ แต่ความแตกต่างของเครื่อง Ray Mark 3D นั้นจะไม่เหมือนกับเครื่องพิมพ์ 3 มิติ หรือ CNC ในส่วนของการอ่านไฟล์
ซึ่งเครื่องพิมพ์ 3 มิติ และเครื่อง CNC มักจะมีซอฟแวร์ที่ให้มากับเครื่องสำหรับ Slicing โมเดล 3D โดยตรง แต่กับ Ray Mark 3D จะทำการ Slicing ด้วยการอ่านไฟล์ภาพ Depth Map ที่ถูก Render
มาจากโมเดล 3D อีกที สรุปง่ายๆก็คือการที่จะเลเซอร์ 3 มิติกับเครื่อง Ray 3D ได้ก็คือต้องมีไฟล์ภาพ Depth Map


ไฟล์ภาพ Depth Map คืออะไร ?
บางคนอาจคุ้นเคยกับไฟล์ถาพ Depth Map แต่หลายคนอาจยังไม่รู้จักเลยก็ได้ Depth Map คือภาพสองมิติที่บันทึกข้อมูลระดับความลึกของวัตถุ โดยใช้ค่าความอ่อน – เข้ม ของสี ขาว-เทา-ดำ
เป็นตัวบ่งบอกความสูงต่ำ สีดำหมายถึงส่วนที่ลึกที่สุด และสีขาวหมายถึงจุดที่สูงที่สุด โดยสีที่ไล่ระดับอย่าสีเทานั่นก็คือความสูงระดับกลาง ข้อมูลที่รวมกันทั้งภาพตั้งแต่ขาวสุดไปยังดำสุด
จึงเป็นตัวบ่งบอกมิติในจุดต่างๆของไฟล์ภาพ โดยค่าน้ำหนักสีขาวไปยังสีดำนี้เรียกว่า Gary Scale ที่มีการไล่ระดับทั้งหมด 255 ระดับนั่นก็คือขาวสุดมีค่าเท่ากับ 255 และจุดที่ลึกสุด จะมีค่าเท่ากับ 0
ซึ่งความสัมพันธ์ระหว่างภาพ Depth map นั่นก็คือ ภาพจะถูก Slicing เป็น 255 ชั้นที่เรียงซ้อนกันแล้วโปรแกรมควบคุมเครื่องเลเซอร์จะอ่านค่าตำแน่ง จุดที่จะกัดผิวงาน และทำการเลเซอร์ไปทีละชั้น
จนครบ 255 ( ทั้งนี้ทั้งนั้นเราสามารถตั้งค่าการ Slicing ให้ไม่ถึง 255 ได้ หรือถ้าภาพของเรามีค่าสีไม่ครบ 255 เช่น ไม่มีสีดำสุด โปรแกรมก็อาจ Slicing ได้ไม่ถึง 255 Layer )
จะสร้างภาพ Depth Map ได้อย่างไร ?
การสร้างภาพ Depth Map นั้น ก่อนอื่นเราก็ต้องมีไฟล์โมเดล 3D ซะก่อน ( สร้างขึ้นเองหรือดาวน์โหลดฟรีตามเว็บแจกโมเดล 3D ทั่วไป ) แล้วจึงนำโมเดล 3D มา Render (ประมวลผลภาพ)
เป็นไฟล์ภาพ Depth Map ซึ่งที่จริงแล้วการที่จะ Render Depth Map นั้นสามารถทำได้จากหลายโปรแกรม ทั้งโปรแกรมที่เสียเงินซื้ออย่าง Zbrush, Maya, หรือจากโปรแกรมที่ใช้งานฟรี
อย่าง MeshLab เป็นต้น ซึ่งอาจมีเครื่องมือการจัดการหรือให้ประสิทธิภาพในการ Render ภาพต่างกันออกไปแต่อีกหนึ่งโปรแกรมฟรี! ที่สามารถสร้างภาพ Depth Map ได้อย่างมีประสิทธิภาพ
ไม่แพ้โปรแกรมเสียเงินอื่นๆเลย นั่นก็คือ Blender หนึ่งในซอฟต์แวร์ที่ได้รับความนิยมสูง ในหมู่นักออกแบบ 3D ด้วยคุณสมบัติที่ครบถ้วน ตั้งแต่การสร้างโมเดล การจัดแสง การตั้งค่ากล้อง
การทำ Material และเหตุผลสำคัญที่ Blender เหมาะที่จะใช้สร้างภาพ Depth Map นั่นก็เพราะระบบ Compositing ที่สามารถสร้างภาพ Depth Map ได้โดยไม่ต้องใช้ปลั๊กอินเพิ่ม สามารถทำงาน
ตั้งแต่ต้นจนจบได้ในโปรแกรมเดียว ซึ่งในวันนี้เราก็จะมาสอนการสร้างภาพ Depth Map ด้วย Blender ให้ดูกันตั้งแต่ต้นจนจบ ผู้ที่ใช้งาน ฺBlender ก็สามารถทำตามได้
ขั้นตอนการ Render ภาพ Depth Map จากโมเดล 3D ด้วยโปรแกรม Blender
เตรียม Model และกล้อง หลังจากที่เรามีโมเดล 3D ที่สมบูรณ์ ( ไม่มีความผิดปกติของ Mesh เช่น เป็นรูโหว่, จีบยับพับซ้อนกัน ) เรียบร้อยแล้ว ก่อนอื่นก็ Import โมเดลของเราเข้ามาในโปรแกรม
Blender ก่อน โดยเลือก Asset พื้นฐานที่มีใน Scene ทั้งหมดแล้วลบทิ้ง ก่อนนำเข้าโมเดลของเราโดยไปที่ Import > เลือกสกุลไฟล์ที่ตรงกับโมเดลเรา
จากนั้นปรับขนาดและตำแหน่งให้เหมาะสม จัดให้อยู่กลางซีนไม่เล็กหรือใหญ่จนเกินไป หมุนด้านหน้าของโมเดลขึ้นด้านบน หรือทิศทาง Z+ ( Numpad 7 ) นี่คือด้านที่เราจะ Render เป็นหลัก
จากนั้นสร้างกล้องโดยกด Shift+A เลือก Camera กด N เพื่อปรับตำแหน่งกล้องโดยคลิกเลื่อน Location แกน Z ให้กล้องอยู่บนโมเดล จากนั้นเปลี่ยนค่า Rotation ทั้งหมดเป็น 0 สามารถกดปุ่ม 0
หรือคลิกไอคนรูปกล้องด้านขวาของ Viewportเพื่อแสดง Viewport ตามมุมกล้อง
แล้วไปที่การตั้งค่าขนาดของภาพ ที่จะถูก Render ออกไป ที่แท็บ Output (หน้าต่างด้านขวา ไอคอนรูปเครื่องปริ้น) ใส่ค่าในช่อง Resolution Xและ Y ตามที่ต้องการ
จากนั้นเปิดเมนู Data ของกล้อง (หน้าต่างด้านขวา ไอคอนล่างสุดรูปกล้อง) และปรับค่าต่างๆในแท็บ Lens ตามนี้
- Type : Orthographic
- Orthographic Scale : คลิกลากตัวเลขเพื่อเลื่อนมุมกล้อง เลื่อนจนโมเดลพอดีกรอบ
- Clip Start : ใส่ค่า 0 Enter
- End : คือจุดที่ไกลจากกล้องที่สุดที่จะให้กล้องเก็บข้อมูล ให้ลองใส่จากค่าน้อยๆเช่น 1 แล้ว 2 แล้วเพิ่มขึ้นเรื่อยๆจนครอบคลุมทั้งโมเดล ( ภาพจะ Preview พื้นที่ทำงานจากค่าที่ใส่ )
ตั้งค่าการ Render ในเมนู Render (ด้านขวา ไอคอนรูปกล้อง) เปลี่ยน Render Engine เป็น Cycle เพราะสามารถเปิด Z Pass(ความลึก) ได้ และควบคุมค่าแสงได้ดีกว่า EEVEE หากคอมคุณมีการ์ดจอ
แนะนำให้เลือก Device เป็น GPU Compute ด้วย เพื่อการ Render ที่เร็ว จากนั้นตั้งค่าความละเอียดการ Render ที่แท็บ Sampling > Render ที่ช่อง Max Samples ใส่ค่าที่ต้องการ
( ยิ่งสูงมากยิ่งละเอียด แต่ก็จะใช้เวลา Render มากขึ้นด้วยในเคสนี้ผมใช้ที่ 1024 )
จากนั้นไปที่เมนู View Layer (ไอคอนรูปซ้อนกัน) ที่แท็บ Passes>Data ติ้กเปิด Z เพื่อประมวลผลความลึก
สร้าง Node ปรับแต่งข้อมูลความลึก โดยต้องเปลี่ยน Work Space ไปทำงานใน Mode Compositing (ด้านบนโปรแกรม) และติ้กเปิด Use Node ที่ด้านบนซ้าย Viewport จะปรากฏ Node ขึ้น 2 Node
นั่นก็คือ Render Layer และ Composite เราต้องเพิ่ม Node ที่ต้องใช้อีก 2 Node โดยกด F3 และ Search ว่า Map Range (สำหรับปรับค่าความลึก) และ Viewer (สำหรับ Preview ภาพ) สามารถปรับ
จัดตำแหน่งหน้าต่าง Preview ได้โดย คลิกลาก X ตรงกลางและย่อขนาดที่ขอบ ลำดับการต่อ Node ทำตามภาพประกอบนี้ (คลิกลากเพื่อถอดเสียบสาย Node)
Node ที่เราจะปรับหลักๆคือ Node Map Range โดยตั้งค่าตามนี้
- From Min : ปรับตามความลึกที่ใกล้กล้อง (ตั้งเป็น 0)
- From Max : ปรับตามความลึกที่ไกลที่สุด (ใส่ค่าเดียวกับ End ในเมนู Data)
- To Min : 1.0 เพื่อให้ส่วนที่ใกล้กล้อง “ขาว” (หากต้องการให้ภาพมี Contrast ขึ้นอีกสามารถใส่มากกว่า 1 ได้ ในเคสนี้ผมใส่ 5.4 )
- To Max : 0.0 เพื่อให้ส่วนที่ไกลกล้อง “ดำ” (หากต้องการให้ภาพมี Contrast ขึ้นอีกสามารถใส่น้อยกว่า 0 ได้ ในเคสนี้ผมใส่ -0.2)
Render & Export กด F12 เพื่อเริ่ม Render รอจนกว่าผลลัพธ์จะแสดงจนสมบูรณ์ จากนั้นไปที่แท็บด้านบนหน้าต่าง Render เลือก Image > Save As แล้วตั้งค่าการ Save ตามนี้
- File Format : PNG (ให้ผลลัพธ์ดีกว่า Jpg)
- Color : BW หรือ RGBA (หากต้องการให้มี Alpha Chanel)
- Color Depth : 16
- Compression : 0%
**TIP** หากต้องการลดพื้นที่การเลเซอร์โดยไม่อยากให้เลเซอร์ที่ว่างรอบตัวโมเดลแนะนำให้ Render ที่ว่างเป็น Chanel Alpha โดยไปที่เมนู Render แท็บ Film ติ้กเปิด Transparent และเมื่อ Render
ให้ Save เป็น Color : RGBA
ตัวอย่างภาพ Depth Map ที่ได้จากการ Render โมเดล 3D ใน Blender
สามารถสองนำมา Stamp บน Mesh เพื่อดูผลลัพธ์ได้
สามารถใช้ Project Blender อันเดิมเพื่อนำเข้าโมเดลอื่นๆ ( จัดขนาดและตำแหน่งพอกัน ) เพื่อสร้าง Depth Map อื่นๆอีกได้
สินค้าที่เกี่ยวข้อง