SupaVoxel
Wavefront สู่ binary glTF

ตัวแปลง OBJ เป็น GLB

ลาก .obj พร้อม .mtl และไฟล์พื้นผิวมาวาง หรือจะใช้ .zip ไฟล์เดียวก็ได้ แล้วดาวน์โหลด GLB ไฟล์เดียวที่โหลดได้ใน three.js, model-viewer, Godot, Unity และ Android AR ตั้งหน่วยก่อนเอ็กซ์พอร์ต เพื่อให้โมเดลแสดงขนาดได้ถูกต้อง ทั้งหมดทำงานบนอุปกรณ์ของคุณ

  • อ่าน `.mtl` และไฟล์พื้นผิวได้
  • แก้หน่วยให้ตอนเอ็กซ์พอร์ต
  • ไม่อัปโหลดขึ้นเซิร์ฟเวอร์
  • ฟรี ไม่ต้องสมัคร
อัปเดต ตุลาคม 2569

วิธีแปลง OBJ เป็น GLB

  1. 01

    เปิด OBJ พร้อมไฟล์ประกอบให้ครบ

    เลือก .obj, .mtl และไฟล์ภาพพื้นผิวมาพร้อมกัน แล้วลากเข้ามาทีเดียว หรือจะหย่อน .zip ไฟล์เดียวก็ได้ แผงด้านข้างจะยืนยันว่าโหลดอะไรมาบ้างใต้หัวข้อ Also read ควอดและ n-gon จะถูกแบ่งเป็นสามเหลี่ยมตั้งแต่ตอนอ่านไฟล์ และแผงจะแสดงจำนวนออบเจกต์และกลุ่มที่มีอยู่ใต้หัวข้อ เมช
  2. 02

    บอกหน่วยให้ตัวแปลงรู้

    OBJ ไม่ได้บันทึกหน่วยเอาไว้ ตัวแปลงจะถือว่าเป็นเมตรตามธรรมเนียมของ glTF ถ้าโมเดลทำมาเพื่อการพิมพ์หรือทำใน ZBrush และเป็นมิลลิเมตร ให้ตั้ง หน่วยไฟล์ เป็น mm ค่า ขนาดเอาต์พุต หน่วยเมตรจะอัปเดตทันทีที่คลิก
  3. 03

    เอ็กซ์พอร์ตเป็น GLB

    กด แปลงเป็น GLB คุณจะได้ .glb หนึ่งไฟล์ที่มีเรขาคณิต นอร์มอล UV และสีของจุดยอด รวมอยู่ในไฟล์ไบนารีเดียว พร้อมขนาดไฟล์ก่อนและหลังแปลง

สีและพื้นผิวของ OBJ: อย่าลืมพา .mtl มาด้วย

OBJ แทบไม่เคยเดินทางมาไฟล์เดียว สีของมันอยู่ใน .mtl แยกต่างหาก ซึ่งระบุชื่อไว้ในบรรทัด mtllib ของ OBJ ส่วนพื้นผิวอยู่ในไฟล์ภาพที่วางอยู่ข้าง ๆ ถ้าส่งให้ตัวแปลงครบทุกไฟล์ GLB จะรวมทุกอย่างไว้ในไฟล์เดียว: สีจาก Kd และพื้นผิวจาก map_Kd จะกลายเป็น base color ของ GLB แผนที่ norm หรือ map_Bump ที่ชื่อไฟล์บอกว่าเป็น normal map (_normal, _nrm, _nor, _n) จะกลายเป็น normal texture ของ GLB ส่วน height map ขาวดำธรรมดา ๆ จะไม่ถูกพามาด้วย ระบบอ่านภาพได้ทั้ง PNG, JPG และ TGA

ไฟล์จะถูกจับคู่กันด้วยชื่อเท่านั้น ดังนั้น .mtl ที่ชี้ไปที่ C:\Users\...\wood.png หรือโฟลเดอร์ย่อย textures/ ก็ยังหา wood.png เจอ ถ้าลากมาแค่ .obj ไฟล์เดียว มันก็ยังแปลงได้ แต่จะออกมาเป็นสีเทา และจะมีข้อความเตือนสีเหลืองอำพันบอกว่าไฟล์ไหนยังไม่ได้ใส่มา การลากทั้งโฟลเดอร์ยังไม่รองรับ ให้เลือกไฟล์ข้างในหรือบีบอัดเป็น zip แทน OBJ จากงานสแกน งานปั้น หรือเว็บไซต์แจกโมเดลพิมพ์ 3D มักไม่มี .mtl เลย ซึ่งกรณีนั้นก็ไม่มีอะไรต้องเพิ่ม

การแปลง OBJ เป็น GLB เก็บอะไรไว้บ้าง

ข้อมูลใน OBJผลลัพธ์ GLB
เรขาคณิต v / f ควอด และ n-gonเก็บไว้ แปลงเป็นสามเหลี่ยมแล้ว
o objects และ g groupsเก็บเป็นเมชแยกชิ้น
พิกัดพื้นผิว vtเก็บไว้ พร้อมใส่พื้นผิวทีหลัง
นอร์มอล vnเก็บไว้ ถ้าไม่มีจะคำนวณแบบ smooth ให้
สีของจุดยอด (v x y z r g b)เก็บเป็น vertex color ของ glTF
สีและไฟล์ภาพพื้นผิวจาก .mtlเก็บไว้ถ้าส่งมาด้วย ถ้าไม่ส่งมาจะเป็นสีเทา

อยากแปลงย้อนกลับ? GLB เป็น OBJ จะเขียนไฟล์ .obj, .mtl และพื้นผิวออกมาเป็น zip

OBJ กับ GLB ต่างกันอย่างไร

OBJ เป็นฟอร์แมตกลางที่ปลอดภัยมานานตั้งแต่ต้นทศวรรษ 1990 ส่วน GLB คือฟอร์แมตส่งมอบสมัยใหม่ที่ออกแบบมาให้โหลดเร็ว

OBJ
ข้อความล้วน จาก Wavefront Technologies มีเรขาคณิต UV และนอร์มอล ส่วนวัสดุอยู่ใน .mtl แยกต่างหาก
GLB
ไบนารี glTF 2.0 จาก Khronos Group รวมเรขาคณิต วัสดุ PBR พื้นผิว และแอนิเมชันไว้ในไฟล์เดียว
ขนาดไฟล์
OBJ แบบข้อความมักมีขนาดใหญ่กว่าเมชเดียวกันในรูปแบบ GLB หลายเท่า
หน่วย
OBJ: ไม่มี GLB: เมตร
แอนิเมชัน
OBJ: ไม่มี รองรับแค่เมชนิ่ง GLB: ตัวละครมีริก รองรับ shape key และคลิปคีย์เฟรม
ที่ที่ต้องใช้ GLB
ฉาก three.js และ Babylon.js, <model-viewer>, Android Scene Viewer, Shopify และมาร์เก็ตเพลส 3D อีกหลายแห่ง

เคล็ดลับก่อนส่งไฟล์ GLB

ควรทำ
  • ลดขนาดไฟล์ด้วย ตัวบีบอัด GLB ถ้าจะเอาไปใช้บนเว็บไซต์
  • เช็กสเกลในวิวเวอร์ ตัวละครสูง 1.8 ม. ควรแสดงความสูงประมาณ 1.8 ม.
  • รวมออบเจกต์ชิ้นเล็ก ๆ ในโปรแกรม 3D ก่อน ถ้า OBJ มีหลายร้อยกลุ่ม เพราะแต่ละกลุ่มจะกลายเป็นเมชหนึ่งชิ้น
  • เปิดดู OBJ ใน OBJ viewer ถ้าต้นฉบับดูแปลก ๆ
หลีกเลี่ยง
  • ลืม .mtl กับไฟล์ภาพไป GLB จะออกมาเป็นสีเทา
  • ปล่อย OBJ หน่วยมิลลิเมตรไว้ที่ค่าเริ่มต้นเป็นเมตร โมเดลจะใหญ่เกินจริง 1,000 เท่า
  • เอาประติมากรรม 2 ล้านสามเหลี่ยมไปใช้บนมือถือ ลดจำนวนลงก่อนด้วย ตัวลดจำนวนเมช
  • เปลี่ยนชื่อ .obj เป็น .glb เองด้วยมือ สองฟอร์แมตนี้ใช้แทนกันไม่ได้

FAQ

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

แปลง OBJ เป็น GLB ฟรีได้ยังไง?

ลากไฟล์ .obj มาวางบนตัวแปลงด้านบน ตั้งหน่วยไฟล์ถ้าไม่ใช่เมตร แล้วกด Convert to GLB ฟรี ไม่ต้องสมัครบัญชี และการแปลงทำงานในเบราว์เซอร์ทั้งหมด ไฟล์จึงไม่ถูกอัปโหลด รองรับไฟล์สูงสุด 200 MB

ทำไม GLB ของฉันเป็นสีเทาทั้งที่ OBJ มีสี?

สีและพื้นผิวอยู่ในไฟล์ .mtl และไฟล์ภาพของมัน แต่คุณลากมาวางแค่ .obj เลือก .obj, .mtl และไฟล์พื้นผิวมาพร้อมกัน หรือบีบอัดเป็น zip แล้วลาก .zip มาวาง ข้อความเตือนสีเหลืองอำพันใต้โมเดลจะบอกว่าไฟล์อะไรยังขาดอยู่ ค่าตั้งแบบ Phong เก่า ๆ อย่างเงาสะท้อน specular ไม่สามารถแมปเข้ากับวัสดุ PBR ของ glTF ได้เป๊ะ จึงต้องเผื่อความต่างเล็ก ๆ น้อย ๆ ไว้

ทำไมโมเดลของฉันใหญ่หรือเล็กเกินไปใน three.js?

OBJ ไม่มีหน่วย และ GLB กำหนดหน่วยเป็นเมตร โมเดลที่เอ็กซ์พอร์ตเป็นมิลลิเมตร ซึ่งพบบ่อยในไฟล์พิมพ์ 3D จะใหญ่เกินจริง 1,000 เท่าถ้าถูกตีความเป็นเมตร ตั้ง File units เป็น mm หรือ cm ก่อนแปลง แล้วตรวจว่า Output size ตรงกับขนาดจริงของวัตถุ

GLB ยังแยกออบเจกต์ไว้ไหม?

ใช่ ทุก o object และ g group ใน OBJ จะกลายเป็นเมชของตัวเองใน GLB คุณจึงยังซ่อน ย้าย หรือกำหนดวัสดุให้แต่ละชิ้นในเอนจินหรือใน Blender ได้ ตัวแปลงจะแสดงจำนวนชิ้นใต้ Meshes ก่อนคุณเอ็กซ์พอร์ต

GLB ดีกว่า OBJ ไหม?

ถ้าใช้ส่งมอบงาน ถือว่าดีกว่า GLB เป็นไบนารีจึงเล็กกว่าและโหลดเร็วกว่า เก็บหน่วยและวัสดุ PBR ได้ และฝังพื้นผิวไว้ในไฟล์เดียวได้ ส่วน OBJ ยังเป็นฟอร์แมตแก้ไขที่อ่านได้กว้างที่สุด หลายคนเก็บ OBJ ไว้เป็นไฟล์ต้นฉบับแล้วส่งมอบเป็น GLB

ใช้ GLB ใน Unity, Godot หรือ Unreal ได้ไหม?

Godot อิมพอร์ต GLB ได้ในตัว Unity ต้องใช้แพ็กเกจอิมพอร์ต glTF อย่าง glTFast ส่วน Unreal มีตัวอิมพอร์ต glTF ในตัว สเกลส่งมาถูกต้องทั้งสามตัว เพราะ GLB กำหนดหน่วยเป็นเมตรและตัวอิมพอร์ตแต่ละตัวแปลงจากเมตรเป็นหน่วยของตัวเอง ดูการตั้งค่าการอิมพอร์ตเฉพาะเอนจินได้ที่คู่มือ Unity และ Godot

เครื่องมือและคู่มือที่เกี่ยวข้อง

อ่านต่อ

เริ่มใช้ฟรี

ยังไม่มีโมเดลให้แปลงใช่ไหม?

สร้างจากรูปถ่ายได้ในสตูดิโอ โมเดลที่ไม่มีพื้นผิวมักเสร็จในไม่ถึงหนึ่งนาที และดาวน์โหลดเป็น GLB ได้ในแพ็กเกจฟรี

ไม่ต้องใช้บัตรเครดิต · เริ่มต้นฟรี 3 เครดิต