Monday, 30 November 2015

3D Modelling for Computer Games - Neat Modelling and its importance in production

Within modelling, I must follow a multitude of procedures and know how to fix a variety of issues. These issues can contain the following.

1. Flow topology:
The flow of the topology in any model must be correct and in line with shape of the mesh, so that when displayed in both basic and smoothed preview, utilising a low poly count, the mesh retains a constant flow of neat topology.
Below, the differences in the topology can be seen clearly between the bumped extrusion of the high polygonal mesh, in comparison to the cleaner topology displayed on the lower polygonal mesh, both in basic and smoothed preview.
I will bear this in mind not only for the fact that I need to produce a model with good topology, but for example if I were to have any external detailing, such as the possibility of a flowing pipework along the outer of the mesh, this could come in very handy for that too.





2. Tying and sewing corners:
When making a low poly mesh of any kind, I must assure correct mesh values and neat topology, this can be in something as simple as an extrusion. Extrusions of faces must be corrected by the tying off of corners in meshes. If the vertices are not ties off appropriately then rendering errors will almost certainly be present in the mesh, below is an example of a rendering error through facial extrusions or translations, the left being incorrectly rendering, and the right displaying correctly.
This will be paramount in my modelling of both low and high poly meshes, as good/clean modelling techniques are absolutely necessary for a quality product.




3. Control Edges:
Control edges are very important in the rendering of a low polygonal mesh, so that the smooth renders of each mesh are displayed appropriately, the introduction of control loops helps to build a stable, properly topologised mesh.
The screenshots below show the gradual introduction of an increased amount of edge loops, tidying the topology of the mesh in the smoothed view.
Control edge introduction will also be very important to my modelling process, as with any model, certain levels of detail need to be pronounced, it will also be important to use equidistant loops for this procedure.



4. Cylinder width through subdivision:
With a cylinder or a pipe, there are more elements which can cause issues that must be taken into account. The less subdivisions there are around the circumference of the mesh, the slimmer the smooth render product will appear. With more subdivisions the smooth render will appear larger.
I may need to bear this in mind for the piping on my containment chamber going forward through this unit.




5. Smooth rendering of Cylindrical elements:
When utilising cylinders in geometry, it is important to choose the right amount of axis subdivisions. if the cylindrical section in question will be viewed a lot, and in great detail, then the cylinder could need up to between 16 and 20 axis subdivisions going by current generation systems, however if the cylinder is not of large detail, for example a smaller piece of the mesh, then the cylinder can be made up of less axis subdivisions, for example 8 or 12 at the maximum dependent on both artist decisions and budgetary restraints.
Below is a variety of subdivided cylindrical meshes, from left to right the meshes can clearly be seen rendering more smoothly when intersecting the cube sections. The left most would be used more for smaller details and the furthest right variant would be used for a more prominent feature within an object.
Within my mesh, I am thinking about using smaller cylinders as a feature of one of the panels, and as such, provided I can make it fit as I intend within the poly budget, I will be looking to use a similarly subdivided cylinder to the left hand example.


6. Inverted Normals and how to fix them:
There are cases when modelling, in which the normals will become inverted, for this in most cases, if not all, the inverted section of geometry will display black, as opposed to the grey tone provided by the 'Lambert 1' material assigned by default to all meshes.
To fix these issues, the normals assigned to the faces which the error is affecting must be reversed and unlocked, both of which tools are located under 'Normals' within the Polygon shelf set.
If I encounter these errors, I am confident that with experience of these problems I can fix these errors quickly and with relative ease.
Following the reversal of the normals, the mesh will sometimes automatically have the normals set to their respective faces, which means the object's edges may need to be hardened or softened in accordance with the concept.






7. Additional Edges and how to remove them:
There may sometimes be extra edges in a mesh, which cannot be seen in the standard viewport, and can only be located through the smoothed mesh preview using the 3 key.
If these errors are present, then the offending edge can be selected, separate and removed using the 'delete edge/vertex' tool. Whilst this is a simple procedure it is quite difficult to spot, and near impossible to spot without using the smooth mesh preview in the viewport, highlighting the importance of not working in only one subdivision view.
As such I will be making sure I work in more than one, if not all three viewport subdivision settings throughout this unit and my future modelling projects.





8. Holes in meshes and how to fix them (Retopologising):

Sometimes there are holes and issues within a mesh which cannot be seen, causing errors which to be fixed, would take up substantial time that could be spent developing the model. As such, it is an artistic decision whether to fix the model using any tools at your disposal, or to rebuild the mesh from scratch. This obviously depends on how long it would take to rebuild the model itself.

<Screen Cap to be inserted>

9. Additional Faces (Lamina faces, on top of one another) and how to remove them:
Another issue I may face through the low and high poly modelling processes is duplicate faces in the same space, these create a clash and must be fixed. They generally appear black in the viewport when the object is not textures and may differ when textures, but to fix these problems, the faces must simply be removed, using the append polygon tool to fix the issue.
As I have used the append polygon tool before I am confident that any duplicated faces will not cause me too large an issue, and I would be able to effectively correct them and move on with the modelling process.




10. Re-calculating Normals:
As before, Normals can affect more than just primitive shapes, and as before, the same method is used to correct errors occurring when normals are projecting the faces inside out.
The normals are reversed and unlocked to deal with the issues occurring in the below images.



11. Skewed UVs and how to fix them (addition of detail eg Edge Loops):
When rendering in the smoothed view, UV space and detail becomes more important, as if there is not enough detail, not enough vertices within the mesh to be used for UVing purposes, the textures applied to the meshes will present visual errors.
This needs to be fixed for a model to be represented properly within the viewport, and as such, edge loops can be added, or other methods of adding detail can be used dependent on the complexity of the model, this adds vertices evenly and gives a higher level of detail to be used, allowing the texture to display more correctly within the viewport.
I will be bearing this in mind a lot not only when modelling but also when preparing to texture my model, I will be attempting to nail the detail level in the low poly mesh before the texturing preparation to avoid any possible issues which may otherwise arise.



12: The importance of equidistant edge looping in topology (avoiding waves and skews):
Equidistant loops are always important when creating a correctly topologised mesh, if control loops aren't equal distances from their respective edges they are to control, skewing and other errors can occur at further points in the modelling process, textures may not display correctly as UVs may be affected by incorrect topology.
Below is a representation of a correctly subdivided mesh, I will definitely be looking to create good topology.


13: Cleanup and it's use (Errors on the inside of the model as well as the outside) and whether the model is quicker rebuilt than fixed:
The cleanup tool is useful for two reasons, not only can it clean up meshes for me, but I can use it as a learning tool of sorts, whilst I can opt to clean up a mesh through multiple selection types, I can opt to also just display any faces which may contain errors. If there are any errors in the mesh I can fix the errors by face myself, teaching myself to model in a neater, more effective way

These techniques and procedures outlined will assist me in part if not in full through the modelling process, and I will use these as reference if I do run into any problems with my meshes, both low and high poly.

3D Modelling for Computer Games - Normal Maps and Baking

In 3D modelling, every artist needs to consider Parameters, specifications and budget when modelling, as there can be multiple of each of these within any given brief.

Exaggeration is always used to display emphasis on reality, a model with very small sections of mesh, such as fine edges, lips or ledges will subsequently have very small resolutions in a texture, as such the model, whilst looking real to life, does not display as well as it otherwise could, due to the texture space being restricted.
This is why it is necessity to exaggerate the models features, giving more detail to otherwise flawed parts of a mesh, making the detail pop giving it more visual appeal.


Holes are to be avoided within a mesh and must be filled before baking, they can either be represented using an alpha map or can be filled. Holes can present a multitude of problems within baking. These are present for example in a gun muzzle brake or a heat guard on a gun barrel, provided the artist can produce a good quality alpha map the holes can be represented as such, but in most cases the holes will be painted black, unless the section of the gun is to be seen at specific angles on a frequent basis, alpha maps are not necessary.


It is always necessary to ‘kitbash’ a mesh, for this purpose any artist must produce their own library of kitbashing meshes, this can consist of screws, bolts, rivets, wires, panels and much, much more. Each kitbash piece of geometry can be parented to the main body geometry also for ease of selection, triggering everything to be selected upon selecting the main high poly mesh.


It should be habit when modelling to save the file regularly, especially when gearing up to perform a bake.
When baking a high poly mesh down to a low poly, it is necessary to be in the habit of three things. Saving frequently, using a different iteration name each time so to have a history you can return to if necessary. Returning the mesh to the centre of the world, freezing the transformations and deleting the history, this allows for the bake to be completed more accurately with as few issues as possible.
Render file type is down to your own workflow, and can be rendered as a Targa (TGA) for the sake of speed, however I prefer to bake as a PSD file, as this is native to PhotoShop and can be modified if necessary, this acts as a master document to export from following any subsequent changes
It should also be habit when baking to set both Maya Common Output and Mental Ray Output to an identical map size, if you set one to 1024, the other should be 1024, the same with 2048 or 4096 texture size.  

The UVs are pivotal to the bake of any model, due to seams created through the process of unwrapping.
Seams will occur in absolutely every model ever created, and there are multiple ways to hide seams from sight.
  • Hide the seam with detail, for example adding a coat to a character to hide certain body seams, or adding certain features to a hard surface model.
  • Using seam lines provided by material changes. Finding a spot within a mesh which can be used for seam creation is incredibly useful too, for example the containment chamber I am intending on producing has a steel panel at the rear for maintenance access, this will allow me to insert a seam where the steel begins and the other materials used for the chambers body end.
  • By design, the seams can be placed by design, if for example a surface has a separation in the mesh by design, within the details, the edges can be split along this edge, and the seam can be hidden well.

When baking, there must be an adequate level of detail in the mesh to display the bake accordingly, as can be seen below, the bake does not take to the lower polygonal mesh as well as it does to the higher polygonal mesh next to it, with the indentations being represented clearer and and screws also being more pronounced and less skewed. This must be adhered to as well as possible, though it must stay within a poly budget for any given mesh.



Overlapping vertices are NOT allowed within high to low poly baking, as they will not produce a successful bake, the vertices displayed on ANY axis always need to be displayed at an angle, therefore any extrusions created must be scaled in slightly to any angle less than 90 degrees. This will allow the object to bake and the result will represent the extrusions in correct space
Any extrusions from a model are not surface details, as they are modifications to the silhouette itself, a normal map will bake in surface details and not change the silhouette of the model itself.

As can be seen below, the direct vertical extrusion on the left of the two models would not bake correctly if the bake were to be projected downward. The right of the two meshes would project the 3D result in a bake as the vertices are not overlapping at all.


I will be looking to bear all of these in mind through the development of both my high and low polygonal meshes, provided I can stick to these I should be able to produce a high quality model and normal map, ready for in-game use.



3D Modelling for Computer Games - Introduction.

Through this unit I will be carrying on from where I left off with my last 3D asset creation unit, developing a high poly mesh in Maya, building on my previous low poly mesh generation.

There is a possibility that I will start the low poly mesh again, building from the ground up, so as to make sure that the topology is correct in accordance with my desired conceptual outcome.

I will be building from orthographic images, in a scale according to Unreal Engine 4, using the character size (180cm) as a reference to differentiate in possible chamber sizes with regards specimen height, width and depth. I will attempt to differentiate these sizes based on previous peer review feedback I have received.

My final model from the previous unit can be seen below, as a starting point, from which I will be developing both my low and high poly models from.