Search the wiki
If you are working on an asset, on most occasions the aim will be to create this asset will be based on a real-world object. Therefore, and where possible, we highly recommend that you use as much reference as possible. This could be photographic reference, lidar scans, blueprints, set measurements, etc. If your asset is to be part of a set extension or maybe a digi-double takeover, we’ll want to match it up as closely as possible to the reference/real-world data to ensure our camera and object tracks line up as accurately as possible. Modelling is the first stage of the asset pipeline and everything we create here will end up in a shot. By not creating models to the right specification at this stage, we will create a multitude of issues later on, and some things are simply not possible to fix later on.
For most assets, you may be provided with reference, whilst for other assets, you may have to do your own research. Every now and then, you may think it best to work from the imagination, however, we highly recommend a quick Google search or go out and gather your own reference. Objects in the real-world have layers and layers of details that you may simply miss when working from the imagination. Also, by presenting your work against reference, your supervisor will have something to give you notes against, and you’ll also be able to give a clear indication of what you were aiming to achieve.
Quads, Triangles, N-Gons and Booleans
When modelling assets, there is a time and place for quads, triangles, N-Gons and booleans. Let’s discuss some of them now, so as you push your asset through the pipeline, you reduce the number of kickbacks.
As much as possible, we recommend you model your assets in quads (4-sided polys). Working in quads usually results in an asset that subdivides predictably and when smoothed, the results are predictable. When pushing assets from one application to another (for example Maya to ZBrush), you’ll tend to have very few issues. For assets that will need to be rigged and animated, having quads also allows for easier weight painting (skinning).
As mentioned above, quads would be ideal, however, on many occasions, you will not be able to avoid the odd triangle here and there. And when an model is subdivided, a triangle will actually become a series of quads. Triangles are not a deal-breaker but they are trickier to work with for weight painting during the rigging phase. On some occasions, especially hard surface assets, cutting into a mesh and having triangles present will be essential to maintain structure and form. If you need triangles on your model, do smooth the mesh to ensure no weird artefacts are present.
Please avoid N-Gons. You will find that N-Gons when subdivided will result in quads (like a triangle does), however, leaving them in the final model as an N-Gon can create issues for the rigging team, and also at render time if the model is smoothed. Some renderers will deal with N-Gons better than others but ideally, we won’t have any strays being pushed down the pipeline.
During the modelling phase using booleans is all good, however, you will need to ensure the areas that have used this technique are cleaned up and the geometry is finished with quads (and the odd triangle). Booleans cause many headaches when an asset is subdivided and riggers are not a huge fan of them either as they cause issues when painting weights. For hard surface assets that do not need subdividing, you may get away with it, however, your supervisor will need to okay this.
Combined or separate geometry
When modelling an asset, try to build it as it would be in the real world. For example, if you were modelling a car, split the car panels up into different objects. Please do not merge separate objects together either (unless you have been asked to by your supervisor). For example, do not take all the car panels (bonnetPanel_GEO, bodyPanel001_GEO, bodyPanel002_GEO, L_doorPanel_GEO, etc.) and combine them together to create one object called carPanels_GEO. Essentially, one polygon shell for each polygon object.
An example of where you could go against this would be if you have a gazillion nuts and bolts. Rather than leave them as separate objects (bolt001_GEO, bolt002_GEO, etc.), you may combine them to create bolts_GEO. Having too many objects in a scene can create a lot of lag, especially in Maya.
Some details (like small bolts and rivets) can also be added via texturing, so do check in with your supervisor when dealing with such a task.
More info coming soon!
Break objects up based on materials
Like separating your geometry based on how the real-world equivalent would be built, we recommend you do the same when it comes to materials. Separate the geometry based on what is metal, what is plastic, what is wood, etc. This will make it easier to separate your UVs into groups and shader assignment. At the modelling stage, we recommend you work closely with the supervisor and the Surfacing team to get an understanding of what materials the model will be composed of. Doing this will ensure less back and forth as the asset goes through the shading stage.
Subdividing Meshes and Poly Count
Subdividing Meshes and Poly Count
When creating your models, make sure to work in a manner that will allow you to easily create a series of LODs. Working with clean topology and quads will aid in this. We recommend working to LOD1 as your default mesh and then from that, you can subdivide the mesh to create the highest-level model, LOD0.
For more information on LODs, check out this page: Asset LODs
Keep your polycount reasonable and try to give every edge a purpose. Having less polys will also result in a smoother model when subdivided. A high poly model can end up pretty coarse and sometimes the surface can appear ‘bubbly’. Remember, sometimes less is more 😉
Make sure to check regularly that the model smooths well with the preview smoothing and try to keep faces evenly sized.
When working with objects that are cylindrical or spherical in shape, we want to avoid poles where many points come together as this can create pinching when rendered. For such types of shapes, it is best to work from a cube and subdivide accordingly, usually with equal number of sides, for example, the top face of a cylinder shape could have 8 or 16 sides. Using equal sides will also make it easier to combine one shape to another. Please avoid creating objects with an odd number of sides (3, 5, 7, etc.) as this makes it tricky to weld objects together.
Supporting Edges and Creases
Currently we are not supporting creases and therefore, we will need to include supporting edges to hold the shape and form, especially for hard surface assets. When adding supporting edges, do not go wild; 1 to 2 edge loops are usually enough to maintain the shape when subdivided or smoothed.
Although we are not supporting creases at the moment, this is something we are planning to look into as this will allow us to maintain a smaller polycount and create a more memory efficient set of models.
UV as you go
As tedious as it may seem, UVing as you go can save you hours or maybe days. This is extremely important if you are placing many duplicates of the same object around the asset. For example, nuts and bolts. Although you can transfer UVs from one object to another that share the same topology, sometimes this falls flat on its face. And the last thing you will want to do is either UV each and every object, or UV an object at the end and have to duplicate and re-position all the objects again.
When creating your UVs, please do hide the UV seams where possible and avoid having border edges running directly through the middle of an object. Although there are many methods to texture an object that will allow you to paint over texture seam (such as triplanar projections or projecting in 3d space), on many occasions nothing beats a set of good UVs.
We’d like the UVs laid out based on materials. This will make things easier when taking certain components to apps such as MARI or Substance Painter/Designer.
Cleaning up your Model
When preparing your model for review and signoff, please ensure to do the following:
- Check for lamina faces, non-manifold geometry and N-Gons. Make sure to clean them all up.
- Check the scale of the model.
- All objects should be named accordingly.
- Remove all instances.
- Delete all history from the model.
- Check the normals are facing the correct way. Incorrect normals will create issues with texturing and lighting.
- Freeze all transforms.
- Check your pivot points. If in doubt, centre them.
- Delete all Display Layers.
- Delete all unconnected shaders.
- Check your model by exporting it out and then importing it into a clean scene or into another app such as Mudbox or ZBrush.
- Add a section on UV sets