prompter: What do files ending in ".obj" contain?

assistant: An OBJ file (.obj) contains information about the geometry of 3D objects. The files are used for exchanging information, CAD, and 3D printing. OBJ files can support unlimited colors, and one file can define multiple objects.

The objects in an OBJ file are defined by polygon faces (which themselves are defined by vertexes, or points) and normals, curves, texture maps, and surfaces. OBJ is a vector file, which makes the defined objects scalable. There’s no maximum file size.

The format was created in the 1980s by Wavefront Technologies for its Advanced Visualizer animation software (Autodesk Maya has since replaced Advanced Visualizer). The file extension OBJ comes from the name Wavefront OBJect (the full name is rarely used). Other companies have adopted the OBJ format for use in their applications.

prompter: tell me more about what programs can use the .obj file format.

assistant: The .obj file format is typically used with 3D viewing and modeling programs such as Blender. It can also be used with a 3D printer to create a real life rendition of the three dimensional object it represents. If a dedicated 3D viewer is not available Adobe Photoshop can also open a .obj file.

assistant: The `.obj` file format is a common, basic 3D geometry exchange format. There are many software packages able to open it, and that includes both desktop browsers and editors as well as online (web-browser-based) software. 

Please tell me what you want to do with the file (view it, use it in your design, 3D print it ) and I might be able to recommend a specific search query to find a software package that will help you.

assistant: Files ending in ".obj" contain 3D geometry data and information about the position, surface normals, and texture coordinates of the 3D object. The ".obj" file format is a simple ASCII text-based format that is widely used in computer graphics and animation to export and import 3D objects between various 3D modeling software applications.

prompter: What is the difference between a .obj file and .fbx?  Are there any trade-offs in efficiency, licenses, or other areas that I should be aware of as a developer?

assistant: .obj files can store coordinates for 3D objects, or they can be object files that contain compiled machine code for a given CPU architecture.

prompter: This ".obj" file is part of a 3D model.

assistant: In that case, the .obj file contains the mesh geometry of the 3D model in plain text Wavefront OBJ format. This includes the position, texture coordinates, and normals for vertices, and how those vertices are connected to form faces and lines.
Material and texture information for the 3D model is not included in the .obj file and is in an external .MTL file instead.

assistant: Then it presumably contains the coordinates of one or more 3D objects. To confirm this you could:

a. Try loading it in a 3D viewer such as Blender
b. Because it's a plaintext format, you could open it in a text editor such as VSCode or Emacs

assistant: Yes, .obj files are commonly used to store 3D models in a format that can be easily imported into various 3D graphics software programs.