This post is not about the game Portal, sorry, it’s about baking cakes…

First, imagine that you want to make a cake like this one:

a cake rendered with Marmoset
You do a nice and highly detailed cake model. It’s perfect.

But it’s just one, and you’re really hungry. You want more cakes, lots of cakes!

Unfortunately, you can’t just put 1000 high resolution cakes in a scene. So, you have to learn how to bake.

A cake in my game

Indeed, in a video game, you expect a smooth rendering. Especially for action games, as racing games, you want a lot of images per second. To accomplish that you have to respect a polygon budget (also called polycount). Doing that, you will ensure to have a good framerate when you will run the game on your computer. If you don’t keep to that limitation you will (probably) suffer of latency.

The computing of a 3D scene into a 2D image takes time. But, naturally, you don’t want the player having to wait for it. So you have to make both (high and low poly) if you want a good result without affecting visual quality (theoretically).

The principle is: you just have to bake the high poly on the low poly. Seems simple, right ?

polycount difference between two 3d models

Okay, it’s not really a “baking” thing, it’s more a projection.

The volume informations are transferred from the high onto the low polygon mesh in the form of a texture (or map). This texture is made of 2D informations that the graphical engine will read to produce the real time rendering.

Remember, only the low polygon mesh is exported to the game (and its maps of course).

Here are a normal map and an ambient occlusion map:

Maps result of the baking You can see the result on a simple plane:

a flat cake
Easy!

A comparison between the 2 models: baking on a volume is a bit harder than on a plane.

Comparison between 2 models.

As you can see you’ll lost some important details like the rounded border of the bottom of the cake. Your goal, as an artist, will ideally be to preserve the silhouette of your model.

The recipe

So far, that was just a cake. Now, here come the real thing and the serious business. I give you my own recipe.

Step 1) You create a High Poly.

HighPoly Mesh Colored

It’s an example of High Poly mesh (3 millions triangles) with false colors.

Step 2) You create a Low Poly.

 

Low Poly of a building

It’s an example of low polygon mesh (6,000 triangles).

Step 3) You try to adjust both to get a  perfect superposition (almost).

Superposition of both high and low polyIt should give you something like this.

Step 4) You can add a Cage to it (and visually hide the Low Poly).

Nicolas Cage

The Cage is used to properly define the projection between the high and the low.

Step 5) Explode everything!

Exploded Models

The point of this explosion is to avoid interpenetration and shadowing (ambient occlusion) between pieces.

And yes, the time has come for you to push a button and wait patiently for the result, wondering if you didn’t forget one step.

Patiently…

And here it is, all hot. You can get it out of the oven.

low poly with baked informations

There are still some imperfections to fix. Maybe a step six is needed. But it will be for the next time.

At the end, to achieve the creation of a good cake, you need to strictly follow the recipe knowing that the result is worth the efforts and time you spent on it. The better maps you get, the easier will be the texturing part. Especially if you are using a fast texturing solution like Substance Designer, that I have used to bake this asset. That’s why it’s a very sensitive part that will validate (or not) the modeling you did before.

So, the baking is no longer a secret for you.

Don’t hesitate to ask for help if you don’t get the result you were expecting.

See you next time.

Philemon

If you want to learn more about baking:

http://wiki.polycount.com/wiki/Normal_map#Baking