Obj
From Wikipedia, the free encyclopedia
- Obj or OBJ can also refer to computer object files or the OBJ programming language.
OBJ (or .OBJ) is a geometry definition file format first developed by Wavefront Technologies for its Advanced Visualizer animation package. The file format is open and has been adopted by other 3D graphics application vendors and can be imported/exported from e-Frontier's Poser, Autodesk's Maya, Blender, Misfit Model 3D and 3D Studio Max, Hexagon, Newtek Lightwave, Art of Illusion, etc. For the most part it is a universally accepted format.
The OBJ file format is a simple data-format that represents 3D geometry alone - namely, the position of each vertex, the texture coordinate associated with a vertex, the normal at each vertex, and the faces that make each polygon.
A typical OBJ file looks like this:
# this is a comment
# Here is the first vertex, with (x,y,z) coordinates.
v 0.123 0.234 0.345
v ...
...
#Texture coordinates
vt ...
...
#Normals in (x,y,z) form; normals may not be unit.
vn ...
..
#Each face is given by a set of indices to the vertex/texture/normal coordinate array that precedes this.
#Hence f 1/1/1 2/2/2 3/3/3 is a triangle having texture coordinates and normals for those 3 vertices,
#and having the vertex 1 from the "v" list, texture coordinate 1 from the "vt" list, and the normal 1 from the "vn" list
f v0/vt0/vn0 v1/vt1/vn1 ...
f ...
...
# when there are named polygon groups or materials groups the following tags appear in the face section,
g [group name]
usemtl [material name]
# the latter matches the named material definitions in the external .mtl file.
# each tag applies to all faces following, until another tag of the same type appears.
...
...
An OBJ file also supports smoothing parameters to allow for curved objects, and also the possibility to name groups of polygons. It also supports materials by referring to an external MTL material file.