Blenderโดย milo อ่าน 6 นาทีเรียบเรียงโดยมี AI ช่วย

กำจัดปัญหา Non-Manifold ใน Blender ก่อนพิมพ์ 3D ให้สำเร็จทุกครั้ง

โมเดลพังทุกครั้งที่ส่งไปพิมพ์ 3D? ปัญหาอาจอยู่ที่ Non-Manifold Geometry มาดูวิธีตรวจจับและแก้ไขใน Blender แบบเข้าใจง่ายกัน

สารบัญ

เคยส่งไฟล์ไปพิมพ์ 3D แล้วเครื่องพิมพ์ทำงานบ้าไหม? บางครั้งเส้นพลาสติกพันกันเป็นก้อน ไม่เป็นรูปทรงที่เราตั้งใจ หรือบางครั้งก็พิมพ์ออกมาแล้วชิ้นงานขาดวิ่น หายไปครึ่งหนึ่ง จริงๆ แล้ว 90% ของปัญหานี้ไม่ได้เกิดจากเครื่องพิมพ์หรือ Slicer แต่เกิดจาก "Non-Manifold Geometry" หรือเรขาคณิตที่ไม่สมบูรณ์ในโมเดลของเราเอง

Non-Manifold คืออะไร? ทำไมพิมพ์ 3D ถึงเจอปัญหา?

ในโลกของ 3D Modeling คำว่า Manifold หมายถึงรูปทรงที่มีความสมบูรณ์แบบทึบ ไม่มีรอยรั่ว ลองนึกภาพว่าถ้าเราเทน้ำเข้าไปในโมเดลนั้น น้ำจะไม่สามารถไหลออกได้ และถ้าเราทำกล่องใน Blender แล้วลบหน้าด้านหน้าออก กล่องนั้นก็จะกลายเป็น Non-Manifold ทันที เพราะมีรอยรั่ว

เครื่องพิมพ์ 3D หรือซอฟต์แวร์ Slicer อย่าง Cura หรือ PrusaSlicer ทำงานโดยคำนวณหาว่าด้านไหนคือ "ด้านใน" และด้านไหนคือ "ด้านนอก" ของโมเดล ถ้าโมเดลมีรอยรั่วหรือพื้นผิวซ้อนทับกัน Slicer จะไม่เข้าใจว่าจะเริ่มพิมพ์เปลือก (Shell) ได้อย่างไร สุดท้ายก็อาจจะพิมพ์ออกมาเป็นเส้นสุม หรือพิมพ์ไม่ออกเลย

วิธีตรวจจับ Non-Manifold ใน Blender

Blender มีเครื่องมือในตัวที่ช่วยให้เราตรวจสอบปัญหานี้ได้ง่ายมาก ทำตามขั้นตอนนี้ได้เลย:

  1. เข้าสู่ Edit Mode (กดปุ่ม Tab)
  2. กด A เพื่อเลือกพื้นผิวทั้งหมด (Select All)
  3. ไปที่เมนูด้านบน Select > Select All by Trait > Non-Manifold (หรือกด快捷键 Shift + G แล้วเลือก Non-Manifold)
  4. ส่วนที่เป็นปัญหาจะถูกไฮไลต์ให้เห็นเป็นสีแดงหรือสีส้มทันที

ถ้าหน้าจอไม่มีอะไรถูกเลือกเลย แสดงว่าโมเดลของคุณสมบูรณ์แบบไร้รอยรั่ว! แต่ถ้ามีจุดหรือเส้นโผล่มาให้เห็น มาดูวิธีจัดการกันต่อ

ประเภทของ Non-Manifold ที่มักเจอบ่อย

ปัญหา Non-Manifold ไม่ได้มีแค่แบบเดียว การรู้ว่าเจอปัญหาแบบไหนจะช่วยให้เราแก้ไขได้ถูกจุด

1. รอยรั่ว (Holes)

เกิดจากการลบ Face ทิ้งโดยไม่ได้ปิดท้าย เช่น ทำท่อยาวๆ แล้วลืมปิดปลายท่อ

2. พื้นผิวซ้อนทับกัน (Internal Faces)

เกิดจากการเชื่อมวัตถุสองชิ้นเข้าด้วยกัน แต่ลืมลบหน้าด้านในที่ทับซ้อนกันออกก่อน เช่น เอาลูกบอลสองลูกมาแช่ทับกัน ทำให้มีพื้นผิวอยู่ด้านในโมเดล

3. จุดยอดหลายเส้นตัดกัน (Non-Manifold Vertices/Edges)

เกิดจากจุดยอด (Vertex) หรือเส้นขอบ (Edge) หลายเส้นมาตัดกันแบบไม่สม่ำเสมอ เช่น เอาเส้นมาต่อกับพื้นผิวโดยไม่ได้เชื่อมจุดยอดให้ตรงกัน

วิธีแก้ไขข้อผิดพลาดแบบเจาะจง

เมื่อเราตรวจพบและรู้ประเภทของปัญหาแล้ว การแก้ไขใน Blender ทำได้ไม่ยากอย่างที่คิด

1. ปิดรอยรั่วด้วย Grid Fill หรือ F

ถ้าเจอรอยรั่วที่เป็นรูเปิด ให้เลือกเส้นขอบ (Edge) รอบรูเปิดนั้น แล้วกด F เพื่อสร้าง Face ปิดท้าย ถ้ารูเปิดเป็นรูปวงกลมหรือมีเส้นขอบเยอะ แนะนำให้ใช้ Grid Fill (กด F แล้วเลือก Grid Fill) เพื่อให้พื้นผิวที่ปิดมี Topology ที่สวยงามและไม่เป็นรูปสามเหลี่ยมจั๊กจั่น

2. ลบพื้นผิวที่ซ้อนกันทิ้ง

ถ้าเจอ Internal Faces ให้เลือกส่วนที่ไฮไลต์แล้วกด X หรือ Delete เลือก Faces ทิ้งไปได้เลย ข้อควรระวังคือต้องมั่นใจว่าลบแค่หน้าด้านในที่ทับซ้อนกันจริงๆ ไม่ใช่หน้าด้านนอกของโมเดล

3. ใช้ Merge by Distance จัดการจุดซ้ำซ้อน

บางครั้งปัญหาเกิดจากจุดยอดที่ซ้อนทับกันแต่ไม่ได้ Merge กัน ให้กด A เลือกทั้งหมด แล้วกด M เลือก By Distance ปรับระยะ (Merge Distance) ให้น้อยๆ ประมาณ 0.0001m จนจุดที่ซ้อนกันจะถูกยุบเป็นจุดเดียว

4. ใช้ Add-on: 3D Print Toolbox

ถ้าทำโมเดลเพื่อพิมพ์ 3D บ่อยๆ ขอแนะนำให้เปิดใช้งาน Add-on ที่มาพร้อม Blender ชื่อว่า 3D Print Toolbox

  • ไปที่ Edit > Preferences > Add-ons
  • ค้นหา "3D Print" แล้วติ๊กถูกเปิดใช้งาน
  • ในหน้าต่าง N (กด N ข้างจอ) จะมีแท็บ 3D-Print โผล่มา
  • คุณสามารถกดปุ่ม Check All เพื่อให้ Blender สรุปปัญหาทั้งหมดให้ดูแบบรวดเร็ว และมีปุ่ม Clean Up ให้กดแก้ไขอัตโนมัติได้

กรณีศึกษา: โมเดลตัวละคร Low Poly ที่พิมพ์ไม่ออก

เมื่อสัปดาห์ก่อน มีเพื่อนในคอมมูนิตี้ส่งโมเดลตัวละคร Low Poly ไปพิมพ์ 3D แต่แขนของตัวละครพิมพ์ออกมาไม่ติดกับลำตัว และมีเส้นพลาสติกวุ่นวายบริเวณหัวไหล่

เมื่อเอาโมเดลมาเปิดใน Blender และตรวจสอบด้วย Non-Manifold Selection พบว่าบริเวณที่แขนเชื่อมกับลำตัว มีพื้นผิว (Internal Faces) ของลำตัวและแขนที่ซ้อนทับกันอยู่ด้านใน เพราะตอนโมเดลเขาแค่เอาแขนมาทับลำตัวแล้ว Join Object โดยไม่ได้ทำ Boolean หรือลบ Face ด้านในออก

วิธีแก้คือ เข้าไปลบ Face ด้านในบริเวณที่ทับซ้อนกันออกให้หมด จากนั้นเลือกเส้นขอบรอบรู้รอยต่อแล้ว Bridge Face Loops หรือกด F เพื่อเชื่อมพื้นผิวให้สมบูรณ์ สุดท้ายกด Merge by Distance เพื่อรวมจุดยอดที่ซ้อนกัน หลังจากนั้นส่งไปพิมพ์ 3D ก็ออกมาสวยเป๊ะแขนติดลำตัวแน่นหนา

สรุปและขั้นตอนต่อไป

การตรวจสอบโมเดลให้เป็น Manifold ก่อนส่งออกไฟล์ STL หรือ OBJ เป็นนิสัยที่ดีที่นักโมเดลเลอร์ 3D มืออาชีพทุกคนควรมี มันช่วยประหยัดเวลาพิมพ์ทดลอง ประหยัดเส้นพลาสติก และทำให้ชิ้นงานออกมาสมบูรณ์ทุกครั้ง

ลองเปิด Blender แล้วเช็คโมเดลเก่าๆ ที่เคยพิมพ์ไม่ออกของคุณดูสิ อาจจะพบว่ามีรอยรั่วซ่อนอยู่ก็ได้ แล้วอย่าลืมแชร์ทริคหรือโมเดลที่พิมพ์สำเร็จหลังจากใช้วิธีนี้มาอวดกันในคอมเมนต์ได้เลยนะ หรือถ้ามีปัญหาติดขัดส่วนไหน โพสต์ถามกันได้ในคอมมูนิตี้เลย เราช่วยกันดู!

เนื้อหาที่จัดทำโดยมี AI ช่วยจะมีป้ายกำกับ "เรียบเรียงโดยมี AI ช่วย" เพื่อให้คุณทราบอย่างชัดเจน เราถือว่าความโปร่งใสเรื่องการใช้ AI เป็นสิ่งสำคัญต่อความไว้วางใจของผู้อ่าน

พบข้อมูลที่ไม่ถูกต้องหรือคลาดเคลื่อน?เข้าสู่ระบบเพื่อทักท้วง
บทความนี้เป็นอย่างไร?

ยังไม่มีความคิดเห็น — มาเป็นคนแรกกันเถอะ!