Wavefront OBJ (.obj)

Wavefront Standaard

Wavefront 3D Object (OBJ) is een veelgebruikt uitwisselingsformaat voor 3D-geometrie. De ondersteuning voor de geometrie, materialen en texturen verschilt per modelleer-, sculpteer- en printtoepassing.

OBJ naar STL converteren

Gratis OBJ-naar-STL-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen OBJ-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen OBJ-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

76 20 / 23 20

ASCII-WEERGAVE: v / #

Standaardisatie: Wavefront Advanced Visualizer Specification

Technische specificaties

ContainerarchitectuurASCII-tekstbestand dat hoekpunten (v), textuurcoördinaten (vt), normalen (vn) en veelhoekige vlakken (f) definieert en verwijst naar bijbehorende .mtl-bestanden met materialen
CompressieNiet-gecomprimeerde, leesbare tekst
Bytevolgorde (endianness)UTF-8 / ASCII-tekststroom
KleurruimtensRGB (gedefinieerd in het bijbehorende .mtl-bestand)
Kanalen en structuurPolygoongeometrie (driehoeken, vierhoeken, n-gons), afvlakgroepen en materiaalverwijzingen
Maximale afmetingenOnbegrensde 3D-coördinatenruimte met drijvende komma
TransparantieOndoorzichtigheid ('d'- of 'Tr'-tag) wordt ondersteund in bijbehorende .mtl-bestanden met materialen
Streaming en progressiefSequentiële regel-voor-regel-verwerking maakt progressieve streamingweergave van hoekpunten mogelijk

Technische vergelijkingsmatrix: OBJ versus concurrenten

Technisch kenmerkOBJ (Huidig)STLGLBPLY
Animatie-ondersteuningGeen (strikt statische geometrie)Geen (statische driehoeken)Volledige skeletanimatiesGeen (alleen statische puntenwolk of mesh)
Textuurcoördinaten (UV's)Volledige ondersteuning voor UV-textuurcoördinatenGeen (alleen geometrie)Volledige UV's met meerdere kanalenKleuren per hoekpunt / UV's
PolygoontypenDriehoeken, vierhoeken en n-gonsAlleen driehoekenDriehoeken en puntenDriehoeken en willekeurige polygonen
BestandstypeLeesbare ASCII-tekstBinair of ASCII-tekstCompacte binaire containerBinair of ASCII-tekst

Veelvoorkomende beschadigingen en gids voor hex-herstel

Het 3D-model wordt weergegeven met binnenstebuiten belichting of zwarte gaten in de mesh.

Oorzaak: Omgekeerde volgorde van de hoekpunten van vlakken (met de klok mee in plaats van tegen de klok in), waardoor de normalen omgekeerd zijn.

Herstel: Bereken de normalen opnieuw en maak ze uniform met 3D Mesh Repair van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

OBJ-parsers verwerken ASCII-getallen en vlakindexen die buffer-overflow- of integer-overflowkwetsbaarheden kunnen veroorzaken in niet-gevalideerde C-bibliotheken.

Bekende aanvalsvectoren

  • Buffer-overflow bij het lezen van extreem lange definities van vlakken met duizenden hoekpunten.
  • Integer-overflow tijdens toewijzing van hoekpuntcoördinatenarrays.
  • Denial-of-service door padtraversal in declaraties van bijbehorende 'mtllib'-materiaalbestanden.

Aanbevolen beveiligingspraktijken: Dwing maximale grenzen voor hoekpuntindexen af en controleer de paden naar bijbehorende materiaalbestanden.

Historische oorsprong en mijlpalen

2000Wordt veel gebruikt voor het uitwisselen van 3D-oppervlaktemeshes tussen grafische en productietools.
1990Wavefront fuseert met Alias Research (later overgenomen door Autodesk), waardoor OBJ stevig verankerd raakt in de Hollywood-VFX-sector.
1984Wavefront Technologies introduceert OBJ voor het animatiepakket Advanced Visualizer.

Belangrijkste voordelen

  • OBJ wordt ondersteund door veel 3D-modelleertools en game-engines, maar de ondersteuning en exportfuncties variëren per toepassing.
  • Voor mensen leesbare ASCII-tekst: geometrie kan worden bekeken, programmatisch gegenereerd en aangepast in elke eenvoudige teksteditor.
  • Ondersteunt willekeurige veelhoeken met n zijden, vloeiende normalen en UV-textuurmapping met meerdere tegels.

Technische beperkingen

  • Alleen statische geometrie: kan geen skeletrigging, botgewichten, skinning of animaties opslaan.
  • Vereist bijbehorende .MTL-bestanden met materialen en externe afbeeldingsbestanden om kleuren en texturen weer te geven.
  • ASCII-tekstindeling zorgt voor grote bestandsgrootten en traag inlezen in vergelijking met moderne binaire formaten zoals GLB.

Interessante technische weetjes

  • Elk hoekpunt in een OBJ-bestand begint met de enkele letter 'v', normalen beginnen met 'vn', textuurcoördinaten met 'vt' en vlakken met 'f'.
  • Deze bekende testmodellen zijn beschikbaar in meerdere formaten; OBJ is een optie en het geleverde bestand hangt af van de bron.
  • Wavefront Technologies, dat OBJ in 1984 ontwikkelde, was een van de allereerste computergraphicsbedrijven die een Academy Award won voor software voor visuele effecten.

Veelgestelde technische vragen

Wat is het .MTL-bestand dat bij een .OBJ-bestand wordt geleverd?

Het .MTL-bestand (Material Template Library) beschrijft de kleuren, glans, transparantie en textuurafbeeldingsbestandsnamen die door het .OBJ 3D-model worden gebruikt.

Kan ik een OBJ-bestand 3D-printen?

Ja. De meeste moderne 3D-printerslicers (zoals Cura en PrusaSlicer) accepteren OBJ-bestanden direct, waarbij vaak de volledige kleur behouden blijft bij het gebruik van meerkleurige 3D-printers.

Hoe kan ik OBJ naar GLB of STL converteren?

U kunt OBJ-bestanden (met bijbehorende MTL-bestanden en texturen) rechtstreeks in uw webbrowser met File2File.app converteren naar moderne GLB-bestanden of 3D-printbare STL-bestanden.