Baking the models to export them to other apps - SWTOR-Slicers/WikiPedia GitHub Wiki

This guide needs redoing, but it explains the basics of how baking works in Blender and the issues that our SWTOR materials lead to.

As it points out, baking works better with the Legacy version of our shaders instead of the current ones. This used to require us to install the "Legacy" version of the .gr2 Importer Add-on. Not anymore 🙂: we've added a Modern-to-Legacy materials converter to the SWTOR Character Assembler Add-on which also adds a baking target to each material. It's just a single click operation, as explained in its guide.

We are seeing about developing that into a fully featured, FBX-ready, baked texturemaps and Principled shader materials converter (that also allows to simply save the textures to some directory if needed). It'll take time, though.

Baking models with the Legacy shaders:

  1. Select a body part by clicking.

Full Size

  1. Enter Shading tab and add an Image Texture node (not connected to anything).

Full size

  1. In the Image Texture node press New and enter Name, Width and Height of the baked texture. make sure this node is selected (has a white border)!

Full Size

Once this blank image is created, check that the Image Source property of the Node is set to Generated (through the menu available in both the node and in the Sidebar's Node Properties panel). If not, attempting to Bake will produce an "Uninitialized image" error message.

  1. Blender's baking functionality is available only in Cycles. Select Cycles render engine and Diffuse bake type, tick only Color contribution and press Bake.

Full Size

The image you created on step 2 should now be baked.

  1. Repeat steps 1-4 for every body part.

Baking models with the modern shaders:

The process is exactly the same, but there is a problem and a workaround:

While the Legacy shaders calculate the diffuse color and the glossiness in a manner that lets Blender separate them in passes and isolate whichever we choose (they flow into a Principled BSDF shader inside), the new ones, being a more faithful replica of SWTOR's original shaders, add the specular to the diffuse entirely by themselves and Blender has no way to separate them.

The result is that the baked diffusemaps are actually diffusemaps with glossiness added on top. In matte objects such as fabric clothes that shows up as too bright a texture; in shiny ones such as leather they look like a bad Photoshop plastify filter.

So, we need to dial down the specularity to zero. A way to do that in all shaders that aren't Uber or Creature, such as Garment or HairC, is to set their Specular color wells to black.

It's not an absolutely perfect solution because those Specular settings only affect the recolorable areas of an object, and sometimes the models have non-recolorable bits that would exhibit the same problem. In this particular example, we can see some of that in Theron Shan's shirt under the jacket.

We are thinking about some long term general solution. Meanwhile, it might be advisable to use the Legacy shaders for building models meant to be baked and exported.