Imagining I have multiple objects which make up a scene including high poly and low poly of each object and I want to put all of the baked information onto one map. What would be the easiest way to achieve this? Turn all of the objects into one or do a high to low poly bake individually or something else entirely?

  • I'd investigate what would happen if you made your lo-poly cage one mesh for all the different models, and tried to bake to that one object from each of the high-poly models. – Matt Jun 1 '16 at 14:12

The easiest way would be to make a "throw away" scene in which you combine all the high-poly meshes into one object, and all the low-poly meshes into one object.

I'm assuming you've already unwrapped all your meshes that you want to bake. If you haven't, do that.

Make a copy of your Blender scene. In that copy, select all the high-poly objects and ctrl-j them into one object. Then do the same with all the low-poly meshes. You'll have to adjust their UVs to make sure none of them are overlapping, but it's important that you don't actually change their shape. Grab the whole UV map and move the whole thing without distorting it. Then bake all of that to one image. Once you have the image, you can delete the extra copy that you just worked in, and use the one image for the normal map on all the original low-poly meshes. All you'll have to do is go into each mesh and move its UV map the same way you did in the other file. Just place it over the section where it got baked.

You could do this without a duplicate file by joining and the 'p' -> "Separate By Loose Parts..." But this can be very time consuming if your objects are very large, and there's always some risk that it won't go quite right, and it might not preserve the UV info or something like that. Using a duplicate is just safer, and eliminates the need to "Separate By Loose Parts," which might take a long time.

  • this seems like a really long winded way of doing this doesnt it? having to line everything up perfectly and if you have a complex scene I could imagine this taking up a LOT of time. Thanks for the suggestion though, I will give it a bash and see what happens – Jay Jun 9 '16 at 11:13
  • It depends on how complex your scene is, and how well you UV map in the first place ;-) But no, it shouldn't take A LOT of time. The only thing you have to line up is each UV island. They should all be the same shape as they were to begin with. You just grab each one and move it to its spot on the atlas. I would be really surprised if this took more than 10-15 seconds per object. For 100 objects, you should be done in 15-20 minutes. – Matt Jun 9 '16 at 13:08

This works, not the intended way for TextureAtlas add-on, but it works :)

For Cycles Render:

Enable the following add-ons that come with the default Blender:

  • Copy Attributes
  • TextureAtlas
  • Node Wrangler
  • List item

  1. Unwrap the lowpoly objects individually
  2. Create an empty image in the Image Editor
  3. Move the hires objects on top of the lowres objects (Select object-hires and object-lowres, Ctrl+C, Copy Location)
  4. Select the lowpoly objects and create a TextureAtlas group
  5. In TextureAtlas: StartManualUnwrap
  6. Go to Edit Mode and open Image Editor (and close the current image if there is one)
  7. Select all UVs and press Ctrl+P to pack the UVs
  8. Leave Edit Mode
  9. In TextureAtlas: FinishManualUnwrap (this is because we need to save the new UVs to the lowres objects)
  10. In TextureAtlas: SelectGroup, StartManualUnwrap
  11. Go to Node Editor (Shift+F3), check 'Use Nodes' for the selected zz_TextureAtlas_NO_Material
  12. Select the Diffuse BSDF node and press Ctrl+T
  13. In the Image node, select the empty image
  14. Select the hires objects and create a second TextureAtlas group
  15. In TextureAtlas: StartManualUnwrap
  16. Shift-select the TextureAtlas_mergedObject
  17. Bake the normal map with the 'Selected to Active' checked and with a good 'Ray Distance' value
  18. Delete the TextureAtlas_mergedObject and TextureAtlas.001_mergedObject
  19. Unhide the original objects in Outliner (and remove the leftover TextureAtlas groups)
  20. Done! :)

Imgur

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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