Talk:Wavefront .obj file

message: Two small, closely related topics, which (less the rather large examples) could work better as one article. Discuss.  — SheeEttin {T/C} 06:42, 21 May 2010 (UTC)
thread_title:  Merge with [[Material Template Library]] 

message: This list needs improvement to be useful. I moved it here for now. Software needs some sort of categorization, and description of support like exporting or importing?! Tom Ruen (talk) 01:46, 24 January 2011 (UTC)
replies: text: Works fine in blender. Notice how this trash wiki article says nothing about animation support?  — Preceding unsigned comment added by 184.97.45.190 (talk) 22:34, 31 May 2012 (UTC)
replies: text:  So I launched Blender (on MacOS 10.6) and opened a directory where there are a bunch of OBJ files, and nothing shows up.  Well, it works fine in the sense of not crashing.... —Tamfang (talk) 22:55, 31 May 2012 (UTC)
replies: text: Blender reads .obj files in fine for me, and for others since at least 2006 and probably before.  Perhaps it just has a user interface issue for mac users?  ★NealMcB★ (talk) 18:40, 8 October 2014 (UTC)

text:  Blender is an animation suite; it looks to "open" scenes and whatnot, not individual objects.  To open an object, you need to "import" it in to a scene, not "open" it directly. ~ LukeShu (talk) 18:55, 7 December 2015 (UTC)
thread_title:  Software that supports OBJ 

message: I fear they have no units (mm, inch). If they have no units, why? And shouldn't this info be part of the article? Are there "common" OBJ units? Do people use the comment function to define the units? 87.159.158.45 (talk) 10:42, 22 February 2013 (UTC)
thread_title:  What units have the OBJ vertex coordinates? 

message: Do all the vertex entries have to come before all the face entries, or can they be intermixed if each face refers only to vertices defined above it? —Tamfang (talk) 00:14, 22 January 2014 (UTC)
replies: text: So I tried it; Shapeways accepted a file with mixed entries.  I didn't try putting a face before any of its vertices. —Tamfang (talk) 07:02, 24 March 2014 (UTC)

text: The documentation referenced in the article(http://www.fileformat.info/format/wavefrontobj/egff.htm and http://www.cs.utah.edu/~boulos/cs3505/obj_spec.pdf, page B1-21) mentions the option to reference vertices with negative indices (referring to vertices declared just before the referencing element (e.g. "f"). I have no idea if this is commonly used, but the current section "Vertex Indices" seems to be too strict. It could mention an example as below. --Rumpel42 (talk) 15:06, 23 March 2016 (UTC)
thread_title:  sequence of entries 

message: Isn't there something to say here about the obvious conflict with DOS/Windows OBJ files, the problems this conflict can cause, the workarounds people use to get around the problems, and/or the reason(s) that Wavefront made this surprising choice of extension in the first place?  (Or did these obj files actually come first?) —Steve Summit (talk) 02:20, 12 November 2014 (UTC)
thread_title:  .obj files vs. .obj files 

message: I was the original author of the .obj format, with input from David Yost, Bill Kovacs, Jim Keating, and Kim Shelley in 1985. It was originally developed as the geometric object interface for (i.e. a way to move geometric objects between) modeling, scene animation, and rendering programs that did not live in the same runtime environment and that were being written by different groups at Wavefront. At the time, interactive modeling programs were marginal at best, and the majority of models were hand edited or procedurally generated, and we needed a format that was simple to generate, parse, read, and hand edit. Also, to support writing animation and rendering development before there was an interactive modeler we needed some representation of object geometry. In response to some of the questions posed in this talk section:
* There was no consideration given to .obj and .mtl files becoming a standard at the time they were defined. They were defined because of the pragmatic necessity to allow the groups writing modeling, animation, and rendering to have some way to simply communicate with each other. I suspect it became a standard because it was simple to generate, parse, read, and hand edit.
* The .obj extension was chosen as an abbreviation for object. At the time we were writing in C and DEC VAX machines. C files complied to assembly (.asm) files. There were no other .obj files at the time.
* The negative vertex indexing arose from the need to hand edit geometry into an object that came from a generator or modeling program. This new geometry needed to be added relative to the other geometry without screwing up the other geometry. It was always added after other geometry (vertices and faces) so it was a stand-alone bit that could be cut and pasted when the base geometry was regenerated. Again, the original motivation was supporting hand editing, though it is often useful in generation when multiple generators write to the same file (i.e. The block they write is self-contained and independent of ordering with other geometry.
* Ka and map_Ka: as I recall, if both were specified, Ka would be a multiplier for what was in the map. The reason for that is the map is often more a description of texture intent (really dimensionless and colorless) and the Ka multiplier (or the constant multiplier for any of the components) provides the contextual interpretation of the texture.
* .obj files were intentionally unit-less as they were not thought of as having a relationship to a physical reality. They were just definitions of geometry that could be transformed as appropriate for the animation. Units only become important when you have representation in a physical space that need to correctly relate to each other out-of-the-chute. At the time, there was nothing else to integrate with.
Royster.hall (talk) 05:15, 16 November 2018 (UTC)
thread_title: History and Intent

message: Why isn't binary format covered? AXONOV (talk) ⚑ 19:20, 13 January 2022 (UTC)
thread_title:  Binary format 

message: The terms "statement" and "element" are not clearly defined in the article.
In a Wavefront OBJ file, each line is called a "statement".
The term "element" refers to a specific type of statement that defines a group of related data in the file. An element is composed of one or more statements and provides a way to organize and group data that belongs together. Spatha Spatula (talk) 00:06, 18 February 2023 (UTC)
thread_title:  Statements vs Elements 

message: Vertex normal vector indices and vertex texture coordinate indices are covered in detail, however there are no paragraphs explaining vertex normal vectors and vertex texture coordinates, which are the values pointed to by the corresponding indices.
This is in contrast to the coverage of geometric vertices, parameter space vertices, and face elements which are fully explained in the article.
The article should also be consistent in using full terms, for example:
vertex normal vector, vertex normal vector index
vertex texture coordinate, vertex texture coordinate index
geometric vertex, geometric vertex index
Spatha Spatula (talk) 02:08, 18 February 2023 (UTC)
thread_title:  Vertex normal vectors and vertex texture coordinates are not fully explained 

message: Just a quick explanation that I updated the PBR extension for OBJ to a page on my personal website (https://benhouston3d.com/blog/extended-wavefront-obj-mtl-for-pbr/extended-wavefront-obj-mtl-for-pbr/) from the previous link that went to my old company website (https://web.archive.org/web/20160226114608/http://exocortex.com/blog/extending_wavefront_mtl_to_support_pbr).  Exocortex was acquired and the exocortex.com website was shutdown, so I republished the PBR extension on my personal website (as I was the original author of it anyhow.)  I am adding this comment here so that no one things I am just engaging in self-promotion, rather I am fixing a broken link.  --Ben  — Preceding unsigned comment added by BenHouston3D (talk • contribs) 18:55, 30 May 2023 (UTC)
thread_title: Updated link to PBR extensions

message: In my opinion, those are conceptually different from 3d model file formats and should be moved to the "Obj disambiguate" page instead.  It would be like adding "Horse" or "Wild Horse" to the see also section of the Ford Mustang article. 76.140.114.90 (talk) 20:57, 11 February 2024 (UTC)
thread_title:  Remove "Object file" and "Relocatable Object Module Format" from the "See also" section