← All ideas
  • Published 2 Jan 2019

A new "aggregate object" to structure the models

With the new collection system appeared with Blender 2.8, we have the capability to organize our views. It is great as the limit of 20 layers has gone. Moreover, the objects can be placed in different collections for reuse in multiple views which is the purpose of the collections.

Unfortunately, this way of organizing the objects in collections does not allow the use of modifiers on collections, because the same object can be placed in several collections.

I suggest to have a new "aggregate object" for that purpose, to help structuring the model in a tree fashion, and able to propagate modifiers to the sub-objects. The composite object would be more like an empty as it is purely structural. The objects may only be contained in 1 aggregate.

While aggregation is only about structure, parenting is about behaviour. But for some aspects, aggregation and parenting are concurrents. For example, moving a parent object also moves the children. The same for aggregation. This is a concurrent aspect. Maybe aggregation is an extended concept of the parenting or reverse ?

I think that this should be investigated further as modifiers could be probably only a part of what could be propagated to sub-objects.

93.8%

Development Status: Open

Upvote 15 Downvote 1
pcservice.dordogne
2 Jan 2019

10 Comments

jason

Technically, something like this should be possible in the future on collection instances after instance overrides are implemented..

1
chris-1988

Blender have a way for aggregation of models in to a tree of objects, to see it you have to - Turn off Collection in options of Outliner.

As for a modifiers I think we should have possibility to add modifiers to Empty - objects and by doing so have its children be affected.

1
JeffG

Just wanted to say I like this idea as well. I don't really know what functionality exists in there at the moment, but a collection instance isn't really the same as an aggregate object. Something like a "prefab" in unity (or scene in godot), with it's own origin (I know unity calls it a position for prefab, and maybe not exactly the same concept - unsure, but an aggregate with an origin. That way you can treat it as an object, but be able to have parts "disengage" when needed (unlike a joined mesh).

I was kindof forgetting about parenting when I wrote this ...

Josephbburg

I like this idea, I wonder if it could be possible to add modifiers to collection instances?

pcservice.dordogne Author

@Josephbburg: As previously said, it is not possible because objects can be in several collections. So it is not possible to manage cascading modifiers without affecting the other collections.

emil.assarsson

I think that using regular parenting relationships with far example an empty would have the same use. It might be extended with a modifier that created a cached named mesh of it children. There still remains question marks what should be done with other types of objects such as lamps, cameras, curves etc. Some could be converted but some needs to be handled in another way. I don't think that we need to add an extra concept like "aggregate object"

pcservice.dordogne Author

@Emil Assarsson: At the moment, the idea is to find a way of cascading modifiers in sub-objects. Maybe the solution is in an extension of the parenting relationship or maybe it is somewhere else.

pcservice.dordogne Author

To be honest, I also use Sketchup for modeling. Particularly for architecture and woodworking. And I really like the way you can structure the models with groups and components. It is really intuitive. And using layers to show/hide the objects is well. But Sketchup is not for animation.

belimlin

Objects should not be allowed in more than one collection. This hampers a lot of possible workflow upgrades. This is only one of them.

pcservice.dordogne Author

@Okavango: I do not agree. Collections are really good at organizing view layers for rendering. Some objects needs to be rendered in several view layers for compositing purposes.

The alternative could be to allow clones to be added to other collections. But it means separating the object definition from its instance(s). Alt-D does not clone an object, because when you change the dimensions of one instance, it does not affect to others.

For me, separating object definition from its instances is a must. Because it can reduce the overall size of the data. It seems that it is what the asset manager intend to do. Having the defintion of object(s) in a file and reuse them in other files. So an object instance is linked to an external defintion. But that could be done inside the same file.