In Blender 2.8 the layer system was revamped, so that objects are organized into a hierarchy of collections. No longer is there a limit of 20 fixed layers.
To make this system more powerful for animation pipelines, we are making a further design change: collections will be data-blocks that can linked and instanced across scenes and files.
Up to now groups have been used for this purpose, but this was somewhat error prone as users had to keep the scene and groups in sync manually. As a result it wasn’t always clear which objects would get linked across or would be visible. In Blender 2.8 we are now fully replacing groups with collections. Existing groups will be converted to collections that are not linked to a scene.
Let’s look at some example workflows.
When creating a forest, we might create assets like trees and bushes in an Assets scene and then instance them many times in another Forest scene. The two scenes might then be organized like this:
Alternatively we can work within a single scene. If we don’t want the original trees and bushes to be visible alongside their instances, we can put them inside a hidden “Assets” collection:
It is also possible to unlink collections from the scene so that only the instances remain.
For linking, let’s consider a character that we want to animate in multiple shots. In the original file we create a few collections. “Hero” for the character mesh and rig , “Rig Helpers” for custom bone shapes that are used in the rig, and a few other collections and objects for doing render tests.
In the shot file, we can now instance the “Hero” collection. This will give us just the character mesh and rig, without the lights and helper objects that are only need for working in the original character file. Note that the helper objects will still be linked indirectly and used to draw the rig , but they will not be individually visible.
From here we can create a proxy as before and start animating the rig. In a following blog post we’ll look at how this will work with the new override system, which is still under development.
View Layers and Visibility
Besides the group related changes, we also made changes to collection visibility. Previously there was only a visibility toggle per view layer, now there is explicit viewport and render visibility again. These are properties of the collection itself, which means they get linked along to other scenes and files.
It’s still possible to exclude specific collections from a view layer:
This can be used for the same purpose as render layers were before, decomposing the render into multiple layers for extra control in compositing, or for rendering the same scene with different light setups. It is also possible to create a view layer for workflow reasons, working on a subset of the scene.
The initial implementation of unified collections and groups is now in the Blender 2.8 branch for testing. We are still working on the user interface and code, task T55099 lists the remaining work to be done.
Another important topic we plan to tackle is bringing back local view and making it easier to quickly show/hide collections in the 3D viewport.