Browse the wiki

Model Naming Conventions

This doc will give a breakdown of how to go about naming objects for modelling.

Part of your role as a modeller is to ensure your model is named accordingly. As painful as it may seem and as bland as the task is, it is essential to ensure others who pick up your asset are able to work with it effectively.

If you are unclear about any of the below information, please do contact your supervisor.

Naming the top level group node

For every asset, everything should sit under a top-level group node. This group node should be named like so:

<assetName>_lod#_GRP

For example:

  • oni_lod0_GRP
  • oni_lod1_GRP
  • japaneseShrine_lod1_GRP

Object naming convention

We are using the following tokens for naming objects and each token should be seperated with an underscore:

<SIDE>_<section>_<position>_<objectName>__<materialTag>_<TYPE>

For the position and objectName token, you can use camelCase if you need more words to describe them. For example:

  • L_frontLower_ceilingPanel__nonMetal_GEO
  • R_rearUpper_buildingBlock__nonMetal_GEO

Side

The side token is optional and should be added to all objects to describe is the object is to the left, right or centred. Please note that the side token should be capitalised.

  • L: for objects to the left of the centre line. For example, the left arm.
  • R: for objects to the right of the centre line. For example, the right arm.

For objects at the centre of the centre line, you do not need to add a side token. And when you have multiple objects going from left to right (for example a row of windows), you can simply add a three padded number onto the end (as described in the object section of this doc). For example:

  • front_window001__nonMetal_GEO
  • front_window002__nonMetal_GEO

Section

The section token is optional and should be used to describe a part of the object. For example, the arm, leg, torso, etc.

  • L_arm_GRP
  • R_leg__skin_GRP

Position

The position token is optional and should be used to describe where the object lies in relation to other similar objects. When using this token, think about the naming of anatomical landmarks. For example, the anterior superior iliac spine or the inferior superior iliac spine. Like anatomy, you only need to include this token if the opposite exists. For example, if you have an object on the exterior, but there is no interior equivalent, then you do not need to add the interior token.

The available position tokens are:

  • interior: for objects that are on the inside. For example, an interior wall.
  • exterior: for objects that are on the outside. For example, an exterior wall.
  • front: for objects that are positioned on the front. For example, a front panel.
  • back: for objects that are positioned on at the back. For example, a rear panel.
  • upper: for objects that are above another object. For example, upper pipe vent.
  • lower: for objects that are below another object. For example, lower pipe vent.
  • bottom: for objects that are at the bottom. For example, bottom panel.
  • top: for objects that are at the top. For example, top panel.

You can also mix and match. For example, interiorFront or exteriorBack. Maybe later on, we’ll create a stricter set of rules for position, but for now, we’ll leave it up to you to use something the is easily readable and descriptive. If you are adding multiple position tokens, please use camelCase to.

Object

The object token is mandatory and should describe clearly the object. As mentioned above, if you have an object where you need multiple words to describe it please use camelCase. When you have multiples of the same object or similar objects in the scene, please add a three padded number (###) onto the end of the object token, starting with 001.

Here are some examples:

  • vent
  • ventFrame
  • ventBolt001
  • ventBolt002
  • ventBolt003
  • shelf001screw001
  • shelf001screw002

Please do not make up random names. Do a little research and try to find the official name for the object. We do not want to see objects named thing001 and thing002, or cylinder001, sphere1, etc. Models with such names will get kicked back and not reviewed.

Material Tag

The material tag is to help look dev with shader assignment and should also be used to block out the initial look of the asset. Currently, we are keeping things very simple with the tags, but later on, we’ll be updating the list of materials and tags. For now, we are simply using the following tags below. Please note, the materialTag should be seperated with a double underscore (__). This makes it easier for filtering of the object names.

Current valid material tags are as follows:

  • __metal: for metal objects (chrome, bronze, gold, etc.)
  • __nonMetal: for non-metal objects (plastics, rubber, leather, etc.)
  • __glass: for objects made of glass
  • __skin: for objects made of skin

Later on, we will be building a shader library for easy assignment of shaders and material tags.

Type

The type token is mandatory and should describe the type of object. For example, is it geometry, a curve, a group node, etc. Please note that the type token should be capitalised.

  • GEO: used to describe polygonal models.
  • GRP: used to describe a group node.
  • CRV: used to describe curves.

Avoid duplicate names

As mentioned above, when naming duplicate objects, please add a three padded number to the objectName. All objects in the scene should have a unique name, and not doin so can create issues later on, especially when pushing assets from one application to another.

Here is an example of approved naming of duplicate objects:

  • ventPanel001_GRP
    • ventPanel001Bolt001__metal_GEO
    • ventPanel001Bolt002__metal_GEO
  • ventPanel002_GRP
    • ventPanel002Bolt001__metal_GEO
    • ventPanel002Bolt002__metal_GEO

And an example of a model that would be declined:

  • ventPanel001_GRP
    • ventPanelBolt001__metal_GEO
    • ventPanelBolt002__metal_GEO
  • ventPanel002_GRP
    • ventPanelBolt001__metal_GEO
    • ventPanelBolt002__metal_GEO

Examples

Here are some more examples. Later on, we’ll look to have a tool created to manage help manage the naming of objects.

  • L_arm_GRP
    • L_arm_upper_panel__metal_GEO
    • L_arm_lower_panel__metal_GEO
  • computerConsole__nonMetal_GEO
  • L_leg_GRP
    • L_leg_lower_panel001__metal_GEO
    • L_leg_lower_panel002__metal_GEO

Leave a Comment