This year's BlenderCon included a series of presentations showing a preview of what to expect from Blender for the next decade. Here’s what’s coming down the pipe.
A few years ago, the massive investments that companies like Epic, UbiSoft, Bethesda Softworks, and a few others made in Blender lead to a huge development effort. Most of that effort was under the hood, building things like the new nodal geometry engine, new rendering optimizations, optimizing the architecture to improve both performance and modularity, and so on. During that period the Blender 2.x cycle went through dozens if not hundreds of point releases.
Less than a year after the Blender Foundation released Blender 3, there have been three major point releases, and these have all brought huge improvements in features and usability.
This year's BlenderCon22 included a series of presentations showing a preview of what to expect from Blender for the next decade.
Being a vision intended to span a decade, the list of goals and plans is far too large for one article, so here are some highlights.
Since it's getting rather long in the tooth, the Blender animation system is a prime target for a major overhaul. The Animation and Rigging module presented a vision for an animation system for the next decade. The core principles are focused on performance and ease of use, and emphasize facilitating creativity with direct feedback and visualization.
Making the rigs easier to build and to understand is a big part of accomplishing this, but also providing visual feedback to the animator to help find problem areas in the rig that are affecting responsiveness will help animators keep their workflows smooth. The proposed list of animation features is quite large.
The project is slated to begin at the start of the new year, and culminate in a next generation animation system by the end of 2025. While at first blush that sounds like a long development cycle, the vision for this is very ambitious. The Blender Foundation is aiming to make Blender the animation tool of choice for all animators, not only for indie animators. That means taking on the industry leader in the field, Maya.
It's also important to note that the project goals are realistic, in spite of their scope; very little of what the team presented is genuinely new. It's heavily inspired by what works in other applications, taking the stand on the shoulders of giants approach rather than trying to reinvent the wheel for the sake of being different.
Texture and brushes
There is a lot of work underway on the textures system in Blender, and an important foundational part of that effort is the brush system.
Part of it includes creating node-based brushes for painting procedural textures, but also being able to distribute, create, edit, and share brushes more easily. The current method is to embed them into Blender project files, which is not friendly for sharing and bulks up the project files. Since brushes will support HDR images they're just going to get bigger.
So brushes will become part of the asset library system. The libraries themselves, being distributable, will be unmodifiable, so the team is developing a concept called “draft” assets. These are transient assets that can be freely customized and shared. The idea is to require explicit saves, so that the users have full control over where they save their assets and to prevent accidentally overwriting existing assets with their changes. The draft concept includes copy and paste functionality that could be extended to enable copy and pasting other types of assets also.
These are custom apps built using the Blender software platform, but configured for a particular need. One example is an architect sharing a Blender project via a Blender app that doesn't do anything but launch and let their client roam around the 3D design without requiring any familiarity with Blender to do so.
While creating Blender apps will require some Python programming skills, the Apps team is envisioning a drag-and-drop template system to help with the process. Templates for Blender apps take the existing Blender user interface template system and save it as part of a Profile. A Profile groups templates, keymaps, add-ons, asset libraries, and a theme with a workflow or a hardware configuration. While enabling Blender apps, Profiles also will enable improvements to the Blender interface as well.
Apps can be distributed in three ways. One is as a Blender file using the new .blendx file format, which can be registered with the operating system to make launching a Blender app as simple as double clicking on it, provided that Blender is installed on the system. To make it possible to include libraries and additional files, there is a Zip project option that includes the additional resources with a .blendx file. The largest but most portable is a standalone Bundle that includes everything required to run the app, so Bundles can run on systems without Blender installed.
It probably won't be long until Blender becomes popular even with people who don't know what Blender is.
Blender's geometry nodes have already gotten a lot of press because of how much power they made available to Blender users, essentially turning Blender into a Houdini Lite.
Continuing in that vein is simulation, which requires that geometry nodes be able to share state information with downstream frames, enabling dynamic interactions like physics based simulations. Initially the simulations will be limited to single objects like sheets of cloth waving in the wind, and then be extended to support interactions between objects.
The way the nodes will work for this is quite simple; there will be a pair of simulation nodes, one for input and one for output, and the geometry nodes participating in the simulation reside between them in the node network. While other nodes can output links into a simulation, the only way to read simulated data out from the simulation is via the simulation output node. The simulation in/out nodes will manage sub-frame steps if they're in use for a given simulation. Simulations will eventually also have an independent clock for the physics engine, rather than relying only on the animation frame count as its unit of time.
Another big enhancement is a loop construct. It will be possible to, for example, create a large geometric object like a terrain, scatter particles on it using criteria like slope angle to control where the particles go, and then loop over the particles and place an instance of an object such as a tree at each one. There will be both serial and parallel loops, and parallel loops will include a loop by count and a loop over elements in a collection. It will even be possible to nest loops inside each other.
All in all, the future of Blender is going to be very exciting.
Tags: Post & VFX