← All ideas
  • Published 18 Mar 2018

Set surface group of one mesh (with clear suface group name, UVset)

We can assign different material for surface part , which we selected .

but blender do not assign material for "surface group" with group name. When mesh have many surface parts with diferent material, it make me difficult to exchange materials more flexible.

Though I know, there is already option,to exchange all material from same mesh with different mat, but I hope to exchange only some parts of surface which we selected only.

If user can set "surface gorup" first , then assign "material (nodes)" for each surface group,we can exchange mesh mat, and keep materials more easy.

Blender 2.8 seems offer material library, (I hope so), then I hope blender divelopers take into account "use surface group (for mat)" to manage mesh materials (for cycles or Eevee nodes).

I hope new option, which can set "surface group (or material group), in edit mode with clear name, in material properties tab.

it is almost same, when we make vertex group in mesh properties.

And If it can exchange material with different UVset for each surface group, it become more flexbile. (of course, to apply material, UVset need to be made for same mesh parts, but we can exchange material with UV set of surface group which we decided only)

0%

Development Status: Open

Upvote 0 Downvote 2
fun2tax
18 Mar 2018

11 Comments

Lauloque

I hope to exchange only some parts of surface which we selected only.

Well, just change the material assigned to the material slot corresponding to the part you want to change : mat slots

You don't really need a group name IMO. About UV sets, well, as you can use one or more UV sets or no UV set at all for each material, and as you can use the same UV set along multiple materials as well, I don't thinks it makes sense to have some kind of UV set attatched to "material groups".

2
jason

How is this different from Material slots and UV layers?

2
fun2tax Author

@Jason van Gumster: It show heavy difference when you manage many material presets for same character with many material (surface group).

lets see this figure materials which import from other 3d aprication. This character have almost 15 material parts in one mesh. Actually it is really annoying to keep and manage this character skin sets (or material presets) in blender.

Please imagine , you have already made and keep many "material skin sets" for same mesh in other blend file for cycles. Now you hope to change current character skin as you need with these your custom mat of each skin part.

Then exchange some skin parts material (nail , lips , sclera or hands nail, etc) from which you have already made and keep in other blend files.

If blender can change some skin part at same time, with clear "surface group", I may only need select some surface group, then select and exchange those part material, from other mat file.

And I do not lost which part (mesh faces) was assign for the each material. Because, Each surface group parts have clear surface name, it never change, only material name , which currently used will be change.

we assign or apply "red eyes" material for "pupil" surface group. or assgin "body part1 " material for "hands" "legs" etc. If we can still see surface group name with current assign materials(from library), it is clear and logical way to keep material library I think.

jason

@fun2tax: I'm still not seeing how what you're describing is all that different from what Blender already has. Materials can already be linked and hot-swapped just about anywhere in Blender.

Perhaps it would be best if you made a mock-up that shows the workflow you're envisioning for this and how it would fit in Blender's UI.

1
fun2tax Author

@Jason van Gumster:

I hope to offer mock-up, but I think it is simple enough,,,.

Jason , have you played with poser , daz studio, or iclone etc? These aprication are mostly used with "Actor" figures. Then use "surface group name" to set "material" for "Actor" or scene props. If you have tested those aprication, you may think same thing. I believe.

I know blender is full 3d modeling ,animation, render tool. It is not specialized to use "presets" of products . And I heared, blender developer hope "user learn and make material by your self" . Then Blender have already offered way to exchange material and keep in blend file .

But I said "current way" is not so smart to manage "many material presets" for one complex mesh (character or complex props) (with texure maps) from your asset material library.

Because "material" have name which we set , but the "face part" have no name Then if you hope to change material of faces, you need to check, which faces will change.

"surface group name" help much to know which face part will change material. then it help to make add-on, exchange muliti "surface group" at once from library.

If blender never offer way to set "surface group name", we can never see "user friendly" asset manager for material".

Lauloque

@fun2tax:

Because "material" have name which we set , but the "face part" have no name Then if you hope to change material of faces, you need to check, which faces will change.

It's in front of your eyes, you see the material on the material slot and on the object itself. If the material is correctly named, it's even better. I don"t see the scenario when it's problematic.

"surface group name" help much to know which face part will change material. then it help to make add-on, exchange muliti "surface group" at once from library.

How does it help? Why? How could it be implemented in Blender ?

If blender never offer way to set "surface group name", we can never see "user friendly" asset manager for material".

If you just need to set a group of geometry with a name, how about Vertex groups? They have names, and I bet it's really easy with a bit of python to assign a material slot from that. And assign a material to that specific slot.

I hope to offer mock-up, but I think it is simple enough,,,.

If it was that simple, nobody would ask questions about it nor downvote it.
Asking a feature and saying " it's simple " or " if you know x software you know what I mean ", it isn't enough and it doesn't help.
You have to explain how it works, why it's needed, how it could be implemented in Blender. If you don't do it, nobody else will.

jason

@fun2tax: I think I'm starting to grok our fundamental misunderstanding here. I think you're conflating two separate features/issues.

The feature of hotswapping materials on objects (and parts of objects) in Blender is already there. Maybe the interface for doing that could be adjusted, but the feature certainly already exists.

What it sounds like you're mainly asking for is just a material library that ships with Blender. That's a separate feature. The capacity for having a library already exists in Blender as well, but it could use refinement (and is). No one, as far as I know, is working on material presets at the moment. But this is something that any user can actually do. Use your skills as an artist to make that material library. Then offer those presets to the Blender developers for consideration to ship with the official version.

fun2tax Author

@Jason van Gumster:

Yes I am sorry if my english cause miss understanding.

As you said, I know there is way to hotswapping materials. but it is not so convinient, when mesh have many part which use different uv set, (and the part which we change material)

I hope to say, , "surfce gorup" may better, clear spearate " from material name. At least I need option, to set "surface group" and separate it from "Material" (or node group which used for the mat with texture")

I think, blender use "material" for both meaning. when it made and assgined, the material name used as "surface group" in UI. but it is not useful to save and keep many "material preset" for one complex mesh (like figure which have many UV parts)

So I simply request, "more userfriendly way to "save material preset" of user seleced parts (surface gorup) in library, , and load and apply them on to the mesh which I made material presets.

I feel, when we talk material library, there seems two mianing. One is single material library, which can be applied on any mesh. Yes I can make "material lbirary" for material as blend file. but I often work with one same actor mesh. (of course I use many shape keys, and made pose library, keep some rigs etc) but blender not offer good way to store and save "material preset" as library for one same mesh.

If I miss something, can you teach flexible way, how you make and store material presets (skin set with many shader texture) for human character ? and re-load (apply) them from the actor material library?

I often tweak material for the character with cycles node, but hope to keep them all, if blender can save "material preset" of each selected surface group, then can load them, with material name which I named, it is really easy to make "material library" for current working mesh.

Why I asked it because, I though blender 2.8 improve asset management. asset management include "material lbirary"

I know blender is not DAZ studio or poser etc,, but hope my workflow become more simple like those aprication. hope just save material preset which I made, then load them from library and change material as same as daz studio or poser etc.

I do not hope append and serch around material, in dorop down list, or load mesh, then transfer all, or not hope.

And I do not say, "I hope to buy library or hope to use many user made skin" I simply hope to improve way, to save and mix use my hand made material more flexible for character in blender.

Lauloque

@fun2tax:

I think, blender use "material" for both meaning. when it made and assgined, the material name used as "surface group" in UI. but it is not useful to save and keep many "material preset" for one complex mesh (like figure which have many UV parts)

I don't think so.

The "material" is only a bunch of rules and properties and textures which defines how light affects any surface using that material. That material is stored in the .blend file with a user-defined name. Materials at their very raw state are not linked to anything but the .blend file, they are independent. A material library is nothing more than a bunch of materials in a blend file, it has nothing to do with objects nor UVs nor surface groups. (UVs can be called in the material, but either in a relative & non-destructive way or in an absolute and not re-usable way)

Then, when you want to assign a material to an object, you have what's called a " material slot ". You can think of it like a box attached to your object where you put a material in and say "whatever's in that box will affect X part of the object. You can define that "X" by the "Assign" and "Remove" buttons in edit mode. You can change what's in that material slot at any time. You can add and remove material slots at any time.

If I understand what you say, you want the material tab to display Material slots names instead of material's names. But I don't understand why you need that, nor how to apply that to how blender works now and how that could be both useful and not disturbing for other blender users.

If you just want the ability to say "I want to set material_07" to all the "skin" part of different objects", then it bet can be done with a python script and by norming you material slots and using vertex groups. I.E. you have several characters objects with a "skin" vertex group, and you tell your python addon to take that "skin" vertex group and assign a material slot to it with your chosen material in.

1
fun2tax Author

@loic.dautry:

Sorry I do not against your view, but I think you miss understanding what I request here. I did not ask how to swap material, and I did not ask how to save material etc, And I know how to "apped" or "Link" mat, I know how to copy and paste all material from another mesh. (I often use it, to exchange my actor mesh mat. if I just append material to serch "each material with different texture) in material slot is terrible work for character which have more than 10 matrial part.

All you replied here, actually I have known already. It is good for new user who do not know how to save material ,or how to swap material of current scene in blender.

What I asked is, not just swap material which saved with mesh (or obj) as Fake user. But way to re-apply "material sets " of each part,, which saved in another blend file, at same time, By one click .

In another aprication, it is called as material preset too. Then I can easy re-apply or change all fgiure material by one click.

now I have figure, which have 15 surface part.then apply different material for each surface part. then after made material set for the character, I can save it as "material preset" file.

then when I hope to change material, I can change all at once by apply preset file. or I can exchange only about surface group which I selected from the material preset. (so it can be named skin sets of the figure) That is what I hope.

work flow is like that,

  1. select some surface (which you assgined material) part by click in UI
  2. serch library which I saved as material presets, click button.

then only exchange material which saved in another file about selected surface.

it is not only about character figure, but you can use same way to save material sets for every mesh which you made.

So my request is blender offer same way to keep and store material sets and easy apply or exchange them.

jason

@fun2tax: This is why I suggested that you make a mock-up that shows the exact workflow you would expect in Blender. In Blender's interface, what would you click and what would happen when you did so? Would this replace Material Slots? It doesn't sound like that's what you want... so where would users do this interaction? Where would they be able to define and control it? What would that look like?