I've imported a model into Blender, which is already fully textured. It looks great in Blender, but in the game the textures are off, because the game doesn't support having multiple textures per model.

To fix this, it seems I will have to merge the materials used by the model in blender so that the game only has to load one texture over the entire model. Everything I've seen says the way to do this is to unwrap the model and bake it, but unwrapping the model always scrambles the texture mappings, ruining everything. I've been looking at various sources for a solution, but they usually require a previously made UV map (which I don't have since the model has been imported) or suggest simply texturing it after the UV map has been made (again, not really an option).

Is there a solution for this? Or am I missing something? I'm still relatively new to blender, so the later option is entirely possible.

  • 1
    $\begingroup$ You may find blender.stackexchange.com/questions/51746/… useful, you can create multiple uv maps on a single object, that way you can preserve your old texture layout and use the new one as the bake target. $\endgroup$ – Sazerac Jan 16 '19 at 3:45

The coordinates you are using before uv unwrapping are called "generated" coordinates, and they aren't actually destroyed by unwrapping, just swapped out. If you look at the node setup you're using to make the procedural texture you started with, you'll notice the textures have inputs for the coordinate mapping. It's possible to manually set them back to generated coordinates without discarding your uv map, allowing you to bake the textures as originally designed.

  • $\begingroup$ How do I do this in the node editor? The materials seem to have nodes turned off by default, so I had to manually define them to make the node editor use-able. In Blender Render mode, the Material node I'm using does appear to have a normal input; is that what you mean? If so, what do I input to it to get the intended effect? $\endgroup$ – Pacca Jan 16 '19 at 6:29
  • $\begingroup$ The input you're looking for will only appear on textures like images and procedural patterns (noise texture, for example) and is called "Vector". I think on non-node textures you might also have that option as a dropdown, but the node editor is pretty much going to be the only shader editor going forward so probably best to migrate now. The thing you input to it is called "coordinates" and it's an input node you'll need to add yourself. $\endgroup$ – Tmr Jan 16 '19 at 18:44
  • $\begingroup$ How do I convert the non-node defined material into one that can be manipulated in the node editor? Trying to recreate the material by hand without using a material node is proving difficult... $\endgroup$ – Pacca Jan 16 '19 at 19:44
  • $\begingroup$ I think you will need to do that part manually. Materials done the old way were really hard to work with because the many connections between the texture editor and the material editor were not visible anywhere but in the final result. From your description of the problem, it's starting to sound like the model already had a uv mapping when you got it, and regenerating it broke it. If that is the case, you actually don't need to make a uv map, just follow the steps for baking minus the part where you uv unwrap. $\endgroup$ – Tmr Jan 17 '19 at 0:15

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.