מהו קובץ OBJ?
קבצי OBJ משמשים את היישום Advanced Visualizer של Wavefront כדי להגדיר ולאחסן את האובייקטים הגיאומטריים. העברה אחורה וקדימה של נתונים גיאומטריים מתאפשרת באמצעות קבצי OBJ. שני גיאומטריה מצולעים כמו נקודות, קווים, קודקודי מרקם, פנים וגיאומטריה בצורה חופשית (עקומות ומשטחים) נתמכות על ידי פורמט OBJ. פורמט זה אינו תומך באנימציה או מידע הקשור לאור ומיקום הסצנות.
קובץ OBJ הוא בדרך כלל תוצר סופי של תהליך המודלים התלת מימדיים שנוצר על ידי CAD (עיצוב בעזרת מחשב). סדר ברירת המחדל לאחסון קודקודים הוא נגד כיוון השעון הימנעות מהכרזה מפורשת של נורמלי פנים. למרות שקובצי OBJ מצהירים על מידע קנה מידה בשורת הערות, עדיין לא הוכרזו יחידות עבור קואורדינטות OBJ.
היסטוריה של 3D OBJ פורמט
Wavefront Technologies יצרה פורמט קובץ OBJ עבור היישום Advanced Visualizer שלה לאחסון אובייקטים גיאומטריים ונתוני תלת מימד. גרסה 2.11 שלו מוחלפת על ידי גרסה 3 שתועדה לאחרונה. פורמט הקובץ פתוח והיושם על ידי ספקים אחרים עבור יישום הגרפיקה התלת מימדית שלהם. Wavefront Technologies שמרה על פורמט קובץ זה בקוד פתוח ונייטרלי.
פורמט קובץ OBJ
באובייקטים תלת מימדיים, קידוד גיאומטריית פני השטח הוא עבודה מאתגרת שפורמט קובץ OBJ השיג היטב. פורמט זה הוא די תכליתי מכיוון שהוא מציע מספר אפשרויות לקידוד גיאומטריית פני השטח. להלן שלושה פורמטים מותרים בעלי יתרונות וחסרונות משלהם:
טסל עם פנים מצולעים
פורמט הקובץ OBJ מקל על המשתמש להדביק משטח מודל תלת מימדי באמצעות צורות גיאומטריות פשוטות או מורכבות. עבור קידוד גיאומטריית פני השטח של מודל, קובץ מאחסן את הקודקודים והנורמליים לכל מצולע. למרות שהטססלציה מגדילה את הגסות למודל, עדיין יש צורך לגלות את האיזון הנכון בין גודל הקובץ לאיכות ההדפסה שלו.
עקומת צורה חופשית
פורמט קובץ OBJ מאפשר לעקומות פני השטח בצורה חופשית המוגדרים על ידי המשתמש לציין את גיאומטריית פני השטח של מודל. מכיוון שעקומות צורה חופשיות מורכבות יותר מפרצופים מצולעים שכן, עם מעט פרמטרים מתמטיים, ניתן להגדיר בצורה הטובה ביותר קווים מעוקלים על ידי עקומות צורה חופשית. לכן, עם פחות נתונים בהשוואה לצולעים מצולעים, עקומות בצורה חופשית משמשות ליצירת קידוד באיכות גבוהה של כל מודל תלת-ממדי מבלי להרחיב את גודל הקובץ.
משטחים בעלי צורה חופשית
פורמט קובץ OBJ מציין גם את הריצוף של גיאומטריית פני השטח עם כתמי פני השטח בצורה חופשית. סוג זה של טלאי משטח חופשי (NURBS) מתאים מאוד למשטחים ללא ממדים רדיאליים קשיחים כמו גוף של משאית, כנפי מסוק או גוף סירה. שימוש במשטחים בצורה חופשית הוא יתרון מאוד מכיוון שהם מדויקים יותר כדי לשמור על גודל קבצים קטנים יותר בדייקנות גבוהה יותר. משטחים אלה הם חלק חיוני מתעשיית התעופה והרכב, שבה הדיוק הנמוך אינו סלחן.
מילות המפתח הבאות מסודרות לפי סוג נתונים כדי להגדיר את גיאומטריית פני השטח.
אלמנטים | הצהרות של עקומה/גוף משטח בצורה חופשית | תכונות של עקומה/משטח בצורה חופשית |
---|---|---|
p | נקודה | parm |
l | קו | גיזום |
f | פנים | חור |
curv | עקומה | scrv |
curv2 | 2D curve | sp |
surf | Surface | end |
תכונות תצוגה/עיבוד | g | שם קבוצה |
bevel | אינטרפולציה משופעת | shadow_obj |
lod | רמת פירוט | trace_obj |
d_interp | המס אינטרפולציה | ctech |
c_interp | אינטרפולציה של צבעים | stech |
usemtl | שם החומר | mtllib |
קודקודים גיאומטריים | ||
v | קודקודים גיאומטריים | vn |
vt | קודקודי מרקם | vp |
צבע ומרקם
קובץ OBJ מאפשר לאחסן מידע על צבע ומרקם בפורמט קובץ משויך הנקרא ספריית תבניות החומר (MTL). דגמים גיאומטריים מרובי צבעים מעבדים באמצעות שני קבצים אלה יחד. קבצי MTL מבוססים על ASCII ומקלים על עיבוד מחשב על ידי תיאור תכונות מחזירי אור של משטח באמצעות המודל של השתקפות Phong. התקן אומץ על ידי מספר רב של ספקי תוכנה המנצלים את היתרון שלו להחלפת חומרים. פורמט MTL מיושן מעט בגלל שאין לו תמיכה בטכנולוגיות העדכניות ביותר כגון מפות ספקולריות ומפות פרלקסה.