File Format Docs
NO

OBJ filformat

Oppdatert

Hva er en OBJ-fil?

OBJ-filer brukes av Wavefronts Advanced Visualizer-applikasjon for å definere og lagre de geometriske objektene. Bakover og fremover overføring av geometriske data er muliggjort gjennom OBJ-filer. Både polygonal geometri som punkter, linjer, teksturpunktpunkter, flater og friformsgeometri (kurver og overflater) støttes av OBJ-format. Dette formatet støtter ikke animasjon eller informasjon relatert til lys og plassering av scener.

En OBJ-fil er vanligvis et sluttprodukt av 3D-modelleringsprosessen generert av en CAD (Computer Aided Design). Standardrekkefølgen for å lagre hjørner er mot klokken for å unngå eksplisitt erklæring om ansiktsnormaler. Selv om OBJ-filer erklærer skalainformasjon i en kommentarlinje, er det ingen enheter som er deklarert for OBJ-koordinater.

Historien om 3D OBJ-format

Wavefront Technologies opprettet OBJ-filformat for sin Advanced Visualizer-applikasjon for å lagre geometriske objekter og 3D-data. Dens versjon 2.11 er erstattet av en nylig dokumentert versjon 3. Filformatet er åpent og har blitt implementert av andre leverandører for deres 3D-grafikkapplikasjon. Wavefront Technologies holdt dette filformatet åpen kildekode og nøytral.

OBJ-filformat

I 3D-objekter er koding av overflategeometrien en utfordrende jobb som OBJ-filformatet klarte veldig bra. Dette formatet er ganske allsidig da det tilbyr en rekke valg for å kode overflategeometri. Følgende er tre tillatte formater som har sine egne fordeler og mangler:

Tessellasjon med polygonale ansikter

OBJ-filformatet gjør det lettere for brukeren å tessellate en 3D-modelloverflate ved hjelp av enkle eller komplekse geometriske former. For overflategeometrikoding av en modell, lagrer en fil toppunktene og normalen til hver polygon. Selv om tessellering øker grovheten til modellen, er det likevel nødvendig å finne den riktige balansen mellom størrelsen på en fil og utskriftskvaliteten.

Friformskurve

OBJ-filformatet lar brukerdefinerte overflatekurver i fri form spesifisere overflategeometrien til en modell. Siden friformskurver er mer komplekse enn polygonale flater siden, med få matematiske parametere, kan buede linjer best defineres av friformskurver. Derfor, med færre data sammenlignet med polygonale tesselleringer, brukes friformskurver til å generere en høykvalitetskoding av enhver 3D-modell uten å utvide filstørrelsen.

Overflater i fri form

OBJ-filformatet spesifiserer også flislegging av overflategeometri med overflatelapper i fri form. Denne typen friformede overflatelapper (NURBS) er svært egnet for overflater uten stive radielle dimensjoner som karosseri på en lastebil, vingene på helikopter eller skroget på en båt. Bruk av friformede overflater er svært fordelaktig da de er mer presise for å holde filstørrelser mindre med høyere presisjon. Disse overflatene er en viktig del av romfarts- og bilindustrien hvor den lave presisjonen er utilgivelig.

Følgende nøkkelord er ordnet etter datatype for å definere overflategeometri.

ElementsFree-form curve/surface body statementsFree-form curve/surface attributes
pPointparm
lLinetrim
fFacehole
curvCurvescrv
curv22D curvesp
surfSurfaceend
Display/render attributesgGroup name
bevelBevel interpolationshadow_obj
lodLevel of detailtrace_obj
d_interpDissolve interpolationctech
c_interpColor interpolationstech
usemtlMaterial namemtllib
Geometric vertices
vGeometric verticesvn
vtTexture verticesvp

Farge og tekstur

OBJ-fil lar farge- og teksturinformasjon lagres i et tilknyttet filformat kalt Material Template Library (MTL). Flerfargede geometriske modeller gjengir ved å bruke disse to filene sammen. MTL-filer er ASCII-baserte og letter datagjengivelse ved å beskrive lysreflekterende egenskaper til en overflate ved å bruke modellen for Phong-refleksjon. Standarden er tatt i bruk av et stort antall programvareleverandører som benytter seg av utveksling av materialer. MTL-formatet er litt utdatert for ikke å ha støtte i de nyeste teknologiene som speil- og parallaksekart.

Referanser

Se også