← All ideas

Universal Linkability and Streamlining Instances

Made another suggestion about making modifiers linkable, but got off-topic and decided this is a separate suggestion entirely.

Blender has different confusing ways of linking, instancing, overriding, using as an asset...

I think there should be some discussion on clarifying and unifying these things with how people think things should work.

Duplicating something and them not staying identical is a little confusing, but then you hear about linking and understand that linked things will be the same.

Until you encounter something like armature modifiers not being symmetrised and realise linking is very specific in what it links and what it doesnt. Meshes are linkable, but objects arent. Vertex groups are linked to meshes, so you cant have 2 identical meshes with different verex groups. Linked meshes can have different materials, but instances are identical copies that cannot be edited. Modifiers are completely individual.

You can't override instances, but if you go into a different blend file and link in a model with an armature, you can override it and have a poseable rig with a model you know will never be accidentally changed and will remain the same if you edit the original file. This is really janky. Why can't I override things in the same file?

Before I give a proper proposal, first I want to say that doing any of this would probably be a huge task, let alone think about how much stuff this would break probably to make it work. But I think it's a really important and underutilised part of Blender that needs attention.

I think that Linking and Instancing Collections should be combined. When you link two objects, they should always remain perfectly identical, like an instance, until you specifically override the parts you want to change.

With this, everything (or, as close to it as possible) should be linkable, and unlinkable (AKA overrideable. That's another point of streamlineability, overrides and links are currently entirely separate things that accomplish near-opposite tasks!)

If you're confused, let's imagine you have a scene with a few trees you want in specific spaces at different scales and colours.

You make one tree, and one material for that tree.

You duplicate the tree, and make it linked. That tree is now, essentially, an Instance. You can't transform, edit, or give it different materials.

Now, you override/unlink the location and scale of the tree, so you can put the tree in different places, at different sizes. (And different rotations if you want to do that too)

This may be bit too ambitious, but consider the possibility; You don't unlink the material of the tree, but unlink the colour specifically in the material, so you can keep the texture and such identical between the trees, even if you edit the texture later. (Assuming its a procedural one I suppose, since images basically already do this since they're external)

In a few clicks, you have perfectly identical trees with different positions, sizes, and colours. You can rest easy knowing if you change the, say, solidify modifier on the 'master' tree, all the other trees will be updated too, and you dont have to remember to select them all, hold alt, and then edit the solidify modifier, as you currently do.

Alternatively, there are no overrides/unlinking, only links, and when you duplicate an object as linked, it shares all the same links, which you can then change. This is more similar to how blender currently works, but I feel it's a little more error-prone as people forget what parts they want identical and what parts they dont. Plus, if everything was linkable then everything would need its own name, and theres already so much renaming...

Of course all of this is very doable currently in Blender. But it's often hacky or takes a long time, a complex setup, or has limitations. Not to mention some parts of Blender are just... kind of broken when it comes to keeping copies of anything truly identical. Especially symmetry, as I discussed in my other suggestion.

Thoughts? It's probably a pipe dream feature, but it'd improve so many little things.

0%

Development Status: Open

Upvote 0 Downvote 0
omega
30 May 2024

0 Comments