- Obj
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 fromCheetah3D , e-Frontier'sPoser ,Autodesk 's Maya, Avid's Softimage|XSI, Blender,MeshLab ,Misfit Model 3D ,3D Studio Max , andRhinoceros 3D , Hexagon, NewtekLightwave ,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:
# 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. 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. ... ...
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.
ee 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++]
Wikimedia Foundation. 2010.