Skip to content

Mesh Model Formatting (Naming rules, finding hidden N gons & More)

Derek Vanee edited this page Feb 28, 2015 · 4 revisions

Blender Formatting

IMPORTANT: EVERY .BLEND MUST HAVE FILE -> EXTERNAL DATA -> AUTOMATICALLY PACK INTO .BLEND CHECKED SO THAT EACH FILE HAS ALL THE TEXTURES, TEXT FILES ETC THAT WAY NO FILES ARE LOST this makes for larger .blends but much less headaches down the road (no lost textures, blueprints, or reference images for example).

For more rules and references see "Main Mesh Rules and References" on the wiki.

Each major mesh should have a text file with important details written in it, and when you make a commit leave it open so everything can be read and add any details you think are important to anyone else who might be working on it next before you do again. See: 'Text file' at the bottom of this document.

First note, when I make an object (single mesh) in a Blender scene I try to add as many objects associated with it as possible but I make them SEPARATE meshes within the object so that can select a single vert from the separate mesh and then press [CTRL]+[L] for linked to get just that part. This keeps your scene from having 500 separate meshes, instead you have 50 meshes with 10 objects each. For example my periscope is made up of at least 8 cylinders, 5 cubes and a few other shapes but they are all separate while still touching each-other and when you exit edit mode back into object mode, those 10+ objects are 1 object in the scene. Just my style/tip for organization.

Second note: Any physical door (not a hatch but like a physical door like in a house should have a 1/8" (inch) or 1/4" gap at the bottom, a 1/8" or 1/4" gap at the top and a 1/8" or 1/4" gap opposite the hinged end. Unless otherwise stated, doors are exactly 6' (feet) high For ease of animation the origin should be on the hinged end on the edge towards the direction it opens. This way meshes wont clip each-other if there is small errors when placing stuff in Unreal. Also when working I rotate the doors exactly 45 degrees from the closed position to get a feel for how they will look and fit, of course making sure the origin is where the "hinges" would be so that rotating a door along its z axis will "open" and "close" it. (Add picture when time is available)

Polygons

All quads unless a tri is ABSOLUTLY needed. Unreal triangulates just fine on its own and triangulation will be done aboslutly last. Everything should be as vertical/horizontal as possible without adding extra polys just to keep the lines perfectly straight. Please no un-needed n-Gons when you make a commit! Make a quick check! (Edit Mode -> Select -> Select Faces By Sides -> [F6] or [T]oolbar :: Greater than 4 will select all n-gons. N-Gons on simple meshes like planes for decks are fine since they can easily be changed. Use common sense. IF something is just a placeholder however and has NO chance of being used in the final game, then go to town use ngons go hi-poly who cares.

Polygon Budget

When ready for importing into Unreal each object in the scene will be exported individually if it needs to be non-static (moveable IE: doors) to be reconstructed in Unreal. Go ahead and model hi-poly (not extreme poly) as long as it has the ability to be optimized to game level mid poly after. Aim for no more than 250,000 tris per compartment MAX. Obviously the lower the better though. If it can be done low poly do it for the sake of performance and for the sake of making modelling easier. Its easier to add complex texture details to a low poly mesh, then unwrapping a hi-poly mesh just to apply a basic texture. When **beveling corners I work in multiples of 2 **(so either 2 divisions, 4,6,8, or 10. No more than 10 though and generally use a value of 0.1 for human sized things, but of course that may change. Having the ability to add edge loops in anywhere is nice, but not a necessity. Just try to remember **good topology practice makes you a better modeller. **

Naming

In a file such as xxxxxx_compartment.blend each object (Each mesh) should be named according to ** abbreviated compartment in regular case,**, then precise location details in camel case , then any **extra details in camel case. **

Examples:

  • Atk_Ctr.Sonar_Rm.sonarDoor
  • Atk_Ctr.Sonar_Rm.sonarDoorHandle
  • Atk_Ctr.Sonar_Rm.sonarDoor.pinUpPicture
  • Ctrl_Rm.Radio_Rm.mainRadio.displayScreen
  • Torp_Rm.Torpedo_Rm.torpedoTube1
  • Torp_Rm.Torpedo_Rm.torpedoTube1Door
  • Torp_Rm.Torpedo_Rm.torpedoTube1DoorLever

or

  • MainQtrsGalley_COStateroom.Walls
  • MaainQtrsGalley_WRSR#1.Door

These are good descriptive names a few bad examples are

  • Cylinder.001.001 (What is this cylinder and what does .001 mean?)
  • Round Hole up top (What is this hole?)
  • Hatch (What size? What Kind? Where?)

If in doubt use camelCase or PascalCase with underscores for readability, and abbreviate where possible! Shorter is better as long as it still describes the mesh

Other

Sizing: There is an included standard human mannequin in attack_center_control_room_compartment.blend that is in both sitting and standing positions. They can be used for sizing things. In the near future I'll export it as a seperate mesh that can be appended to any scene. For the time being just group the mannequin in that .blend (Ctrl+G) and then save it; Then in your .blend just append that group, easiest way to move meshes between files. Generally doors are 6' tall and walls slightly taller. Deck to overhead (roof) height may vary depending on the compartment. All hatches should be exactly the same between compartments though. See Main_Quarters_Galley_Compartment.blend for every one you should need and in the future I'll export these out to seperate meshes you can import into a scene.

Text file: Each .blend should have a text file with a general description of important things and anything you think other people should know about or things that need fixing, this saves us from having 500 notes and issues on github, only major issues should be on github.


I will be updating the .blends as time permits to follow these rules. Currently only Main_Quarters_Galley_Compartment.blend is 100% perfect and the Attack_Ctr_Control_Room_Compartment.blend is close but got messy so I will be personally cleaning it up, referencing main_qtrs_galley as I go.


Last updated Feb 28th, 2015.