Food for modelers’ thought

Because I philosophically prefer to hire generalists as staff and contract out the occasional highly specialized work, standards and conventions are very important for not only quality, but also for maintainability, whether the asset in question is code, art or model.

Just like it can be hard for devs to stop thinking of any given part of the code as “theirs” and start thinking of the whole game as “ours”, it’s as tough (or tougher) to get artists/modelers to stop thinking of assets as “mine” and accept that somebody else (or several somebody elses) will likely have to work with that asset. And by the way, the whole game is “ours”, there are no little pieces that are “yours”. Party smile

Which is why this TurboSquid post intrigued me.

Now that 3D modeling is no longer a new art, is it time for firm professional standards to emerge from the folklore? Would enforcing professionalism in such a manner stifle creativity?
3D Modeling Standards: Folklore or Fact? | TurboSquid Blog

Just for the sake of argument, I’m going to pull out a few of the takeaways from the post itself and the comments upon it by the peanut gallery. And, of course, add my own emphasis with an eye toward their expected use in our process and source controlling assets for future maintenance. (A huge thanks to Michele for tickling my brain to try to extract what we’ve been doing half-consciously and to start doing so intentionally!)

3D models must:

  • Be built to real-world scale
  • Have no coincident or overlapping faces
  • Have all normals flipped the “right” way (i.e. facing outward)
  • Have a clean topology, no large overstretched polys
  • Have the pivot point placed to the bottom/center of the model
  • Have its logical center placed at 0,0,0 scene coordinates
  • Have all of its parts properly named, not just “Box01, or Sphere02″
  • Texture names must correspond to model name
  • Textures stripped from file path and placed along with the model into the same folder
  • Each model must have preview render so that there is no need to open it in Max to see what’s inside
  • Be a single model represented by one object with different material IDs
  • Have one multi/sub-object material

High-poly 3D models (used to produce normal maps) must:

  • Have all of the characteristics that generally apply to 3D models above
  • Be comprised mostly of quads (four-sided polygons) with a few triangles as needed
  • Contain as few ngons (polygons with more than four sides) as possible, which may be zero in number

Low-poly 3D models (used in game for rigged animation) must:

  • Have all of the characteristics that generally apply to 3D models above
  • Have the simplest topology that can approximate the high poly model
  • Have a reasonable polygon count (i.e. as few as possible)
  • If the model is of an actor, it also must:
  • Have a logical bone structure and be fully rigged for animation, weighting and estimated PhysX attributes defined
  • Have a basic animation cycles for walking, running, etc, as appropriate

Now, bear in mind that I’m still very much a modeling n00b and this philosophy is highly likely to evolve over time, but it stems from our current approach:

  1. Make the game playable.
  2. Get lots of play testing in progress.
  3. Make the game fun (and joyful, delightful, scary, whatever, as appropriate) based on input from the play testing.
  4. Rinse. Repeat. Until it’s “done”.
  5. Then and only then, make the game purty, shiny and whatever else it needs to achieve “high production values”.

Winking smile

Hence, assets need to be produced ready-to-use from “Go!”, not necessarily ready to ship before they’re integrated into the game for the first time.