Highpolys, Lowpolys, Baking, and Texturing.

The "High to Low" workflow is a foundational method of creating art for video games.

The art of making models for video games really *is* the art of Highpoly modeling, Lowpoly retopologization, and Normal Map baking.

There are games that do not follow this work flow, but if you are capable of this, then you will likely be capable of everything, so this is the goal - to learn this workflow, and excute it without flaws.

https://blenderartists.org/t/highpoly-to-lowpoly-baking-for-cycles-renders-tests-and-discussions/585302 - An example of the High to Low workflow, the Lowpoly on the left is only 32k triangles. The highpoly on the right is 1.5 million.

What is a highpoly?

A highpoly is an object or collection of objects that we create for the sole purpose of establishing the shading detail (normals) of the finished model. This is the sole purpose of the highpoly, and thus we can take shortcuts.

This is a highpoly of Augustus of Prima Porta, from 3d scan data. See how much realistic detail is depicted?
This is that same Meshes Wireframe. See how many polygons are used? The entire statue is over 10 000 000 polygons - far too many for a video game.

The highpoly has no requirements to be textured. The highpoly will not animate or deform, so we can do things with its topology that would otherwise be unacceptable. The highpoly wont be rendered in the video game, and so we can use as much geometry as our computer can reasonably process to depict it.

The purpose of the highpoly is singular - to establish the shading details of the finished model.

Note - "A Highpoly" is NOT a mesh which is high in polycount. A mesh that is high in polycount is just that - a mesh high in polycount. When we say "The Highpoly" or "A Highpoly" - we are talking about a mesh that is designed as a sibling mesh to an eventual Lowpoly.

What is a lowpoly?

The lowpoly will be the final mesh that exists in the engine, in our video game. It will be the mesh that the player sees. It will be the mesh that animates, and the mesh we texture. Our topology will need to be almost flawless, and our triangle count as low as possible (but not so low that we rob our model of too much observable detail!).

Below is a Highpoly and a Lowpoly: On the Left is the original Highpoly, on the right is the Lowpoly. Notice how little detail the Lowpoly has.

Given that we will be creating a Highpoly object, it doesn't make sense that we would model the lowpoly from scratch completely ...

The process of leveraging the Highpoly to create our final Lowpoly is refered to as Retopologization.

Note - Similarly as with highpolys, "A Lowpoly" or "The Lowpoly" is not simply a mesh that is low in triangle count. It is a mesh that is designed as the companion mesh of a highpoly, for the purposes of receiving data via the baking process, and rendering in the final game. This can be confusing, but try to keep this in mind.

Here you can see the Lowpoly wireframe overlayed ontop of the highpoly. See how they line up? They work in tandem, with the details of the lowpoly being based on those of the highpoly.

Baking, and what is Normal Map?

We talked earlier about vertex normals, and face normals, but pixels can have normals too! Our goal with this workflow is to take an incredibly expensive multi million polygon mesh (the highpoly), and convert this expensive geometry down into (relatively) cheap pixels.

This process of conversion is referred to as Baking, and the shading that we transfer from the Highpoly to the Lowpoly, will be encoded into something called a Tangent Space Normal Map (Normal Map for short).

When the Highpoly (Mesh B) is Baked to the Lowpoly (Mesh C), it creates a Normal Map (A), which when combined with the Lowpoly, will render those details (D).

You can recognize a normal map by its colors. Bright reds, blues, greens, and a lot of purple.

When Baking Augustus' highpoly to his lowpoly, this is the resulting normal map:

And here you can see it applied to the lowpoly:

And here is its wireframe:

This combination of Lowpoly triangles + Baked Normal Map is significantly more efficient to render than the Highpoly geometry alone.

Note - There are other types of normal maps, but we will be mostly concerned with Tangent Space maps. The astute among you will recall spaces from a previous article, the tangent space is one such space.

Texturing

Once we've baked our Normal Maps, we will need to begin the process of texturing.

Interestingly enough, Normal Maps won't be the only thing that we bake. There are actually dozens of types of data that we can capture from our highpoly geometry that will aid our texturing process:

Some possible maps that we can bake, when using Marmoset Toolbag. Here some common defaults are ticked.

We will explore this in detail in the intermediate texturing stage.

This is one of the crucial reasons why baking from High to Low is so powerful - it gives us an exceptional set of data to base our texturing process off of. Fans of stylized games such as Valorant, League of Legends, World of Warcraft, and many others, can attribute their visual style and aesthetic in no small part to this process.

In conclusion ...

If you're curious as to what an artist is capable of when they have mastered the craft of highpolys and lowpolys, google these names:

  • Tor "Snefer" Frick

  • Fanny Vergne

  • Josh "GrumpyMonkey" Singh

  • Stephanie "Anuxinamoon" Everett

  • Joe "Earthquake" Wilson

  • Jon Troy Nickel "HazardousArts"

  • Tom "Crazyfool" Parker

(and many hundreds of others)

This is what I aim to teach you. All of the skills you need to perform this work flow. If you're capable of this, then you're capable of anything.

Last updated