1
$\begingroup$

Using: Blender V2.79 Cycles Render Engine

After creating a complex interior scene consisting of 3 different texture types, each having 3 associated maps (Diffuse, Gloss, Normal) I noticed the texture and baking options will not successfully combine to create a texture for the exported mesh once I bring it into Unity 3D. The mesh is a single object with the different textures assigned to specified faces.

I've played around with a default cube mesh for testing purposes, using the same 3 textures split among the 6 sides, but have only been able to successfully pull over the color info by baking a diffuse map to my UV and saving the image. When using the other baking options, Blender does not successfully create a map for either my Glossy textures, nor my normal map. Even using the "Combined" baking option, I am provided a flat dull diffuse image for my mesh, no gloss or normal info is saved.

My Node process for textures is displayed hereenter image description here

Here is the result of baking my textures as a Normalenter image description here

The result of adding other textures made from Blender's baking, results in flat gloss at best.enter image description here

What can I do differently in Blender, to have my assigned UV Diffuse, Normal, and Gloss maps all appear in a single object in Unity?

$\endgroup$
  • $\begingroup$ Normal map needs information from somewhere for baking. Ideally highpoly object to lowpoly (sculpted with Multires / dyntopo, subdivided with Subsurf and using Displace with texture etc). Blender can bake normals from image if you plug it into displacement input of Material output (no displacement on mesh required) but it might be much worse than one get from normal baking tools like XNormal, Substance etc $\endgroup$ – Mr Zak Feb 12 '18 at 14:13
2
$\begingroup$

I found an alternate solution that's been working well with my tests.

Instead of baking my texture with my Diffuse, Gloss, and Normal maps linking to a principled shader leading to the material output for all the materials being used on 1 object as shown in the image during my question, I am now using individual texture types for each material and saving each bake as a diffuse, then adding those 3 diffuse maps directly into their appropriate fields in Unity, Diffuse, Specular, and Normal.

Example:

  1. UV unwrap the object to a new image
  2. Wood Floor material > only has Diffuse texture node linked
  3. Spackle Material > only has Diffuse texture node linked
  4. Brick Material > only has Diffuse texture node linked
  5. Add the above materials to the desired object faces
  6. Bake texture as Diffuse with direct and indirect lighting disabled and save the new image

This will be the full Diffuse map for the entire object enter image description here

Swap out the above mentioned diffuse textures on every material with:

  1. Wood Floor material > only has Normal texture node linked
  2. Spackle Material > only has Normal texture node linked
  3. Brick Material > only has Normal texture node linked
  4. Create a new UV image for the bake to save to
  5. Bake the new unwrapped texture, still as Diffuse with direct and indirect lighting disabled

Even though it's saved as diffuse, this will act as our normal map that we can simply drag and drop onto the objects material once it's in Unity. enter image description here

Swap out the above mentioned diffuse textures on every material with:

  1. Wood Floor material > only has Gloss texture node linked
  2. Spackle Material > only has Gloss texture node linked
  3. Brick Material > only has Gloss texture node linked
  4. Create a new UV image for the bake to save to
  5. Bake the new unwrapped texture, still as Diffuse with direct and indirect lighting disabled

Even though it's saved as diffuse, this will act as our gloss map that we can simply drag and drop onto the objects material once it's in Unity. enter image description here Repeat this process for any additional map types you want your finished mesh to have. enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.