0
$\begingroup$

I would like to create a texture atlas for a larger scene with all sort of objects without having multiple copies of the same texture in it, based on how many times that object appears. So for example lets say I have 6 identical trees and 2 identical houses, I would like my textures atlas to contain one tree and one house texture as if I only had 2 objects, instead of having 6 tree textures and 2 house textures that look exactly the same.

I did find a solution to this, however it's not easy to use so I'm wondering if there's another easier way. The way I can do it is when I'm done with the scene is to delete all the copies so I only have 1 instance of every object. Then I can just join all the objects into 1, create a new UV map, bake my textures into a new image and be done. (I found this method here: https://www.youtube.com/watch?v=Tj-S5QAac3U ). Once my atlas is created then I can separate all of my objects and make copies again and move them where the old ones used to be. The new copies of the objects will take their texture from the atlas without needing to have that texture appear multiple times.

The issue with this technique is that if I end up adding a new object at any point in the scene, then I have to do this whole process again which is pretty annoying and time consuming especially if the scene gets larger and more complex.

So what I'm wondering is if there's a better way to create a texture atlas which will know that some objects are just copies and will only include 1 texture for all of those instances of the same object inside the texture atlas.

Thanks in advance!

$\endgroup$
2
  • $\begingroup$ Why not using linked duplicates ? You choose texture for one of them and other 5 get it as well. $\endgroup$
    – Mr Zak
    Jan 4 '16 at 19:17
  • $\begingroup$ The issue with linked duplicates is that when I join my objects to create the atlas, the link is lost unfortunately. $\endgroup$
    – stefanplc
    Jan 4 '16 at 21:03
0
$\begingroup$

I ended up finding a solution that is "elegant" enough to where it would work on even larger scenes where you might have 10-15 copies of multiple objects without being miserable to do.

  1. First, I dragged a copy of each individual object away from my scene in an area where I'll basically have 1 copy of each unique object. You can even move these on a separate layer if it helps.

  2. Next I grouped up (ctrl+G) all of the objects that are the same within my scene in separate groups. So all the houses in one group, all the trees in one group etc... You can find more properties for grouping under the Object tab (the square icon 3 to the left from Materials)

  3. Using the simple process explained in the video above ( https://www.youtube.com/watch?v=Tj-S5QAac3U ) I created a texture atlas using the unique objects that I've dragged out of my scene.

  4. Then, I simply went into edit mode and separated all of them out by selection. This is pretty easy to do because I made sure I left some space between them when I dragged the objects away. You just go into edit mode, using B you select the area where your object is and then P and pick by selection.

  5. Next you just pick the groups of objects and the unique object that now has its texture part of an atlas and press ctrl+L to link and link the material and send over the UV mapping too. So for example I would first select the group of houses which has 6 houses that all look exactly the same and then I would select the house that I dragged out to make it my active and then ctrl+L twice to copy the material and UV maps.

  6. The only trick here is that if you want to re-build your atlas at a later point, you need to create new UV maps for all of your unique objects that you've dragged aside. This is simple to do, you just go to the object data tab next to Materials, scroll down to the UV Maps tab, click + to create a new one and delete the old one. Nothing visible will happen when you do this, however if you don't, if you try to join your unique objects with new ones at a later point to try and create a new atlas, your textures will get messed up when you press ctrl+J.

Hope it helps!

$\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.