Obj
1710972
220556781
2008-06-20T12:50:45Z
89.136.53.15
{{otheruses|OBJ (disambiguation)}}
'''OBJ''' (or .OBJ) is a geometry definition file format first developed by [[Wavefront Technologies]] for its [[The Advanced Visualizer|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 (software)|Maya]], [[Avid_Technology|Avid]]'s [[SoftimageXSI|Softimage|XSI]], [[Blender (software)|Blender]], [[MeshLab]], [[Misfit Model 3D]], [[3D Studio Max]], and [[Rhinoceros 3D]], Hexagon, Newtek [[Lightwave]], [[Art of Illusion]], [[GLC_Player]] 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:
<code>
# 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 might not be [[Unit normal|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 2 from
#the "vt" list, and the normal 3 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.
...
...
</code>
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 [[Material Template Library|MTL]] material file.
==See also==
* [[MeshLab]] is an open source Windows and Linux application for visualizing, processing and converting three dimensional meshes to or from the OBJ file format.
* [[GLC_Player]] is an Open Source software used to view 3d models in OBJ Format and to navigate easily in these models.
* [[3DMLW]] is a markup language that shows OBJ files through common web browsers ([[Internet Explorer]], [[Mozilla Firefox]], [[Opera]])
== External links ==
*[http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/ Obj Specification]
*[http://local.wasp.uwa.edu.au/~pbourke/dataformats/mtl/ Mtl Specification]
*[http://people.scs.fsu.edu/~burkardt/data/obj/obj.html Tools, libraries and example files]
*[http://3dcodingtutorial.com/Working-with-3D-models/Importing-the-model-in-C++.html Example of how to import Obj files in C]
[[Category:Graphics file formats]]
[[Category:CAD file formats]]
{{Compu-graphics-stub}}
[[pt:OBJ]]
[[sv:.obj]]
[[fr:obj]]