Wavefront OBJ (.obj)

Wavefront תקן

Wavefront 3D Object (OBJ) הוא פורמט נפוץ להחלפת גיאומטריה תלת-ממדית. התמיכה בגיאומטריה, בחומרים ובמרקמים משתנה בין יישומי מידול, פיסול והדפסה.

המר OBJ ל-STL

ממיר חינמי מ-OBJ ל-STL פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי OBJ על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (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 (נוכחי)STLGLBPLY
תמיכה באנימציהללא (גיאומטריה סטטית לחלוטין)ללא (משולשים סטטיים)אנימציות שלדים מלאותללא (ענן נקודות / רשת סטטיים)
קואורדינטות מרקם (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'.

שיטות מומלצות להגנה: אכוף גבולות אינדקס קודקודים מרביים ונקה נתיבי קבצי חומר נלווים.

היסטוריה ואבני דרך

2000נעשה נפוץ להחלפת רשתות פני שטח תלת-ממדיות בין כלי גרפיקה וכלי ייצור.
1990Wavefront מתמזגת עם Alias Research (שנרכשה מאוחר יותר על ידי Autodesk), ומבססת את מעמדו של OBJ בכל תעשיית האפקטים החזותיים בהוליווד.
1984חברת Wavefront Technologies מציגה את פורמט OBJ עבור חבילת האנימציה Advanced Visualizer.

יתרונות מרכזיים

  • 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.