Vad är filformatet OBJ?
Filformatet .obj används för att lagra 3D-objekt skapade med olika design- och redigeringsprogram. Varje .obj-fil kan innehålla data som koordinater för hörnpunkter, yt-normaler, UV-texturkoordinater och referenser till externa texturbildfiler. .obj-filer innehåller ingen data om objektets miljö - det finns ingen information om ljussättning, kameror eller scenhierarki. Formatet utvecklades av Wavefront Technologies, ursprungligen utformat som en lagringsfil för deras Advanced Visualizer-applikation.
Kompatibilitet mellan OBJ- och MTL-filer
.obj-filer innehåller oftast referenser till tillhörande .mtl-filer, som beskriver varje objekts ytmaterial och relevant data. Varje .obj-fil kan referera till en eller flera .mtl-filer; utan dem renderas polygonnäten som omaskad geometri.
Användningsområden för OBJ-formatet
.obj är ett öppet format med brett stöd och anses vara en de facto-standard för utbyte av 3D-objekt. Eftersom det är ren ASCII-text är .obj-filer läsbara för människor och enkla att tolka, vilket är anledningen till att i stort sett all CAD- och 3D-redigeringsprogramvara erbjuder möjligheter att importera och exportera data i detta format. Under de senaste åren, i takt med att 3D-utskriftstekniken vuxit, har .obj blivit ännu mer populärt - särskilt som det föredragna formatet för utskriftsflöden med flera färger och material. Det används ofta tillsammans med .stl och .ply i additiva tillverkningsprocesser, och alltmer som ett källformat för konvertering till moderna utbytesformat som .gltf.
Säkerhet & trygghet
RISK: LOWEn OBJ är geometridata i klartext - den innehåller ingen exekverbar kod och kan inte köra någonting, så det är säkert att öppna en sådan fil. De enda praktiska problemen är icke-skadliga: mycket stora nät med många polygoner (t.ex. 3D-skanningar) kan vara långsamma att ladda, och en texturerad OBJ behöver sin tillhörande .mtl och bildfiler för att inte visas som grå. Som alltid bör du bara lita på filtillägget efter att ha kontrollerat det - en fil som utger sig för att vara «modell.obj» men som egentligen är en körbar fil utgör den verkliga risken, inte själva OBJ-formatet.
Formatdetaljer
i ett nötskal- COFF-objektfil (.obj) - En kompilerad objektfil som skapas som ett mellansteg vid bygge av C/C++-kompilatorer, helt orelaterad till 3D-modellformatet.
Program som öppnar OBJ-filer
Tekniska detaljer
djup specifikation| Filkodning | Ren ASCII-text; UTF-8-kompatibel, inga binära sektioner |
| Filsignatur (magic bytes) | Ingen - identifieras via radstart-tokens: `v ` (hörnpunkt), `vt ` (UV-koord), `vn ` (normal), `f ` (yta), `mtllib` |
| MIME-typ | `model/obj` |
| Koordinatsystem | Högerhänt; Y-upp enligt konvention (vissa exportörer använder Z-upp) |
| Geometriska primitiver | Hörnpunkter (`v`), UV-texturkoordinater (`vt`), normaler (`vn`), ytor (`f`), linjer (`l`), punkter (`p`) |
| Polygontyper | Trianglar, fyrhörningar (quads) och godtyckliga n-goner (polygoner med valfritt antal hörn per yta) |
| Indexbas | 1-baserade heltalsindex; negativa värden tillåtna som relativa (omvända) referenser |
| Materialreferenser | Externa `.mtl`-filer deklarerade med `mtllib`; appliceras per nätgrupp via `usemtl` |
| Objekt/gruppstruktur | Namngivna objekt (nyckelordet `o`) och grupper (nyckelordet `g`) tillåter nät i flera delar i en och samma fil |
| Texturmappning | UV-koordinater lagrade som `vt`-poster; sökvägar till texturbildfiler definieras i den tillhörande `.mtl`-filen |
| Friformsgeometri | Valfria NURBS-kurvor och B-spline-ytor via nyckelorden `curv` / `surf` - implementeras sällan i praktiken |
| Stöd för animering | Inget - endast statisk geometri; animering kräver externa format (FBX, glTF) |
| Scendata | Ingen ljussättning, kameror eller scenhierarki; formatet lagrar endast geometri |
| Komprimering | Okomprimerad klartext; filer komprimeras effektivt med ZIP eller gzip |
| Lämplighet för 3D-utskrift | Allmänt accepterat av slicer-programvara; föredras framför STL för FDM-utskrift med flera färger/material |
| Interoperabilitet | Stöds nativt av Blender, Autodesk Maya, Cinema 4D, ZBrush, SolidWorks och de flesta CAD/DCC-verktyg |
| Släppt | Late 1980s (Wavefront Technologies, for The Advanced Visualizer) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | paulbourke.net |