Blender may be one of the most successful and best run Artistic/Media projects in Open Source.
It manages to pack a lot of power in a very small package. And the Open Movie/Open Game projects help to drive the direction of the Application with concrete goals. Personally I think it's one of the media production suites out there for the hobbyist. The power + price (free) can't be beat for the non-professional.
It's one of the best pieces of software I've ever used as a creative. It has everything. Just as an example, people are constantly talking about how there's "no good video editors for linux" but not realizing that Blender itself has a built in full-featured video editor.
The Python API could use a little work, and takes some getting used to, but it's also incredibly powerful. You can generate geometry from a Python script. You can script movement..anything.
You can get Lightworks for Linux. It's free, but with limited output options. If you want more, you pay, but it's reasonable. But it's not an easy interface in my experience.
There's also Da Vinci Resolve, the free version isn't available for Linux though, but the full package isn't very expensive, and ridiculously powerful.
"Blender may be one of the most successful and best run Artistic/Media projects in Open Source."
I would go one further and say one of the most successful and best run projects in Open Source. I have always been impressed with the Blender developers ability to just plain deliver. Features get built quicker than you can keep up with them, and they seem to have had the best success integrating GSoC projects & developers into the code & team I've seen.
I don't know what their secret sauce is (Ton's enthusiasm?) but I think many projects could learn a lot from them.
Blender also has one of the most god awful UIs I have ever had the displeasure of working with. And it's not even the fact the UI is bad. It's the fact that when you tell someone in the Blender community that you don't like the UI they usually say "well once you understand why it's made that way you'll get it" which is pretty much saying "once you understand it you'll understand it" which is redundant.
That god awful UI was something to deal with for sure.
It was tough to learn, so I had to rely on shortcuts instead.
Now having to work with Maya is the exact opposite. Everything is a mouse click, menu selection, popup window, menus repeated over and over and over again. 5 ways in Maya to do the same action.
In Blender, you can extrude and instantly have access to scale and transform, in Maya you must select a tool to do it right after. Extra clicks extra time.
Insert Edge Loop in Blender requires one click, roll mouse to select how many you would like to add, T or F6 to bring up a menu should you need to do something special.
Maya, you have to keep changing the menu settings to do equivalents.
A simple inset action is easier in Blender. In Maya it takes two more clicks and tool changes to get the same, or you have to constantly be working in the "Modeling toolbox" which clashes with other menus should you use them.
SHIFT-R to repeat last action (not just last tool) which is not available in Maya, and only repeats the last tool.
Viewport Navigation in BLender: No clicking on boxes, hit 7 to go to Top orthographic view... then you can roll out of it immediately back to perspective. Maya won't allow this... you must Space->Select a window to return to a view.
Extra clicks extra time.
Plenty more examples of how Blender accelerates your workflow by removing unnecessary menus and elements gobbling up real estate.
Blender is for shortcut masters wanting to get stuff done, Maya is for menu and button clickers.
Blender's UI is like Vim's powerful but with a steep learning curve.
I happen to like Vim which perhaps explains why I like Blender. Blender isn't really designed for the dabbler. It's designed for the serious user. For that type of user it's worth the learning curve since you can get really fast in it. So fast that a common activity is speed modelling. If you only dabble then something like SketchUp is probably more your speed. If you plan to create stuff like this: http://blenderartists.org/forum/attachment.php?attachmentid=... though then blender is well worth the learning curve.
Yes, once you get past the obscure UI and rely on shortcuts instead, and only using things when you actually need them -- unlike Maya, that throws EVERYTHING on screen all at once, and gobbling up keys for animation and other actions you may not need.. uggh.
S is scale default in BLender.. S is "Set Key" in Maya that will only use up that key for ONE aspect of model creation right out of the box.
I'd say a better comparison is that Blender is like to Nokia interface of Nxx phones 10 years ago before the iPhone. All the functionality's technically there, but it's often very convoluted to use it, and that doesn't necessarily make it powerful.
Some of the defaults are just downright stupid: why does rotate by default rotate in screen-space (so against the 2D camera plane, instead of world or object space). The reliance on the MMB so much (Maya does this a bit as well, but there's keyboard alternatives) means it's almost impossible to use on a laptop.
There's so many things like this that while minor in isolation are just so frustraiting as a whole when attempting to use it, and make me go "nope, I'll go back to Maya or Houdini thanks".
First thing I do when using Blender on a new machine is go into the settings and turn on "Emulate 3 Button Mouse". That makes it so you can Alt+Click to rotate the camera instead of using the middle mouse button. No idea why it's not on by default, since the Alt modifier isn't really used anywhere else (especially in the context of a mouse click)
I have been interested in checking out Vim and Emacs, but the shortcuts required are hardly ergonomic and very hard to use continuosly (Emacs being the worst for that of the two). The pinkie!
You can make that model in pretty much any 3D modeling software so I don't see how Blender is special.
Just because a UI is powerful does not mean it has to be unintuitive. Unity is a very powerful game engine and it has a very intuitive UI to the point where if I'm just fiddling around with it I can generally figure out how to use it. Blender is pretty much the exact opposite. It comes down to cost vs time. Do I want to spend time to configure Blender or do I want to spend money and buy something that has a much more intuitive UI and use something that I can just get started with right away? For my sanity I would choose the latter.
Just curious, are you a vi/emacs user by any chance?
Just because a UI is powerful does not mean it has to be unintuitive. Unity is a very powerful game engine and it has a very intuitive UI...
Let's not confuse the power of a software package with a powerful UI. Blender is the emacs/vi of 3D software - its UI is very unintuitive for beginners but extremely fast (and intuitive) to power users. Personally, I found that with Blender it's hard to master the basics but easy to learn the advanced stuff, once you have your basics down. With other packages I've used (3d max, Maya, Softimage) it may be easy to do a simple scene, but advanced stuff is very unintuitive to the point that you need a tutorial to do anything you haven't done before in that particular package.
When I started about 15 years ago, Blender was much less intuitive and there was little tutorials and help. It helped that I used 3ds r4, 3ds Max, Auto Cad, and VIM... It still took many hours over a couple years to become comfortable with Blender.
They've since made everything MUCH more discoverable and organized. I've seen and helped young kids get started with it. I've also used/still have to use 3ds Max, Lightwave, Maya and others ...but Blender is my creative swiss army knife.
It's not perfect, but for ~95% of what I need it is... and it's still improving. Ton Roosendaal and others involved with this are awesome. I donated some to see it open sourced, and some since. My best investment ever.
There's been a strong push in the community recently to make the UI more approachable. What makes Blender difficult to learn is that most of its tools are either hidden in an obscure menu or behind a hotkey. This has begun to change in the 2.6 release cycle. A couple versions ago the Blender foundation introduced a new tabbed layout where commonly used features are organized and prominently displayed in the properties panel of the 3D viewport. This was done primarily to ease the learning curve for new users. I'd like to think its the start of a new trend. That being said, one of the things I like most about blender is that the UI is designed for productivity over usability. Building the user base by decreasing the barrier to entry is a definitely a good thing, but it shouldn't take precedence over the effeciency of the UI.
You know what? That damn UI is a real pain. I've been doing this since early Amiga days, went on to SGIs, Macs, PCs. I went through dozens of 3D applications through and through. Real3D, Imagine, Lightwave(since Videoscape), Messiah, Cinema 4D, Softimage|3D, TDI Explore, PowerAnimator, Maya, 3d studio (old one for DOS) and 3dsmax, Softimage XSI, Modo, Houdini... I have been using all of these applications in professional capacity over the years and have been very very intimate with them.
I gave Blender a shot several times already and have never gone through much of it out of frustration due to UI. That's telling something considering all of these apps I've been through over the years - just consider some of the UI catastrophes those had.
I understand Blender now has much of capabilities needed in daily production, but that UI... Damnit.
I had the same reaction toward blender. But hearing some people criticizing Maya and giving a lot of tasks where Blender is 'better' makes me wonder.. alas I don't have time to re-experiment.
ps: I never got to use old software like TDI or 3Ds, I started around Maya 2, the best I could get was this https://vimeo.com/9652184 and that www.youtube.com/watch?v=QWzITPB4mzc
Just saw your comment. HN isn't all that usable. Maya was basically what PowerAnimator was regarding user interface (more or less). So it was something we, who used PA, could transition into easily. I've been using it since first beta (in 1997 I think). It changed the landscape quite a bit. It didn't get much widespread use until version 3 which was the bee's knees. That TDI video is great! Always glad to hear about our young industry's history. 3d studio for DOS was crap. I've used it from time to time on odd jobs (although only 2 through, I believe 4 - never saw v1). Lightwave was years ahead in contrast. I will give Blender another chance, maybe over winter break.
That's more or less been my experience with every professional-quality tool I've ever used. If you use it regularly, you will eventually memorize everything. If you are a casual user who dabbles once a year, you're going to have to do a lot of googling or bookmark your reference material.
The Blender UI fails a number of very basic usability requirements.
I take the point that it's powerful once you learn the keyboard shortcuts, but it really shouldn't be either/or, especially for beginners.
My issue with it is that the API is so unwieldy. I'm very interested in creating fun things with code, and it's actually easier to do that in some of the pro packages than in Blender.
What version are you talking about? Modern blender has a great gui. I used it last year and felt it was incredibly efficient and easy once I had the ~20 keys I needed for my project in muscle memory.
I would agree with your Blender rant if it was about Gimp. But I was OK with Blender's UI after a couple of weeks, whereas Gimp still annoys the shit out of me after ten years.
When did you use Blender? Its UI used to be a complete mess, but since 2.6 or so it's much better. Once you learn the shortcuts (or customize them to your own suiting), it's actually really quick to use. I gave up on Blender almost right away when I first used it, but when I came back to it a few years later, I had much more success.
That is actually quite a freudian-insult to the UI.. if you learn the shortcuts ( not needing the GUI- its not so bad :)
A UI is for those who first access a software. And it has to provide instant understandable access to basic features without reading the manual. Every advanced feature can be hidden (clicks away), but the basics must be there.
If that is not the case and you have to learn the hotkeys or diggest a dozzen tutorials - well then there is no GUI.
It takes a investment to learn for sure, but that has drastically improved over the years. Now you can hit space and search for commands, and most everything is findable in menus, has good tooltips that lists hotkeys...
I completely agree the UI is pretty bad. The hidden side of it though is that anything you want to do regularly has excellent keyboard support. I don't even use the UI in blender most of the time and there's little to no friction, it's tremendously efficient. Problem is, new users have to get past the bad UI to get to that point and many never do. It's much faster to get up and running in Maya, but once you are proficient in Maya, you'll still be doing nearly everything by clicking buttons with the mouse. To me, that's the key difference.
I'm not sure any 3d program out there that has a pleasurable UI. I'm certain that blenders UI has things I wish I could do in other software. A lot of learning is required in 3d. And there are so many customizations to be done in modeling texturing lighting animation. Things have go somewhere. All the commercial packages have UI trouble and their own downsides so its none are worthy to copy UI ideas from where people will be satisfied.
The 3D CAD software CATIA has a very good UI. It has themes for Windows and Unix. I would say all other 3D programs have a better UI than Blender (even 2.6, though it was a lot worse pre 2.6). Blender just doesn't adhere to common conventions and is inconsitent, has little tooltips, and some function only accessable via shortcuts. Gimp had similar UI problems in old versions - it could be a lot more popular, but Photoshop's UI simply sucks a lot less.
Common UI conventions are for common apps. Blender for example is built with mousing in mind, and so hovering in whatever panel makes that panel active. So the commands are for the context of that panel. You say little tooltips but you can hover everywhere and get loads and loads of tooltips. Granted many need improvement but to someone reading you, they'd think it doesn't even have tooltips, which is not true, it has many many tooltips.
CATIA? So I looked at CATIA and a cursory glance shows that they aren't all that conventional either. One shot I saw was of v5 with a bunch of tiny floating undockable overlay windows. Yeah great UI. The catia sketch tool seems awesome, but that seems to be a smaller subset of the software for prototyping stages. I realize maybe it's unfair to ask, but is there an ultimate video walk through that you think showcases the great UI of CATIA? Does CATIA also have all the features and expectations that blender has? Such as animation, advanced texturing, lighting features. It certainly seems to be a capable modeler based on some final render images I've seen and it probably allows for physic simulations I'd gather
CATIA v5/v6 has toolbars on 3 sides of the screen. Every toolbar part can be activated and moved around, snapped-in, etc like in common UIs. There are no floating windows that stay there or are there by default. But there are dialogs that open to set specific settings, dialogs are a common UI pattern as well. In v6 some of the dialogs have been replaced (made obsolete) because of the 3D editing mode. In comparision, the Blender UI doesn't follow common UI patterns at all.
You can do everything you can do in Blender also in CATIA (except fluid physics, game engine) but you can do advanced simulation like finite elemente physics and electronics. Also CATIA is a CAD software, so there are of course differences and it will usually take longer to create a 3D model, but afterwards it can be built in real world with real world physics.
Oh gosh. I remember the transition for 2.49 to 2.5. It was like learning a completely new piece of software. The only thing that motivated me to switch was the awesome new smoke simulator.
I'm not a 3d designer, developer, nor any standard general user of Blender really, but from my limited trials of usage it's almost certainly the most well made, polished piece of open source software I've ever used.
It's UI paradigm in particular is at first somewhat overwhelming and unintuitive, and then suddenly with the tiniest amount of instruction or direction perfectly understandable and infinitely flexible (once you "get" how it works you can imagine them adding any feature and it being just immediately, simply usable)
Blender is a commercial product which failed. It had enough users that the users bought the rights cheaply and open-sourced it. It's quite powerful,
and good work has been done with it, but has a poor user interface, which open-sourcing has not helped. Supposedly it's become better in recent years.
Here's an (out of date) overview of the hotkeys:[1] Some of the hotkeys change in each new release. In typical open source fashion, the "solution" to that mess was to make the several hundred hotkeys remappable: "Important note: the ever changing nature of Blender's development means features can be arbitrarily updated so shortcut keys may be mapped to different functions or be in different locations version to version - this is especially true of Blender 2.50 up to and included the latest versions."
If you like EMACS, you might like Blender.
From a developer perspective, the Blender game engine is interesting. An idea that keeps coming back is that programming should be done by wiring little boxes together in a GUI. The Blender game engine does that. This leads to giant, messy wiring diagrams.
Blender 2.5 has changed the UI significantly from the original commercial version, and most comments I read about it say that it has improved significantly. Blender the open source project has changed and grown so much bigger than Blender the commercial product that they are totally different.
Regarding hotkeys, there were some major changes for 2.5 along with other UI changes, but after that the default have barely changed, just additions and minor changes when the underlying features change.
Making hotkeys remappable was in no way a solution to that "problem", it's a standard feature in other 3D software that a lot of users requested, especially those who wanted to make the hotkeys compatible with Maya and 3ds Max.
None of the core keyboard shortcuts have changed in years.
I'm pretty pragmatic about tools, everybody has a preference and outside of pipeline integration issues it's the speed and quality of the output that matters.
For me, what's given blender the edge over the commercial software I've used (mostly Maya) is the keyboard-driven approach:
I can rotate a cube 22 degrees in the x axis, scale it 15% and move it 3 units in the z axis in about 5 seconds without every reaching for the mouse. That's tremendously powerful and fast, and requires that I know only about 4 keyboard shortcuts.
It's a bit of a learning curve (no moreso than learning, say a new programming syntax), but when you catch on, the speed and efficiency pays for itself in short order.
I used to work for Hollywood visual effects. Over the span of many years I have tried almost all the software out there and I find Blender very powerful but my personal favorite is a software named Houdini* (not free but you do get apprentice version).
The core methodology Houdini is built on is for creating procedural systems for everything which i think is of more relevance for this community.
Do check it out, I am sure members of this community can put it to use for the things not even their creators would have imagined.
I used a trial version of houdini once and the procedural workflow is amazing and I loved it. But I can't justify the cost and at the time the limitations of the community edition were prohibitive even for a hobbyist.
I'm not sure when you used it, but Houdini Indie[1] looks pretty reasonable- $200/year and you don't have to upgrade until you're doing $100k/year in revenue.
It was a long time ago. Like more than 10 years. The indie version is indeed much more reasonably priced but I don't do enough to justify 200/year. Blender hits my sweet spot :-)
Feel free to downvote me but the title is quite misleading as I was expecting a developer introduction to 3D to be heavier on code and show what's behind the hood.
For example, the tutorial starts by creating box, I'd love see the equivalent using code. Same goes for adding vertices, moving vertices.
I've done a bit of Blender Python scripting, and it's a bloody pain. The API is very much an afterthought, and it can't be much used by anyone. As an example, function calls in your script do different things based on which part of the UI has mouse focus. It's very easy to make loops eat all your RAM, hang everything for a few minutes and then segfault. I've even had it crash my X session. And the built-in IDE is crap. /rant
The mouse focus issue is more related to missing APIs. If you call operators (tools) from Python they do indeed depend on context, just like they would if you use them from a toolbar, menu or shortcut key. These are not intended to be used for scripting really, but they are available and sometimes the only way to do things because there is no equivalent API function available.
Probably yes. A really nice feature is that you can hover over a button and see the name of that Python function. Then it's hard to know if you're supposed to do it that way or not when scripting.
Another gripe I remember is that angles in the UI are specified in degrees and in Python they are specified in radians.
Yes, a big problem is indeed API documentation and making it easier to follow best practices.
Regarding angles, users want to see degrees in the UI, but the python functions like math.sin and math.cos and basically any other graphics code you find uses radians. Whatever solution is chosen is always going to make someone unhappy.
Is this post 2.5? I thought (and I don't know the answer, hence why I'm asking) 2.5's interface was built on the Python API?
I tried doing some Python stuff with it in the 2.4 days and thought it was pretty poor as well, haven't tried since, but had (possibly incorrectly?) assumed 2.5 fixed this.
I did most of the stuff on 2.7 and late 2.6. I believe what you say is true though, the interface is built on top of Python, so every button in the UI corresponds to a Python function. That has both pros and cons, I guess.
I agree, this is why I'm commenting.
It's a non-article that doesn't even deliver what the title promises.
Just an article to fill writing obligations and farm clicks.
With all the complaints with Blenders UI I've never understood why more people haven't developed plugins that offer a UI alternative. I wanted a simpler UI for Maya so I wrote my own : https://github.com/shawnfratis/Scrimshaw-MEL-Mini-GUI-for-Ma... . It's not perfect but it works for my uses. I'd think a program as open as Blender would lend itself to something like that.
I do not care to be difficult or easy. If I like, I learn. I do not stop interface.
I like many programming interfaces, but I'm especially grateful to Blender.
- It is a program made by 3D artists for 3D artists.
- It is totally dynamic.
- I've got a steady flow of work.
- (Shorcuts) memory exercises. At 36 he is appreciated.
- It is a professional program.
- To use it you have to think. If not, use c4d, max, maya, blah, blah.
- Jump from 3ds max Blender is not fair. Blender is vulgarly stable.
It had been years since I felt emotion, learning a program.
Blender can improve. I hope he does. It is on track.
Lots of talk about modeling in this thread - how's Blender for other applications these days?
In particular, how's its animation capability (both UI and features-wise)? Does it have decent importers and exporters for industry-standard formats (I'm thinking FBX and Alembic)? Can it handle mocap data well? Does it have any 3D paint / texturing tools yet?
I'd love to move away from Autodesk if it's possible!
I'm a studying animator. I can safely say that it's animation capabilities have risen enough over the past few years that I am comfortable as I am in Maya animating. It does have decent import and export support. I haven't done any mocap so can't comment there. I haven't tried to 3d paint either. Not sure about that. It does have sculpting similar to zbrush though.
It's been a long time since I did anything in Maya, but if you mean keyframing, interpolation curves (possibly my most favourite thing in the world), drivers (second favourite), armature rigging, shape keys etc. etc. then yeah, Blender does have those features and as far as I can tell, they're pretty well polished.
What I like best about the way animation is handled is that you can keyframe (almost) anything. As an example, you can add keys for the strength (or some other value) of the normal map that is a node in a material that is applied to one or more objects and animate that value. I dare say that's feasible in other packages too. Whether you can do it by just hitting "i" on the keyboard while mousing over the value you want to animate, I don't know.
It manages to pack a lot of power in a very small package. And the Open Movie/Open Game projects help to drive the direction of the Application with concrete goals. Personally I think it's one of the media production suites out there for the hobbyist. The power + price (free) can't be beat for the non-professional.