Drag n' Drop Material to Collection
Have you ever tried to assign a material to every object in the same collection? the tedius repiting commands of:
selecting one object from the collection > change it's material > right click and select all object of collection > Shift+L "Link Materials"
What I propose (since we have the shiny new asset browser) to allow us to drag and drop the materials to a collection, thus assigning every object inside it the material chosen!
14 Comments
Just a question. What is expected when an object has multiple material slots. Update all, the active slot or the first one. What would happen when there isn't any material slot available. Should Blender silently create one or ignore the object.
When an armature is part of a collection, but its meshes aren't I would expect that the materials would not be updated.
There are quite some questions that would need to have agreement on what 'all' users expect. We could make everything a parameter of course, but still what would be the defaults.
just realized I hand't taken into account the entire user base of blender, and was mainly thinking of how I use it. with that note aside:
the main use case I was envisionning would be to batch replace materials inside said collection. these object would have a single material slot active.
To make things clear for multiple material slots mesh, we need to set name for material slots. Then we can use slot name to copy material as we need only when there is same slot name. Without set material slot name, I do not think we can manage materials of Multiple material slots mesh .we only have strange box, which can set / link material without label. It is reason why I still request to offer material slots name or material map name.
How about select all objects, right click a material in the Asset Browser, Assign to Selected Objects.
It would of course obliterate all materials and slots currently on the objects and replace the with just the one.
Finally the gods have listened to us... and they are going to implement a more versatile, comfortable and intuitive Drag and Drop system in the outliner. developer.blender.org/T68502
Interesting... I just played a little with C4D to see how it works and to have a reference, in its "Object Manager" that would be "Outliner" of Blender has a "Group Object" that would be a "Collection" in Blender and if you can assign a material to everything it contains, if it has elements that do not receive material simply ignores them, if the object already has a material, it prioritizes the one it has and not the one in the group.
Of course the "Object Manager" of C4D is the best thing that C4D has, you can hierarchize anything and everything you assign to the parent inherits the children as long as they can receive the attribute, if they can't it ignores it as simple as that.
I just did a test "Drag and Drop" objects as children of a camera and assign a material to the camera (🤯) and the objects that can receive the material receive it.
I think for this to work in Blender there should be a Drag and Drop system to the outliner, be these materials or deformers..., that's the key and we would have an empowered, versatile and powerful outliner.
Collections are not groups.
C4D is a completely approach in the architecture. Materials aren't dragged to the object manager for organization; it's done to assign the material to the object/selection - ie, there's no object property as such.
Furthermore, the hiearchy approach used does have advantages, but also significant drawbacks.
What should happen if an object is in multiple collections?
My tag proposal could work well. If you have smart tags that group type you could assign material to groups. Because collections not only group meshes but also lights, camera, bones.... Imagine the possibilities you could also drag and drop deformers to a tag.
Tagging seems like a lot of work a user has to do and think of which might not be discoverable. Not sure if the functionality would be used that much.l to solve this feature request
Tags are the future, MacOS has it and it makes a big difference vs windows in terms of organization, it allows to remember other software that work based on tags... in fact now that I think about it C4D works based on Tags to provide attributes... and it is super comfortable and intuitive to handle.
Even Asset Project itself is going to implement it to organize the material. developer.blender.org/T54642
YesbI am fully aware of tags and the asset browser as I was part of the development team who added it. But how would tags solve this specific request?
Forgive me for referencing C4D but it is the closest to the idea... If you right click on any (name, icon or tag...) it shows you in the context menu "show help" and sends you exactly to the information of the selected (I would love Blender to show me the help in this way). If I place a materia to any parent in the "Attribute Manager" it has a "Tag Material" behavior, I can't find this manual online because it's built into the program so I'll place a screenshot here postimg.cc/gallery/2z5WQvb
I think if the material had a tag behavior into outliner it might help, I don't know programming so I'm going by references.