Table of Contents

Overview


OBJ files are the old, less efficient way to describe scene geometry - .cgeo is usually preferred. The OBJ format is based on the standard wavefront OBJ files.


OBJ file syntax


OBJ is line format - one line is one command:

Line startparametersDescription
v[XYZ]Adds new vertex to the geometry. It will be multiplied by the currently active transformation in the parent SCN file.
vn[XYZ]Adds a new normal vector to the geometry. It will be multiplied by the currently active transformation in the parent SCN file.
vt[XYZ]Adds new texturing coordinates to the geometry.
f[int v1]/[int vt1]/[int vn1] [int v2]/[int vt2]/[int vn2] [int v3]/[int vt3]/[int vn3]Adds a new triangle to the geometry. v1, v2, v3 are indices of geometry vertices declared with the v command in this file. They correspond to the three triangle vertices positions. Each of the vertices has also a mapping coordinate and normal associated, specified with vt1, vt2, vt3 and vn1, vn2, vn3 parameters, respectively.
f[int v1]//[int vn1] [int v2]//[int vn2] [int v3]//[int vn3]Same as previous, but omits the texturing coordinates. Such geometry will not have varying texturing UV coordinates.
f[int v1]/[int vt1]/[int vn1] [int v2]/[int vt2]/[int vn2] [int v3]/[int vt3]/[int vn3] [int v4]/[int vt4]/[int vn4]Same as previous, but creates a quad face with 4 vertices instead of a triangle.
f[int v1]//[int vn1] [int v2]//[int vn2] [int v3]//[int vn3] [int v4]//[int vn4]Same as previous, but creates a quad face (without mapping coordinates) with 4 vertices instead of a triangle.
Usemtl[int index]Sets the currently active material to an index. Note that referencing materials by name is not supported. Instead, a numerical index must be provided, which will be resolved against list of materials in each individual instance.


  • All indexing starts at 1, negative indexing is not supported.

  • This is NOT valid syntax in Corona: f [int v1]/[int vn1] [int v2]/[int vn2] [int v3]/[int vn3]

  • Animated triangles/animated quads are currently NOT supported, same as hair. Use cgeo format for them.