leukbaars / DreamUV

DreamUV - 3D viewport UV editing tools for Blender
1.35k stars 58 forks source link

[Feature Request] Pseudo-Material Hotspotting #14

Open Wahooney opened 3 years ago

Wahooney commented 3 years ago

Something that I keep coming back to in my mind is some sort of way to represent multiple materials on a single atlas, or as part of a trim sheet workflow. One way to do that would be to have the faces of your atlas object assigned different materials (custom face data would be ideal, but I don't know if Blender's API allows for that. Then you can add an option to the Hotspot operator to pick a material index which will limit the faces to those with the correct material. That way you can have a more complex material in a single atlas, ie. sheet metal with or without bolts, seams, emossing, etc. that only uses a single in-game material on your final atlas.

leukbaars commented 3 years ago

Been thinking about features like this as well. Right now it's purely a UV tool but it would be cool if you could have multiple atlases with multiple materials, and it would be smart about how to assign them. I have a bunch of other work to do before I'd want to add this type of complexity though :)

enzyme69 commented 3 years ago

I have a feeling this is possible if you first of all bake the Texture as multiple PBR material as atlas then simply use it with UV.

Check out Blender's add on "Bake PBR" by Oscurart.

Wahooney commented 3 years ago

I have a feeling this is possible if you first of all bake the Texture as multiple PBR material as atlas then simply use it with UV.

Check out Blender's add on "Bake PBR" by Oscurart.

Yeah, my thoughts were to leverage the power of PBR to have hotspots assign different surface properties* with a single texture, so you can have one texture with metal and concrete parts that work together. So my proposed feature would be something like: assign the concrete parts of this texture to these selected faces.

* I think saying material in this context may have been misleading :P