0
$\begingroup$

This might be a nooby question, but https://i.sstatic.net/X0KVU.jpg There's an object from a game I extracted, it has 2 materials, 2 uvmaps, but I can only choose to view\render 1 uvmap at a time. Also the mesh's vertices all seem to have the first material assigned to it. How do I make it so that one material has 1 uvmap and reassign materials to the vertices it should be on? Here's a blend file http://s000.tinyupload.com/index.php?file_id=00005335799690728226

$\endgroup$

2 Answers 2

2
$\begingroup$

To assign the second material to the second UV map:

1: In Edit mode, UV Editor, enable UV Sync Selection.

2: Box select all the UV vertices at the lower left hand corner.

In the 3D Viewport all the vertices associated with the second UV map should now be selected.

4: Select the second material and Assign this selected geometry.

5: Change the Viewport shading to Material Preview.

When done don't forget to disable the Sync Selection option in the UV Editor.

enter image description here

enter image description here

$\endgroup$
6
  • $\begingroup$ Lmao never would've thought to select a vertice in the corner xD $\endgroup$ Commented Nov 13, 2020 at 10:52
  • $\begingroup$ Ok, I did all that, but the material shading and render still only show one material or the other, depending on which uv I choose in uvmap in object properties... I could separate the object by material and delete one of the uvmaps but is there a more.. proper way to fix it? $\endgroup$ Commented Nov 13, 2020 at 10:58
  • $\begingroup$ For me it is showing both materials in Material Preview and Rendered. I have added my .blend file to my answer so that you can download and check to see if there is any difference in setup. $\endgroup$ Commented Nov 13, 2020 at 11:38
  • $\begingroup$ As an alternative I would also separate by material, delete the unused UV map from each object, rename the UV maps so that both use the same name and then join the two objects again. In the node editor for each material make sure that each material is using the same correct UV map. $\endgroup$ Commented Nov 13, 2020 at 11:45
  • $\begingroup$ Yeah so I did end up having to separate-rename-merge since I had to have 1 material for an import later anyway, but yeah, when I opened your file and chose the second uv map it showed both materials... But you also have uv map plugged into a vector node (directly) and it works, in 2.8 anyway, so it might just be older blender shenanigans... $\endgroup$ Commented Nov 15, 2020 at 10:09
1
$\begingroup$

This is quite common with photogrammetry stuff or objects that they have been Unwrapped procedural. Usually you have two materials with one UV map assigned to each because the projection of the texture is being done per vertex, so imagine that you have a table with three columns [vertex id] [UV id] [material id]. This would be easier in blender if the imported objects (like the one that you are dealing with) were being followed by masks so you could use one material with multiple UVs. But since you are about to mix only Color information the Renderer will never know really how to blend it and mask the information accordingly.

There are few workarounds.

  • The most efficient one imo is to bake textures to a duplicated object. Especially in the case that you do care mainly about the color information.

  • Another workaround is to expand the UV space, but this is not very appropriate for blender and it might be very tricky to copy and transfer the different UVs. Except if you get in advantage the different materials you have which are being assigned to certain faces (vertices).

  • A last one and the most complicated for me, was to mask the different textures in Blender shader graph. using one material, which is what you intuitively trying to achieve I suppose. For this you will need somehting like this:

enter image description here

But I doubt if this will bring to you the desired result, as I mentioned above you will need some maps to address properly colors.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .