Wavefront OBJ (.obj)
Wavefront תקןWavefront 3D Object (OBJ) הוא פורמט נפוץ להחלפת גיאומטריה תלת-ממדית. התמיכה בגיאומטריה, בחומרים ובמרקמים משתנה בין יישומי מידול, פיסול והדפסה.
המר OBJ ל-STL
ממיר חינמי מ-OBJ ל-STL פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי OBJ על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי OBJ על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
76 20 / 23 20ייצוג ASCII: v / #
תקינה: Wavefront Advanced Visualizer Specification
מפרט טכני
| מבנה המכולה | קובץ טקסט ASCII המגדיר קודקודים (v), קואורדינטות מרקם (vt), נורמלים (vn) ופאות מצולעות (f), ומפנה לקובצי חומרים נלווים מסוג .mtl |
| דחיסה | טקסט קריא לאדם ולא דחוס |
| סדר בתים (Endianness) | זרם טקסט UTF-8 / ASCII |
| מרחבי צבע | sRGB (מוגדר בקובץ .mtl נלווה) |
| ערוצים ומבנה | גיאומטריה מצולעת (משולשים, מרובעים ופוליגונים בעלי n צלעות), קבוצות החלקה והפניות לחומרים |
| ממדים מרביים | מרחב קואורדינטות תלת-ממדי ללא מגבלה קבועה, בנקודה צפה |
| שקיפות | אטימות (תג 'd' או 'Tr') נתמכת בקובצי חומרים נלווים מסוג .mtl |
| הזרמה ופרוגרסיביות | ניתוח רציף, שורה אחר שורה, מאפשר להציג קודקודים בהדרגה בזמן ההזרמה |
מטריצת השוואה טכנית: OBJ מול מתחרים
| תכונה טכנית | OBJ (נוכחי) | STL | GLB | PLY |
|---|---|---|---|---|
| תמיכה באנימציה | ללא (גיאומטריה סטטית לחלוטין) | ללא (משולשים סטטיים) | אנימציות שלדים מלאות | ללא (ענן נקודות / רשת סטטיים) |
| קואורדינטות מרקם (UVs) | תמיכה מלאה בקואורדינטות מרקם UV | ללא (גיאומטריה בלבד) | UVs מרובי-ערוצים מלאים | צבעי קודקוד / UVs לכל קודקוד |
| סוגי פוליגונים | משולשים, מרובעים ופוליגונים מרובי-צלעות (N-gons) | משולשים בלבד | משולשים ונקודות | משולשים ופוליגונים שרירותיים |
| סוג קובץ | טקסט ASCII קריא לבני אדם | בינארי או טקסט ASCII | מכל בינארי דחוס | טקסט בינארי או ASCII |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
מודל תלת-ממד מוצג עם תאורה הפוכה (מבפנים החוצה) או עם חורים שחורים ברשת.
גורם שורש: סדר ליפוף פאות הפוך (הקודקודים מופיעים בכיוון השעון במקום נגד כיוון השעון) הגורם לנורמלים הפוכים.
שחזור: חשבו מחדש ואחדו את הנורמלים באמצעות הכלי 3D Mesh Repair של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מנתחי קוד (Parsers) של OBJ מעבדים מספרי ASCII ואינדקסים של פאות העלולים לעורר פגיעויות של גלישת באפר או גלישת מספר שלם (Integer Overflow) בספריות C שאינן עוברות אימות.
ווקטורי תקיפה ידועים
- גלישת באפר בעת קריאת מחרוזות הגדרת פאות ארוכות במיוחד המכילות אלפי קודקודים.
- גלישת מספר שלם (Integer Overflow) במהלך הקצאת מערכי קואורדינטות קודקודים.
- מניעת שירות (DoS) באמצעות זליגת נתיבים בהצהרות קובצי חומרים נלווים מסוג 'mtllib'.
שיטות מומלצות להגנה: אכוף גבולות אינדקס קודקודים מרביים ונקה נתיבי קבצי חומר נלווים.
היסטוריה ואבני דרך
יתרונות מרכזיים
- OBJ נתמך בכלי מידול תלת-ממד רבים ובמנועי משחקים, אך התמיכה ויכולות הייצוא משתנות בין יישומים.
- טקסט ASCII קריא לבני אדם: ניתן לבדוק את הגיאומטריה, לייצר אותה באופן פרוגרמטי ולשנות אותה בכל עורך טקסט בסיסי.
- תומך בפוליגונים שרירותיים בעלי n צלעות, נורמלים חלקים ומיפוי מרקם UV מרוב-אריחים (Multi-tile UV).
מגבלות טכניות וחסרונות
- גיאומטריה סטטית בלבד: אינו יכול לאחסן שלדים, משקלי עצמות, עור (Skinning) או אנימציות.
- דורש קבצי חומרים נלווים מסוג .MTL וקבצי תמונה חיצוניים כדי להציג צבעים ומרקמים.
- עיצוב טקסט בפורמט ASCII גורם לקבצים גדולים ולזמני עיבוד איטיים בהשוואה לפורמטים בינאריים מודרניים כמו GLB.
עובדות טכניות מעניינות
- כל קודקוד בקובץ OBJ מתחיל באות הבודדת 'v', נורמלים מתחילים ב-'vn', קואורדינטות מרקם ב-'vt', ופאות ב-'f'.
- המודלים האלה זמינים בפורמטים שונים, כולל OBJ; הקובץ הזמין תלוי במקור.
- חברת Wavefront Technologies, שיצרה את פורמט OBJ בשנת 1984, הייתה אחת מחברות הגרפיקה הממוחשבת הראשונות שזכו בפרס אוסקר (Academy Award) עבור תוכנות אפקטים חזותיים.
שאלות טכניות נפוצות
מהו קובץ ה-.MTL שמצורף לקובץ .OBJ?
קובץ ה-.MTL (Material Template Library) מתאר את הצבעים, הברק, השקיפות ושמות קובצי תמונות המרקם (texture) המשמשים את המודל התלת-ממדי מסוג .OBJ.
האם אני יכול להדפיס תלת-ממד מקובץ OBJ?
כן. רוב תוכנות חיתוך השכבות המודרניות למדפסות תלת-ממד (כמו Cura ו-PrusaSlicer) מקבלות קובצי OBJ ישירות, ולעתים קרובות שומרות על צבע מלא בעת שימוש במדפסות תלת-ממד רב-צבעוניות.
איך אוכל להמיר OBJ ל-GLB או STL?
ניתן להמיר קובצי OBJ (יחד עם קובצי ה-MTL והמרקמים הנלווים אליהם) למודלי GLB מודרניים או לקובצי STL הניתנים להדפסה בתלת-ממד ישירות בדפדפן האינטרנט שלך באמצעות File2File.app.
זוגות המרה קשורים ל-OBJ
המרת קובצי Wavefront OBJ לפורמט Stereolithography STL הופכת דגמי עיצוב צבעוניים לרשתות משולשים גולמיות המוכנות להדפסת תלת-ממד.
המרת קבצי STL סטריאוליתוגרפיה לפורמט Wavefront OBJ הופכת רשתות משטחים משולשות גולמיות להגדרות גיאומטריות גמישות עם תמיכה במרקמים ובחומרים.
המרת קבצי PLY פוליגון לפורמט Wavefront OBJ הופכת נתוני סורק תלת-ממד לגיאומטריה תואמת אוניברסלית המוכנה לתוכנות מידול סטנדרטיות.
המרת קובצי גיאומטריה מסוג Wavefront OBJ למבני glTF JSON מעדכנת מודלים תלת-ממדיים סטטיים לנכסים מוכנים לווב הנטענים באופן מיידי בתוך דפדפני אינטרנט רגילים.