Here are two topics in Blender Stackexchange where I’m considering if there are ways to include different animations in different Scenes, other than some workarounds with NLA and Scene timeline tricks.
For example, I’d like my “Walkthrough Camera” scene to have a door swing open as the camera approaches, but stay closed in another scene, that will instead vary the Sun and lights as the day unfolds. Another example would be a character that has a scene.walks and a scene.runs.
I tried exactly this the other day, hoping to come up with a way to create one entire sequence (shared objects, rigs, etc) in a single blend file, separating shots into scenes. Once you’ve got objects linked into all scenes though, there’s no way to override animation on a per-scene basis. I’m not sure what the workflow for this should be.
Suggestion on workflow solutions that would not break compatibility.
In the Object menu either under Relations or Animation, add an item that would make object animation “Edit by Scene”, clear and make future animations owned by this scene.
An alternative or in addition, might be to have the Action Editor have a button that makes an Action “scene overlay”.
In 3ds Max for example, it is possible to split the actions into a Base and Per Scene (add or override), as shown in this cap from the 3ds Graph Editor (note that there are repeating Scene names that is some bug.
This would be a hierarchy of Base animation plus a per-scene animation (Override or Addition options). It is a parallel perhaps to the Animation Layers add-on.
I also think that Keying Sets should have a flag or checkbox that says whether this is universal to all Scenes or owned by this Scene.
Showing captures from commercial software is highly discouraged here (as legal caution). You should instead describe how this would work in Blender, without resorting to explaining how things work in other software.
(I am just paraphrasing what developers usually say when this comes up, it’s not my rule, not my words)
A different camera won’t be useful in such a case.
The goal here is to keep everything the same, including the camera except for chosen objects.
Everything of these chosen objects should be the same in all scenes except for the animation.
Having per scene overrides for animations would be very useful imo. Or actually scene overrides in general.
My current workaround for this kind of thing is:
make linked copy of scene
“duplicate linked” the collection/s the relevant objects are in
unlink the original collection/s from this new scene
replace the actions of the objects in question
This does work but it is not very flexible. If you add some new object to the original collection you have to link the object to every duplicated collection as well.
This gets confusing really fast if you have several scenes with duplicated collections
Ok. How would it be to have a single file with all the content of the scene in a collection? Then you could have a 2nd file that links that collection (multiple times even, across multiple scenes); that setup would allow you to have library overrides, and indeed have different overrides in different instances of the scene.
That’s a good idea. That’s basically what we do in Maya, I mean what we did before the advent of software like Katana, Gaffer and so on : one “set” file containing all environment and lighting data, and separate animation shot files that reference (=link) that set file. It does work. However, it feels like a missed opportunity to have this “scene” concept in Blender and not being able to use it for animation. All the rest works indeed : you can link objects and collections between scenes, override object transforms in each one, etc. and that’s useful for stills rendering -but not much for animation. I understand action datablocks are fundamentally tied to objects, and library overrides don’t apply there… but maybe it’s something to keep in mind for when deeper changes to the animation system are eventually made. It would be pretty close to a “take” system.
Yes, I do that sometimes and it works fine. I think overriding actions has been added in 3.0, right?
Sometimes it is more convenient to not use linked files, though, and here, scene overrides would be very welcome.
I have to admit, that I sometimes hesitate to use library overrides because I am unsure on how it impacts performance. Sorry if this is a bit off topic but if i override a linked collection doesn’t every object inside count as a single object again?
Would not a different camera simply give me a differing view on the same animations because I still cannot change the animation of Object.001 from scene to scene?
It is the clutter of files that I am trying to avoid. I have a character that I would like to “store” 40 separate animations. Why do I need to have 40 files to accomplish this?
What I am uncertain of is performance.
Is a file or scene with 40 overriden characters similar to a scene/file with a single character or similar to a scene/file with 40 characters.
Does anybody know how to find out performance impacts of library overrides.
Alternatively, you could make a little add-on that has a panel somewhere, with a selector to select the “shots” you need. It could then loop over all objects and change Actions to whatever they need to be for that shot. The same add-on could loop over all objects, see which Actions are used by them, and record that as a new “shot” to add to the selector.
Sometimes, when you want to reduce clutter & repetitious work, a bit of scripting can go a long way.
Besides potentially when opening (in in some extremely complex scene case, when saving) blend files, performances of liboverrides should be similar to those you would get with local data.
Technically, liboverrides are local data from the point of view of most of Blender.
Miss Daisey is driving me crazy! I finally got time to try this. This didn’t work for me, v3.0.0.:
“In scene 1 make a library override of ColChar”, also duplicated the override in the “Linked Copy” (there is no Linked Duplicate, only Linked Copy and Copy Settings, btw). So the char is then still tightly linked and so the Lib Override also appears in Scene.002 outliner. and so applying “Walk” in scene.001 also applies Walk in Scene.002, then applying Run in Scene.002 applies the same to scene.001.