What is “texture baking” and why is it important?
Texture baking is the process of transferring texture data from one 3D model to another 3D model. Generally speaking, people are doing this when they are trying to take a high-poly model and convert it to a low-poly model. There are a few reasons why they may want to do this. The first is that a lower poly model has less data and therefore is a smaller file-size than a high-poly model. The second reason is that game engines, web viewers, & AR often struggle with processing higher-poly models. Many social media platforms like SparkAR (Facebook & Instagram’s AR filter tool) and Snapchat also require low-poly models in order to create AR experiences using their platforms.
Texture baking is a critical skill for any 3D artist to master and many 3D programs like Marmoset now offer tools to help expedite the baking process, but it can still be very time consuming. We outline the various steps involved below.
How do you texture bake?
Traditionally when texture baking, you start with a high-poly model that has lots of detail in the mesh. For example think of a brick wall where each individual brick protrudes slightly from the wall or a cobblestone street that has stones at slightly different heights. These detailed surfaces can result in very high-poly models.
The next step is to generate a low poly version of high-poly model by removing all of the detail. So in the brick wall example, one would just create a flat, smooth wall instead thus reducing the polycount. Next the high-poly mesh is overlaid over the low-poly mesh. This is done because you want to generate a normal map that can “fake” the detail of the original high poly mesh. A normal map gives your object texture and depth by changing the direction light is reflected off your 3D model (for more information on maps, visit our blog post here). We create this normal map by raycasting, (shooting a ray of light), from the low-poly model to the high-poly model. Based on the information we gather from the raycasting, our normal map shows us how light would interact with the high-poly model. By using a normal map instead of geometry, we are able to keep our polycount down as well as our file-size.
Next we need to atlas our textures. Because you have fundamentally altered the original mesh, your UVs no longer line up. To solve for this, you will be required to atlas or pack your texture maps into one single texture (per map type) that can be applied to your now singular and simplified mesh.
Once the texture atlases are applied to the mesh, the low-poly baked model is complete!
What are some of the limitations of traditional texture baking?
Traditional texture baking does come with some downsides. One of the biggest downsides of traditionally baked models is that they don’t allow for configuration of materials or meshes. This is because, as you recall, in order to bake the model you are required to simplify the mesh into one single, relatively smooth mesh. This means that for a couch for instance, you would no longer be able to configure the types of feet of the couch because they are no longer a distinct separate mesh that can be swapped out. The same is true for materials. Because all of the textures have been put into a single atlas, it is no longer easy to swap them out.
Texture baking today
Thankfully, there are new ways to bake 3D models that don’t suffer from the limitations of traditional baking and can also save 3D artists hours of time. VNTANA has developed patented optimization algorithms that allow you to bake multiple meshes of a model that generates an extremely small file but still gives you the flexibility to swap out meshes and materials. All you have to do is upload your existing 3D design file, our software take care of the rest.
To learn more about VNTANA’s optimization technology, contact us here!