Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Before we get started let’s get down to the basics of what is necessary to generate a good model in quads. This is largely dependent on the tools you have access to and what you are most comfortable with. Since I started doing 3D work, I have been most comfortable in 3DS max but as I understand it a large portion of the community use Blender. This won’t be an issue for what we are doing today as they share a lot of the same features and functions. The most important part here is having a model with good topology in quads to continue further. So let’s get started, I will be using the Coronata as an example to demonstrate the steps.

...

Let’s take a good look at the model here, pay close attention to the sweeping topology. The shape of the models quads are what we refer to as “globe like” following the silhouette of the ship in smooth sweeping curves. Using Tris isn’t bad but should be minimized as much as possible as having too many tris will not play nicely with later steps. Before we start anything though, your model should look similar in topology to what is shown above. Focus on creating a model that consists mostly of quads, and minimal tris. N-gons (Polygons with more than 4 sides) should be discouraged as well UNLESS you have a firm understanding of how that n-gon will subdivide. It can be useful, and it can be a detriment, that’s on a case-by-case basis.

...

So at this point you should have your quadified mesh, with all your holding edges selected and beveled. During this part of the process, I will export my mesh from whatever program I am using up till this point and importing it into Zbrush. As its subdivision algorithm seems to play better with most models in comparison to 3Dcoat / 3DS Max/ Maya / Blender. Understanding and appreciating that not everyone has access to Zbrush. In your application of choice find your sub-division modifier. This is when the magic happens.

...

In the image above several subdivisions have been applied. The shapes are rounded, the lines are smoother, and overall appearance is of higher fidelity than the previous image, this will constitute your high poly.

...

We should now have an original quadified low poly, A proper high poly with its subdivision levels. What's next? Well now we need to use the low and high to make sure we won’t run into bad bakes by using the high poly as a reference mesh for the low. To ensure when we go to bake that the geometry is where it needs to be to capture as much detail as possible. Let me demonstrate. Look at the picture above this is a great example of what happens when the geometry of the low doesn’t quite match the geometry of the high. This is fixed with a couple quick steps. Image Removed

Start by selecting the faces that don’t quite match, and giving just those faces a single subdivision level.

...

As you can see the faces more match the geometry of the high poly, that information from the high poly won’t have a hard time baking down now. Let’s continue. You will then have to remove the unneeded edge on the inside of the inset and get rid of those n-gons the subdivision created.

...

Now when it comes to preferred techniques for baking this is definitely my favorite because it simplifies and makes easy a lot of the leg work required for a good bake. You’re probably asking yourself what are weighted normals? Well a normal in technical terms is just anything that perpendicular to a surface. What weighted normals do is force the meshes normals to be perpendicular to the larger faces and this will force the shading of the mesh to concentrate at the edges. That concentration will be useful later on which is why I heavily recommend using weighted normals with a few additional tweaks if you are attempting to bake a low poly mesh. So let see what that looks like visually.

Image RemovedSinsBaking15.jpgImage Added

In the instance of the Coronata there isn’t much difference between the standard softening and the use of weighted normal. Something to remember too now is basic rule of thumb for setting up mesh normal for a bake.

...

This is important because it should be stressed that your base low poly mesh should be as soft as possible because hard edges can fight the bake but also if you have a hard edge in the middle of an island on your UV sheet, this to can cause edge aliasing and detract from the quality of what you are trying to accomplish. If you do have a sharp edge designated on your mesh it should be where your seams are on your UV sheet.

Image RemovedSinsBaking16.jpgImage Added

3DS max’ weighted normal modifier comes with the ability to harden UV island edges; this is a quick and easy way to assure your hard edges are exactly where they should be. Next, we’ll look at a best/worst case scenario for softening/weighted normals.

...

You want to check the “fixed mirrored tangents” box, make sure you’re baking in the Mikk or MikkT tangent space. As this is the tangent space utilized by Sins. Also make sure your tangent direction is left-handed. Its an odd way of saying it but left-handed simply means DirectX which is the format that Sins 2 expects from normals. I tend to set my samples to 64x. 16-bit channel, with a 4k x 4k bake resolution. From Marmoset I will bake normals, curve, and AO. As the results in marmoset are far better than anything substance painter has put out. After setting all of that let’s adjust the cage to be safe.

...

Image RemovedSinsBaking23.jpgImage Added

You’re going to select top parent element of the low of a mesh, and you will see this slightly inflated version of the low poly mesh that sits above the low poly itself. This is your cage. It acts as area of effect of sorts that the ray tracing happens between the high and low poly. Go wide with it and you get overlapping bake errors from parts of the cage merging into each other awkwardly. Go too tight and your risk losing data because parts of your high poly could potentially fall outside the bounds of the cage. It’s a balancing act. Try it out, experiment and find the sweet spot for your mesh, each one has different needs. Once you have all of that set up and tuned to your liking lets bake and see where we are at. I'm not going to cover the deep and gritty nuances of fixing bake errors here but assuming we had everything go well I will show you the results.

Image RemovedImage RemovedSinsBaking24.jpgImage Added

SinsBaking25.jpgImage Added

As you can see from the before and after, the difference is quite stark. Creating a carefully crafted high poly with good bevels was important here because just from a quick visual glance edges appear to have a bevel or chamfer which gives the mesh the appearance of having a higher tri count than it actually does. By creating edge highlights and smoothing out mesh normals to make ship looks leagues better.

...

This was a basic overview of how our internal process for how ship creation works, this is not an exhaustive break down of every technical detail and nuance of the topic. Baking a good 3D asset is a skill like any other, to get good will take time and practice. However, it is my hope by exposing the larger community to this form of art creation it will allow all of you who chose to try the ability to create some absolutely wonderful art. I started doing this for fun in 2009 and the pursuit of my craft found me a job working on a fantastic game with a talented group of like-minded individuals. It helped me find my wife and I owe a lot of what I have to Sins and by trying to distill some of this information and pass it along it is my hope that what comes next will be worlds better than what has been.

Thank you

~ Set