Blender is shaping up to be the best open source project I've seen in my 20 years of tech, and I'm comparing this with many other large ones I've used, like Linux kernel or various distros, FreeBSD, Kubernetes and so on. They do everything so well, even the releases, I think it beats the paid competition now or will soon do in feature parity and ease of use. As of Blender 2.8 the UI is fantastic.
This update comes with many geometry node improvements which continue the trend of making Blender the premium non-destructive modelling solution. I'm in particular interested in seeing how 6900 XT and regular M1 (in Mac mini form) will perform under Metal with 3.1 and macOs 12.3. I was a long time Radeon VII user on Mac but before 3.0 the stability and performance was just not there so I've moved my Blender experiments to Windows and Nvidia which works spectacularly but I'm not fussed about booting win just for Blender. Sadly I don't think AMD is bringing HIP for their older, pre-6000 GPUs https://code.blender.org/2021/11/next-level-support-for-amd-...
100% agree. I've been using Blender for over 20 years as a hobbyist and it has consistently been one of my favorite pieces of software. It's written by creators, for creators, and you can feel the love and care that they put into it.
One area I wish they would start to give more attention is their scripting. I consider myself a Python expert, and the Python API leaves a lot to be desired at an architectural level. For example, many operations (bpy.ops) require an accurate "context" to succeed. This context is essentially putting the UI in a particular state, as if the user had clicked specific items and activated certain windows. This makes the api feel like an afterthought to the traditional UI interaction, and introduces a number of issues that I won't bore you with. Suffice to say, you end up writing a lot of boilerplate to ensure predictable state changes in between operations.
If they levelled up the Python API to be more friendly to the code-oriented generative art crowd, they would be even more unstoppable!
Another example is how incompatible "bpy" is with Python idioms: in Python you're supposed to use `is` operator to compare identity, but since many objects in bpy are short-lived wrappers of the actual C++ data, you have to use equality operator `==` instead. Otherwise you may run into such problems:
"is" is a pretty special operation in python. The only thing it can be reliably used for is to check if two things refer to the exact same object. Retrieving the same value twice has no guarantees about returning the same object twice.
"is" causes so much confusion I'm not sure if it should've been a part of the language in the first place. It can always be substituted with the more explicit
`1 is 1` gives `True` in CPython because numbers in range -5..300 are reused (not 100% about the exact range). This is not a problem, because there's no practical need to compare identities of two integers. There is however a need to compare identities of two bones, for example if you want to parent all selected bones to the active bone, but the active bone is also selected, so when you iterate, you check if the iterator `is not` the active bone before parenting.
Of course in the end of the day it's not a problem that you have to use equality operator instead for bpy wrappers. It's just surprising, non-idiomatic in Python, where a developer unaware of this gotcha would rather think using `==` can give `True` for two different bones but similar enough that the `__eq__()` returns `True`.
Substituting with `id` solves nothing and goes against Python's spirit.
I know why "is" works like it does. I'm just pointing out that having two equal objects from the same source not be the same object IS idiomatic python. The reference implementation does it with something as basic as integers!
Substituting with id goes against the python spirit because "is" exists. I'm trying to argue that "is" probably shouldn't exist. It's a bit of a footgun.
You are simply wrong here. The `is` comparison you show is a CPython specific quirk, and not part of the Python philosophy. How could you think otherwise if it's inconsistent and doesn't apply to all numbers in the same way?
Glad you brought up scripting! I'm 2 years in my Blender journey. I remember downloading it before YouTube existed, took hours to compile the FreeBSD port, launched and got overwhelmed by the complexity, it ended there.
My goal with Blender is to animate explainers and screencasts, how feasible is to have a procedural pipeline where I could just launch Python scripts changing basic properties like text, position? Basically I want to generate animations where I have a bunch of re-useable objects but change their properties via code, is this something Python bindings could help me?
Funny you should ask! Yes, it can be done. I've built something like this recently...my goal was to make programmatic videos of chat conversations. Here's an example[0]. This was rendered totally headless (no launching blender UI) and the input file was a json document that was generated programmatically. I'm in the process of containerizing it so it can be run serverless in the cloud, driven by a job queue.
I currently run blender in a docker container headless on google cloud run. I generate 3D model and render animations of them. Here is one I did today:
You've just blown my mind! Wow, this is something I'll spend my next 3 months before summer definitely. Thanks for the inspiration and showing the possibilities, the headless part is just icing on top.
Each text bubble is duplicated from a rigged template speech bubble. The rig controls the dimensions of the bubble based on the size of the text it contains. Drivers are heavily used on the bones to coordinate them with other bones and movement.
Each bubble is parented to a screen object which scrolls upwards, but the parenting is dynamic, so that it only engages when the message has been "sent".
The "typewriter effect" of each bubble is not keyframed (unsupported) but handled by a frame update callback. The typing is determined in advance with random jitters to emulate a person typing.
Hope that explains it! I have considered sharing the framework, but I know I will get a lot of requests that I'm not prepared to handle unless I was receiving donations.
> For example, many operations (bpy.ops) require an accurate "context" to succeed.
The bpy.ops are really just a python shim to be able to call them from the UI.
Not a good idea to call them from a script (because of the reasons you cited) but that hasn’t stopped anyone, ever. The whole of blender is designed around the MVC model and the operators are the ‘control’ and are dependent on the ‘view’ (aka context) to do their thing.
All the underlying data structures should be exposed to the python API (through bpy.data IIRC) so, in theory, one could do whatever their little heart desires.
Weird design but once you realize the UI runs everything through python it mostly makes sense.
Definitely, prefer using bpy.data objects whenever you can. IIRC there were a few things I wanted to do that only seemed possible through bpy.ops, for example recursively duplicating a collection. In the UI, this calls bpy.ops.outliner.collection_duplicate() and requires the Outliner editor to exist and be active. There are workarounds, but they aren't pretty.
Back when I was poking at the python API a lot of what I did was figure out how the operator did it and either wrap the function it called as a method on the object or write a simple C function wrapper and expose that to python. Most things that people needed just needed someone to spend a little time on.
I think it was the outliner (the part where you edit the keyframes?) where the underlying design made the python API an absolute trainwreck. I spent a bunch of time on that and it was just bad, the best that could be done was to expose it and let people who were sufficiently motivated dig around and figure out how all the pieces interacted because it wasn’t at all obvious. Horrible design from the python side…
Anyhoo, sounds like someone just needs to add a collection.duplicate() or .clone() method — whichever is more pythonic.
I totally agree with you. I use the python API in Blender to make some renderings of mechanical connections we are developing. As a python expert I am always a bit disoriented by how things should be handled. It would be really great if the python API could get some love in the future.
Besides being context-sensitive, I also recall the API being weirdly designed w.r.t. mutable variables, global state, and so on. The kind of stuff you expect to see when someone who is not primarily a programmer, but is instead an artist or something, designs an API (which I would guess may be what happened).
In the end I was able to get what I wanted (a script which would spawn a bunch of geometric objects according to a procedural function, set the scene, and ray trace a frame) but it took a bunch of weird incantations in a mix of API idioms.
Yes, it's quite bizarre. I have used blender to generate training data for a neural network (which was a stunning success, and quite fast compared to any other method I could think of).
I had no clue how to use blender before, but now I feel like I have at least a passable idea of how the UI works -- despite basically never having touched it!
I still think PostgreSQL wins on the clean codebase competition. It's a thing of beauty.
Don't get me wrong. Full props to Blender and its contributors. The UI/UX, speed, and stability have improved by leaps and bounds in the last few years. I miss the game engine though.
I genuinely think Blender is my single favorite piece of software I've ever used, especially the latest few versions. While it's always been a powerful piece of software, the past 3 or 4 major releases (really everything since 2.8 actually) have just been nonstop UX improvement on top of ridiculous amounts of thoughtfully implemented new features.
The more awesome Blender gets, the more jealous I am that it's not designed for CAD.
I keep wondering if FreeCAD will eventually make these kinds of strides, or if it's better to try getting Blender to do CAD-likes stuff. I know there is a bit of CAM-like stuff floating around for Blender. But I'm always afraid that this will come up short in the long run, due to Blender's fundamentally mesh-based nature.
Someone implemented sketching in blender using the geometric constraint solver borrowed from Solvespace. It is also notable that the same solver has been used in FreeCADs assembly 3 workbench.
For the next Solvespace (3.1) release we have replaced the homegrown matrix operations in the solver with Eigen. In some sketches this seems be running 8-10x faster.
I really hope so, but I wouldn't count on it... in my view, FreeCAD seems to be suffering from certain stagnation -similar to GIMP's a decade ago.
The "triangle of uses" of Blender/FreeCAD/OpenSCAD has a weird void in the middle to fill ...and seeing how Blender keeps growing, I'd imagine it'd be the first covering most of it. It may be argued that it's already doing so in many ways, via plugins and Blender's Python API.
You know, it wasn't long ago that Blender was a somewhat obscure open source CG/3D modeling software that was not taken super seriously for enterprise use. Blender has been around for a really long time, and there has always been a community of users and developers who improved the software over the years. Eventually it hit some sort of critical mass where it got good enough, and attracted enough attention and funding to accelerate the development (I like to think this was the 2.8 release.) This started a positive feedback cycle where it got better, attracted more attention and funding, thus improving and polishing it even further to the point where it's sponsored by practically every major tech company, and taken seriously when compared to commercial software.
So I like to think that there's hope for FreeCAD or something similar. Especially when considering how the 3D printing/maker community has become increasingly prominent. There's definitely demand for open source 3D CAD and a passionate and capable community of makers willing to make that happen. But this type of software isn't built, refined, and polished overnight.
While it's not really a tool for precision modelling you can get the objects to real world size by setting the coordinate space and units to your scale. I've modelled the house I'm building in Blender, put it on a real scale and size plot of land oriented against true north. There's even a built in plugin to model sun position based on time and coordinates, it's been mind blowing to be able to see how the shades will change through the windows and how another building will (or not) block the sun during different months.
I've tried FreeCAD for precision modelling like house plans but it was just painful to use, especially compared to AutoCAD which is super good and the snapping is unlike anything I've seen, but sadly prohibitively expensive for non professional use. Their cheapest plan is something like $200/mo.
I’m trying to do something myself but modelling an existing building. I just get really confused on the “right way” too use these tools. For example, on a log building do I model the logs or some flat wall with a texture, etc?
The best way to proceed is to think in terms of placeholders. Make the wall simple now; then imagine how you want to detail it, and proceed with the understanding that you'll want to replace it at some point, and then it's just a matter of setting up the organization of your objects so that that can be done gracefully. If you don't have a particular requirement like presentation in a game engine, you don't have to aim for it to be optimized and can do something like making a detailed sculpt for every log. If you do have that requirement there's still often a reason to push off the optimization to a final step, because it might involve destructive workflows where you essentially turn your initial detailed asset into a reference for the optimized one(e.g. baking a normal map).
As long as you expect everything to be done in two or three iterations and split out the work appropriately, you won't be stuck for too long.
As a graduating Engineering student that is about to lose access to some really powerful and incredibly expensive CAD software I can't agree enough. I think I just need to say goodbye to parametric modelling and embrace Blender.
I recommend giving Fusion 360 a try before you switch to mesh modeling. You lose so much when you leave parametric behind if you want to do anything practical for hardware / manufacturing or even 3D printing.
I've used Fusion 360 pretty extensively. It is pretty buggy and has performance issues especially for even small assemblies. I also worry that with Autodesk moving towards ridiculous pricing that I'll lose access to everything I've made eventually. Its fine for now for small 3D printing projects but I don't think I would start any major projects using it.
It may not be at the level of dedicated CAD software, but I found this YouTube channel teaching how to narrow the gap considerably.
https://youtube.com/c/MakerTales
FreeCAD's stable release is somewhat painful to use, but I'd say that when using a development build (I've personally had no trouble) and having gone through the preferences, customization options, and list of addons (altogether not too much effort ⇒ would recommend), it becomes truly competitive with the other major alternative, the free-as-in-beer tier of less-than-industry-standard Fusion 360. AutoDesk made an effective move, though, and Fusion's capture of the hobbyist market has stifled FOSS development.
FreeCAD's most serious drawback, the topological naming problem (TNP), is remedied in RealThunder's branch [0] (confusingly also called the RT branch, assembly3 branch, Link Branch, and LinkStage3). Many of the smaller features it includes will also be in the imminent upcoming release (0.20); sadly, the TNP fix has only been weakly promised for 0.21. FreeCAD's other crucial issue is the lack of official assembly support. There are four competing addons; RealThunder's branch includes his, Assembly3.
I often feel that 'bad' UI (especially in free software) is perfectly productive once the user is familiar, but I will admit that difference in aesthetics in FreeCAD from switching themes, tweaking settings, and rearranging toolbars/panels is not small. I'm not sure of the authorship of each, but UI improvements in RealThunder's branch include animated camera snapping and panel autohide/transparency. A FreeCAD idiosyncrasy is the drop-down list for workbench switching, which is not ideal. It is a good example of the flexibility often seen in FOSS software: replace the list with the tab bar addon, custom keyboard shortcuts, or one of two compatible pie menu implementations. The Pie Menu addon can contextually vary from the types of selected objects; the pie menu in RealThunder's branch can be both global and per-workbench.
FreeCAD's keyboard shortcuts are standard, though I'll express a peeve I have with almost all software where one hand goes on the keyboard and another on the mouse: shortcuts arranged mnemonically and thus spread across the keyboard ease learning but are terrible for skilled use. I mean, if I have to hunt with one hand for a key under my desk, I might as well use the toolbar/menustrip/ribbon! Blender does seem to be an exception, though. Seems like the otherscould take a hint from PC games (notably MOBAs).
When I was auditioning different CAD programs a while ago, I tried a few different tutorials for FreeCAD and hit the hurdle that there were several different modules in which to start a sketch, but of which none offered a full set of functionality. Of course, the different tutorials used different starting points.
Was my impression correct; and is this something that is being addressed?
Blender is amazing. It can do so many things. If you want to try it out, I highly recommend "Blender Guru" on youtube. The "donut tutorial" is a great overview that orients you to where all of the most important functions are.
Took me a ~3 evenings of 3 hours each (included some playful fiddling outside the scope of just completing the tutorial) and now I feel like I can generally google for answers to questions and get by in blender.
Also 3.0 featured a roughly 8x speed increase in rendering! It's insanely cool.
I started on my Blender journey just a few weeks ago and I've been delighted by it so far. Blender is really a creator's dream come true.
Blender Guru and CG Geek are my favorite Youtube channels for Blender tutorials and they both make it easy to get started with Blender with short and practical tutorials.
While I can only create some basic shapes so far, I'm really impressed by what is possible based on the tutorials I've seen. I'm looking forward to getting into rigging and animation soon and start with some low-poly and eventually more higher-resolution models and animations.
"Doing the donut" has become the initiation for even serious CAD engineers. Really good tutorial. Even interesting for software devs that want to dabble in 3d rendering as the knowledge from the design pipeline really helps in general understanding of the problem space.
I'll go through a tutorial, and start picking up stuff. Then life happens, I spend some time away. Now I want to pick it up again... and I have to start from scratch.
Blender's pace of development is blistering and never fails to impress me. The community is also super inspiring, and the founder of Blender, Ton Roosendaal, is a really cool person as well. I'm super hyped for the future of this software.
Godot also seems to be modeling itself in the same style as Blender. Years ago I was very vocal about the opportunities of an easy to use open source game engine. Godot 4 is well on its way to be very accessible and getting high end functions.
Metal backend is currently only M1 compatible, which is a shame, but still super exciting that they added it at all. Really great to see Apple contributing to the project, plus I think they mentioned they plan to make the Cycles Metal backend compatible with older Macs in the future. Might be able to finally make use of those Radeon cards in older high-specced Macs!
EDIT: Looks like I missed that it's also already compatible with AMD cards in older Macs, they just have to have the latest OS installed!
To be fair, the original announcement about upcoming Metal support did state that the support for Apple GPUs was the first priority, with AMD GPU support at a later date, so it’s nice to see both supported right out of the gate.
I came across this film[1] the other day. It was made with Blender by a college student as their graduation art, and has single-handedly made me realize just how powerful it is!
Major kudos to the Blender team for the phenomenal work they’ve been doing. I only started learning Blender a little over a year ago, and the amount of progress that’s been made in that short amount of time is incredible. In a time when I’m often frustrated with the abundance of low quality and user-hostile software, Blender has been inspirational in demonstrating that it’s still possible to develop high quality, powerful applications (and offer it for free nonetheless!)
As a Windows user with an AMD 5700XT, a $400 GPU, I'm still locked out of the wonderful world of accelerated Blender. AMD has been straight up negligent in their software support for a long time. It sucks that you basically have to buy a super power hungry, super expensive GPU from a company that refuses to do anything open source if you want to be able to do anything but play games on your GPU.
Prior to Blender 3.0 OpenCL should have worked. 3.0 and later the HIP backend should be working on your setup, though it's not officially validated for the 5700 XT, here are some numbers from a 5500 XT prior to 3.0 GA https://wiki.blender.org/wiki/User:ThomasDinges/AMDBenchmark...
> It sucks that you basically have to buy a super power hungry, super expensive GPU from a company that refuses to do anything open source if you want to be able to do anything but play games on your GPU.
I have a lot of fun in Blender for two years now, using Nvidia GTX 970 - it's quite old by now, and definitely cheaper than $400.
As someone who has seen a lot of bug reports, Blender has problems with AMD, Mac, and newest Nvidia (RTX) cards.
That GPU-based subdivision surfaces being ~10X faster is a welcome improvement! Subdivision surfaces have always been so slow, those are some incredible gains!
Is it worth the trouble for an eventual User to learn Blender?
I don't do animations, but I like to edit some personal videos with a pinch of VFX. I always read that it is great and powerful, but has a difficult UI. I always wanted to learn it, but time is limited.
Definitely worth it. As it's a visual tool you won't learn by reading about it, nor can you learn Blender knowing everything about it's features (it would be like getting good at chess by reading chess rules)... what I mean is you have to learn by doing many small experiments and using visual guides.
I recommend doing the Doughnut tutorial by Blender Guru first, then move to CrossMind Studio, another really great one is Ducky 3D. Default Cube is great, but some of the stuff is a bit advanced. Polygon Runway is good but got bored of the same style. The best for more advanced users I've seen so far is Polyfjord, just next level stuff, can't recommend that channel enough.
Polyfjord is fantastic. If you're interested in the filmmaking/VFX side of things at an intermediate to advanced level, I can't recommend Ian Hubert enough. His YouTube channel is legendary but his Patreon is even better, tons and tons of informal, unscripted videos of just him making stuff and narrating while he does it. I know that's not everyone's cup of tea but I personally feel like I've learned most of what I know about blender from those videos!
Thanks for the Hubert recommendation, he is definitely pushing the boundaries of what can be done and showing it, but at the level I'm at (occasional user, 2 years in), his videos to me seemed a bit like the famous "How to draw an Owl" picture... I didn't know he had Patreon, I'm already a member of CrossMind Studio and Polyfjord, will definitely check it out. Thanks again.
I learned (well.. I'm learning) Blender this year and I'm glad I did. It's very intimidating at first, but you get the hang of it, and then you can't imagine a world without it. I now even prefer it to stuff like Photoshop for doing simple graphics work.
While you can edit with Blender (and with some very powerful functions) there is also Kdenlive Video Editor which has been very good for simpler edits. Depends a bit on what you want to do.
metal support gets top billing on the release page[1], and I think it was apple who contributed most of the code for that. so maybe apple just doesn't like being in a sea of logos with all the riff raff.
Minor error in the video that was kind of funny, at about 1:00 it says you can now load "HUGE images!" but the text added in editing says 1200x1500, off by an order of magnitude :D
They're talking about the new Benchmark tool specifically. I'm not sure if it's included within Blender itself, but it's not available (at least separately if included with Blender) on Steam.
Let us know how that goes! I'm getting an M1 Max MBP sometime in the next two weeks and already know the very first thing I install on it after booting is gonna be Blender. It's a rite of passage for any new computer I acquire!
Does anyone have experience with using Blender as a video editor? I have experience with final cut pro and imovie and am looking for to switch to something free.
The geometry nodes demo in the release video looks extremely cool! To clarify, that is a node-graph procedurally generated house with adjustable properties (decay, etc)? I know that's been a thing for a while (speed tree, etc) but it's really impressive.
You are correct! Here is the forum post where the creator shared their work [0]. There is a nice breakdown of the different layers with a base structure, then many layers of procedural nodes.
I just published this in Blender. It took me two weeks to make, during which I alternately cursed the software for it's odd UX and sat amazed at the things an almost total beginner could conjure onto the screen. Blender is hard to learn, but with each thing you learn it sucks you in more. https://www.youtube.com/watch?v=ygLbwZP9ItA
Just a heads up, I tried clicking the download button on https://www.blender.org/download/ from Firefox 97 on an m1 mac and it sent me the x86 dmg. I don't know how it autodetects platform but maybe double-check so you don't end up using Rosetta without noticing.
I've dipped my toes into Blender, Cinema4d, and Unreal. At this point in the game what's the use for blender moving forward besides modeling? Seems like the real-time lighting in the latest UE (lumen) along with their Nanite system puts UE way ahead of Blender outside of the modeling aspect.
I cannot download new versions as quickly as they release new ones... and "minor" version increases are historically always quite massive. Blender is an awesome tool by now that doesn't need to hide from commercial alternatives at all.
Are you familiar with any other 3D modelling software? If not it's not entirely fair to say Blender is overcomplicated, 3D modelling itself is a complicated field and Blender is like a swissknife, you can learn only the features you intend to use. Hard surface modelling, basic scene setup, lightning and you're already at a level where you can enjoy the process. Want more? Procedural, non-destructive modelling, sculpting, VFX, compositing, it even has a video editor built in (though most people just use Davinci Resolve instead). I think Blender is as complicated as you choose it to be, like Math, Physics or any other non trivial field.
3D is always super complex - the "stuff they pay you for" - if you try to make production quality materials. If your aim with 3D is a simple mockup or placeholder for illustration purposes, based off an existing reference image or floor plan, you can make big strides relatively quickly. And the same goes for most specific production tasks - you just have to break it down into the concepts that are relevant, and then getting comfortable with the selections and edits that apply those concepts. Blender helps things along by having defined workspaces for different tasks so that you can browse a little bit and find things without going too far out into unrelated stuff.
Sure, it's not Sketchup, and there is a little bit of a steep learning curve at the beginning (it used to be much, much worse).
However, unlike Sketchup, the freaking depth of the software is nothing short of amazing.
That investment you make at the beginning is really, really worth it.
Also: there is literally a ton of tutorials on YouTube to get started with Blender, and it is rather easy to learn the basics nowadays by doing a bit of monkey see monkey do with Blender open on one monitor and the tutorial vid on the other.
I guess it depends on your motivation. When I was dabbling with 3D in 2000, all the major player at the time were way worse but I did manage because I was motivated. 20 year later, I can't even animate basic things like a ball :D
Still, give you some clear goal about what you want. Blender can do nearly everything related to 3D, compositing and even some special effect. And then search a YouTube tutorial on this subject — it probably exist!
There are a few good options, this def being one of them. Grant Abbitt being another.
Blender is software that feels complicated at first because, fundamentally it is doing a complicated thing. But once you start to understand it you cut through all the things that you don't need to worry about because 90% of the time you will be in VERY specific contexts (hard modeling, sculpting, painting, etc) and not worrying about large swaths of the features. But to do everything it needs to do all of those things have to exist.
Being able to learn how to context switch and take advantage of the different workspaces helps a TON. Gotta get used to it though, and it is a big lift. I started messing with Blender off and on a year or so ago and while I'm no master, once I get in my groove I feel like I can move pretty quickly.
the user interface with drag, drop, search looks very slick, anyone knows what part of blender code does that, or any python lib I can used for a UI like that
Blender being well-documented is a relatively recent phenomenon, so I wouldn't be shocked if a lot of people simply don't realize that things have changed. Back in its early days it was infamous for having an impenetrable UI and practically no documentation (unless you bought what amounted to the official strategy guide, which was decent enough on its own terms but still wasn't a proper manual).
Agree with this. Blender has some of the best training material available, especially compared to its competition, because it's free and open source, so anyone can use it and, importantly, anyone can make tutorials for it!
I started recently with Blender 3.0 and I can watch without any problem tutorials made with Blender 2.8 (3.5 years ago). Now that I'm getting more confident I can even watch tutorials from older versions and follow them without a problem.
And btw, you don't need to learn every new feature. Blender is a incredible versatile and ginormous software and you only need to learn what you need for your specific workflow. I can maybe know 1% of Blender and I'm superhappy with what I'm doing nowadays!
I don’t know about it at a higher level, but the end of the first video of the Blender Guru donut tutorial series for 2.8 involved setting the monkey head on fire, and the instructions were broken by 2.92: what was described would no longer do anything—some kind of baking needed to be invoked manually. That was a part of what made me decide to wait until it was updated. (The other part was that my Surface Book could only barely reach 2fps for something that simple.)
In my experience, I actually find the community does a pretty darn good job of keeping up with the training side of things. There are several dozen YouTube channels that just make Blender tutorials 24/7 for a living, and every time a new update is dropped, tons of new beginner tutorials for the new features get made.
They added a really nice quality of life change in the node editor! Now you can drag a noodle out from a node into empty space, release, and get the Add Node menu automatically popping up, which is something the community's been wanting for ages. It's how it works in basically every other modern node-based editor, so it's nice to see Blender keeping up.
This update comes with many geometry node improvements which continue the trend of making Blender the premium non-destructive modelling solution. I'm in particular interested in seeing how 6900 XT and regular M1 (in Mac mini form) will perform under Metal with 3.1 and macOs 12.3. I was a long time Radeon VII user on Mac but before 3.0 the stability and performance was just not there so I've moved my Blender experiments to Windows and Nvidia which works spectacularly but I'm not fussed about booting win just for Blender. Sadly I don't think AMD is bringing HIP for their older, pre-6000 GPUs https://code.blender.org/2021/11/next-level-support-for-amd-...