I'm fairly new to Blender. I'd like to be able to easily make assets that I will reuse, while working on a scene. (Assets could be models, but also materials etc.) I want to do this non-destructively, so I can edit the asset and have all the instances update. Specifically, I want to achieve the following:
I initially develop the asset in a simple, clutter-free environment with just a simple lighting setup, for quick rendering
Then I add multiple instances of my asset to a scene
The version in the simple environment and the versions in my scene stay linked, so that I can either edit the asset in its original simple environment, or I can edit it in the scene, and editing one of them will change the other.
The best / most convenient workflow for this doesn't seem to be obvious. Here's what I can think of so far:
Create a new blender file for the asset. This seems to be a non-starter, because you can't open two .blend files at once, so I'd have to constantly save my file, reopen the other one, export the model, save the file, open the other file, import the model, and so on. There would be no hope of making small changes to the asset and instantly seeing the effect in context.
Design the asset in a new scene within my blender file and then instance it within the 'main' scene. Initially this seemed like the obvious right way to do it, but the problem is you then can't adjust the asset without switching to the other scene, as I described at Editing a material when it doesn't exist in the current scene.
Create the asset in the same scene, just far away from the main scene. This seems awkward, and all the content of the other scene slows down the rendered view.
Use view layers to swap between the 'real' scene and a test lighting setup, as suggested in the answer at Editing a material when it doesn't exist in the current scene. This seems like it would work, but that feature isn't designed for this and I have a hard time believing it's the right way to go about it.
Design the asset in a separate scene, but when I'm ready to put it into the main scene, copy it instead of instancing it, and then instance the copy. Then I can adjust it in context, but I lose the ability to go back and edit the asset in its own separate scene if I want to.
Use the asset browser: create a separate file for my asset, put it in the Assets folder, then drop it into my scene. There are multiple ways of adding it:
link
,append
, andappend (share data)
. Unfortunately none of these quite achieve what I want.Append (share data)
comes the closest, since I can put multiple instances in my file, which are linked and I can edit them in the context of the scene. But I can't then save those changes back to the asset library1. This seems like kind of an idiotic design decision, since it almost solves the problem but then goes out of its way to make things awkward at the last step.
1well, I can if I move the whole scene into the asset library folder and save the changed version as a new asset. But then I lose the ability to edit it in its original file, with the simple lighting setup, so even that doesn't achieve what I want.
My guess is that a good way to do this does exist, but good workflows aren't necessarily obvious to a beginner, so I'm asking here.