Scene Assembly
Blender - Scene Assembly
Objective
The purpose of Scene Assembly is to offload Blender from all modeling functionalities, which are very heavy and performance-intensive, in order to enable a much smoother real-time experience.
In terms of performance gains, we are talking about approximately 10 to 20 times better performance .
Functionality
Interface Comparison
Before (Old)
- Classic hierarchy in the Outliner.
- All objects displayed in the same way.
Now (New)
-
A new arrow icon indicates that a mesh is usable in Scene Assembly.
-
If the icon is blue , the mesh is active and present in Scene Assembly. Otherwise, it will not appear there.
-
The icon is a visual indicator only; it does not affect the geometry. It signifies that the mesh is automatically stored in the asset library and marked as "Available" in Scene Assembly.
Technologies Used
- Texture streaming
- Texture cache
- Geometry streaming
- Instancing
- LOD generation (Levels of Detail)
- Frustum culling
- Distance culling
- No modeling features
- Use of rendering engines
- Real-time usage (to support "real-time interaction" and "virtual production")
- Many more techs and pipeline integrations
Available Features
-
Gizmo support:
- Rotation
- Translation
- Scaling
-
Geometry Nodes
-
Shading Nodes
-
Compositor Nodes
-
Simulations features
Scene Assembly Contents
Scene Assembly includes also :
- Blender's standard functions without mesh editing features
The goal is to allow heavy scene assembly without direct geometry editing. This enables performance optimization for layout, lighting, and rendering tasks while keeping the interface responsive and interactive.
Geometry can also be streamed directly from the user's disk if the
.blend
file is saved locally on the user's machine.
6 Comments
I can think of two or three other 3D applications that have split modeling and animation / rendering into two separate applications. Not many people use those softwares anymore. Artists have proven over the years, with what software they choose to use, that they prefer a unified package.
What is that performance estimate based on?
This is already possible using USD. In USD you separate the data from functionality and you are able to choose the best technology that seems fit for your production. However splitting Blender in several applications isn't realistic as that doubles the maintenance costs easily.
So question back is why do you want this in Blender as there are other applications that can do this already and integrate using USD.
In my opinion centralize all worrkflow and unify the workflow in blender are the best way because we can do a lot of things inside blender, and i don't want to switch or learn an other software while i understand Blender perfectly for me i prefere to have all features inside blender and stay in blender and don't need to bake everythings and switch to an other software. This is for that is verry important to improve Real-time or complex scene/geometry in Blender
The masterclass of that is creating a simiar DCC like "Solaris" or "Katana" but made for Blender and created by BF and based on USD integration inside Blender. Like an dedicated workspace !
Then please reread your proposal and see where you explain what scene assembly is. I couldn't find a clear explanation on what it does, solve and how users can use it and why this is a good approach. I only read a bullet list of technologies that it may use. You do a comparison, but it isn't clear at all what the you're saying.
You mention that parts will be offloaded to scene assembly. but what is it. Is it an under the hood component, an editor, a node tree. It doesn't have modelling features. You do mention a workspace, but now how it looks like.
USD seems to match what you ask, also calls it assembly. To be clear USD isn't an import/export integration. It can be used to offload editing to rendering inside the same UI using Hydra. Check gpuopen.com/learn/amd-usd-hydra-blender/
The list of technology used is a separate topic as you also want that when modelling if possible.
IMO it is better to implement this using USD as having multiple features that do roughly the same isn't worth the effort. There are already many development effort going into USD.
Hi Jeroen, I think my proposal ties in with this. We need a node based system to allow for a better scene assembly in Blender. blender.community/c/rightclickselect/492x/
Is it just my impression or this looks like the game engine that was removed at some point? Maybe that idea can be revisited in the updated context.