First Impressions: Blender 2.5

Blender 2.49b in action
Before: Blender 2.49b in action
After: Blender 2.5 (dev build)
After: Blender 2.5 (dev build). This is just three panels -- the left panel is the texture tab of the properties viewer.

I’ve been waiting for Blender 2.5 with bated breath, and finally downloaded a build that actually runs on my Macbook Pro, so I thought I’d share some impressions. (I note that Ton Roosendaal seems to use a Macbook Pro so I’m surprised it’s taken this long, but I may just have been unlucky.)

Polish

Blender 2.5 goes from being an app with a serviceable-looking but bizarrely organized UI to an actively attractive and generally well-organized application. To begin with, all the icons, scroll bars, buttons, and so forth actually look good, and there’s no confusion as to whether a button is a regular button, toggle, checkbox, or pushbutton.

Less is More

One of the single greatest things the UI designers elected to do is stop assuming a control list could be horizontal or vertical and designing everything accordingly. They’ve taken the path 3D Studio Max took from the beginning and assumed all panels will be vertical, and acted accordingly. The result is that vertical panels work really well (even supporting two-finger trackpad scrolling under OS X — and this is a pre-beta build) and look great. The upshot is that you can set up a useful workspace with just three panels instead of the usual goodness-knows-how-many.

If you look at the screenshot of 2.5, note that there’s now a single set of icons (not two that operate combinatorically) and it changes based on context (i.e. you only get what’s appropriate for the current selection. The icons are a lot less mystifying and more attractive, too.

More is More

Next on either side of the knight are interesting panels. These are part of the 3D view and can be toggled (by default) with T (for the “tool” panel on the left) and N (for the “numeric” properties on the right).

The tool panel takes a whole bunch of stuff that used to be (mystifyingly) hidden in the properties tabs (so you needed to drill down into geometry settings to extrude a face, for example) and puts it in the obvious place — always one keystroke away.

The properties panel duplicates some of the functionality of the properties… er… window… — it replaces the translucent floating editors from earlier versions. Notably it provides immediate access to the cursor’s position — which is very useful since Blender still makes it all too easy to misplace the cursor.

I've selected the camera here and the standard 3d transformation widget lets me manipulate it directly.
I've selected the camera here and the standard 3d transformation widget lets me manipulate it directly.

There’s a lot of attention to detail. You used to need two 3d views open in order to perform direct transformations on the camera. Now, when you select the camera (e.g. via the outline view or by clicking on the camera’s frame inside the 3d view) a transform widget for the camera appears where-ever the cursor is in the 3d view. So now you can dolly, pan, etc. using standard 3d manipulation tools inside a single 3d view.

Another interesting change — I like it, but I’m not sure I love it — is that the “spacebar menu” has been replaced with a spotlight-like instant function search. Because most of the functions that used to live in the spacebar menu are now accessible via the tool panel, this lets you more-or-less instantly get to any operation by name with a few keystrokes (and it tells you the shortcut too). E.g. if I alter my view and want to snap the camera to my new view, I hit space and type “cam” and it finds the item.

Summing Up

It’s early days yet, but Blender 2.5 is looking shockingly good. Blender 2.49 offered a staggering amount of functionality in an intimidating package. Blender 2.5 promises a user interface at least as approachable as any full-featured tool wrapped around that same functionality (and more). And it’s not like all the changes are on the UI side — one user found a 4x speedup in rendering (Blender’s interactive performance has always been excellent — it pays to think of your editor environment as a game development system). In a sense, Blender 2.49 is the Mozilla of 3d, and Blender 2.5 promises to be Firefox.

Review: Cheetah 3d v5

My proposed icon for Cheetah 3d
My proposed icon for Cheetah 3d 5.x

Cheetah 3d v5 finally “shipped” so I’m allowed to talk about it. This is the fifth installment of what is a pretty unique product — a user-friendly, Mac-native all-in-one 3D tool. If you have any experience of 3D software you’ll know that there are essentially “toy” programs with cute UIs that don’t let you do anything serious, “one-trick pony” programs that do one thing very well (some have a good UI, but most don’t), and incredibly, mind-bogglingly complicated programs with utterly incomprehensible UIs that seem to have been designed by aliens for different aliens.

I’ve been an avid user of C3D since v4 introduced rudimentary character animation features. I’d been interested since v3 (because C3D was the least expensive and most Mac-like program to have a seamless workflow with Unity), but v3 didn’t offer me any functionality I didn’t already know how to get from Blender and Silo. Once I started using C3D my Blender and Silo usage dropped to almost nil — until I ran into C3D’s fairly major shortcomings for character rigging and animation, which brought me back to Blender.

Cheetah 3d is a really interesting product. It’s a minimalist “all-in-one” 3d program that allows you to do pretty much everything, but it has a really slick, native UI, and the barest minimum of features.

The new node-based material editor is the single major addition to C3D v5.
The new node-based material editor is the single biggest addition to C3D v5.

You can see my hastily cobbled-together video tutorial for helping new users figure out C3D’s material system here.

What you get with C3D is:

  • Very good modeling tools with a non-destructive modifier chain, but your basic modeling tools are polygons and subdiv — no NURBS, no solids.
  • Solid UV unwrapping tools.
  • A node-based materials to rival vastly more expensive programs (this is new in v5).
  • Basic texture painting, but it’s very crude so mostly useful for marking up a material for fine-tuning elsewhere (e.g. Photoshop)
  • Solid but not deep animation tools.
  • A JavaScript scripting interface.
  • An excellent rendering engine (especially for arch viz and industrial design) with area lights, HDRI, radiosity, ambient occlusion, and “sun” lights.
  • Good support for foreign files, including fbx, obj, 3ds, sia import and export, and dae (Collada) export.

This seems like a fairly decent feature set — and it is. But depending on your project, you may run into some limitations sooner rather than later:

  • No particles (although this is promised for a 5.x update).
  • No volumetrics. You can’t fill a sphere with turbulent clouds or do “god ray” effects (light streaming through dust).
  • No SSS (so rendering milk, marble, vegetation, and human skin is difficult).
  • No motion blur. (I have developed a tool for faking motion blur from animation frames specifically to address this.)
  • Very weak character animation UI. No NLA tools (although I am told the underlying engine fully supports NLA). No instrumentation. For me, this is the single greatest flaw in  C3D.
  • Poor animation workflow support (e.g. you can’t tweak a mesh once it’s been rigged).
  • No network rendering. Indeed no good way to “hand off” rendering to a second box even via scripting.

As mentioned above, C3D v5 adds an amazingly powerful (and approachable) node-based material system (which adds significant new functionality, such as anisotropic material support and blurred transparency), and two features conspicuously absent from v4 — bevel and a bend modifier. (I say conspicuously absent because v4 had many features similar to — but less generally useful than — bevel and bend.) Yes, this isn’t a huge amount of new functionality.

It has to be said that one of C3D’s greatest strengths is its lack of clutter and approachability. I’ve learned a huge amount by playing with C3D, and often this results in knowledge of the underlying principles which I can then take to a more complex and cluttered tool (like Blender or Max). One user of v5 commented that he hoped to understand Lightwave’s node-based material system by learning C3D’s much more approachable version.

Like every version of Cheetah 3D I’ve used, v5 is stable, responsive, and attractive. I don’t much care for the new icon (it’s an improvement on the old icon insofar as it isn’t a grey blob), so I designed my own similar icon. (See above.) C3D is not without user interface quirks and shortcomings, unfortunately:

  • Multiple selections do not work as expected. If you select more than one object at a time and hit delete, they all disappear. But if you try to move them all at once, you only move the last object selected.
  • The Edit menu still lacks a duplicate function. For a long time C3D had two really annoying copy and paste bugs — first, if you copy and then paste (i.e. “ghetto duplicate”) the original object remains selected, and when you pasted something into a document it would get renamed (foo became foo.1) even if no other object with that name was in the scene. Each of these was annoying of itself, but in combination they were positively infuriating.
  • Orthographic views (e.g. in the 4-pane mode) suffer from z-clipping often making them useless for precise work.
  • You can’t preview orthographic camera views (so if you’re trying to do orthographic renderings you have no way to frame your shots).
  • Finally, in the new material system it’s very hard to get an idea of what you’re getting at different points in the flow (you constantly need to drag outputs to the shader’s diffuse input to see what’s going on and then unmangle your material). I believe this issue will be addressed fairly shortly.

This may sound pretty damning, but none of these is necessarily a showstopper, and every 3d program has numerous UI issues — but most of these long-standing issues, and it’s very frustrating to see them still around after several years.

A simple metal globe demonstrating several new features at once including shadow catchers (barely noticeable), anisotropic materials, and a fairly complex shader.
A simple metal globe demonstrating several new features at once including shadow catchers (barely noticeable), anisotropic materials, and a fairly complex shader.

So, should you buy Cheetah 3D v5? If you’re after a good all-in-one 3D program that’s very approachable and easy-to-use — assuming it’s not missing any features you can’t live without — then, at $149, C3D is a decent value ($149 is a lot for an indie software package). If you bought C3D v4 in the last year and a bit and you’re entitled to a free upgrade then v5 is a no-brainer. Get it. If you’re someone who’s owned C3D v4 for longer then it’s a question of whether bevel, bend, and the new shader system are worth the $69 upgrade price*. From my point of view, the new functionality does little for me and I’m not entitled to a free upgrade, but not having to make a round-trip to Silo to bevel (and Silo has unresolved compatibility issues with Snow Leopard) is almost worth the upgrade price on its own.

Other Options

If one were to do a quick SWOT analysis of C3D, the most obvious threat is Blender — lots of features and free, but not easy to learn — and the obvious weaknesses are C3D’s missing animation (particles, character animation tools) and rendering features (volumetrics, motion blur) while its strength is clearly its UI and its opportunity is the increasing interchangeability of 3d file formats (Autodesk’s .fbx and Collada .dae files). If C3D were to position itself as, essentially, a rendering package — its obvious threats are Luxrender (which is free and open source but hard to use), Indigo (not free but supposedly faster and not quite so hard to use), and Hypershot (expensive, but easy to use and it produces very nice renders more-or-less instantly).

Blender 2.5 is around the corner (the Project Durian team is working exclusively in 2.5 now, which is a great example of “eating your own dog food” and also shows that 2.5 is in a pretty advanced state — at least on Linux). Blender’s progress since they started this approach (doing one major project each year with a team of artists and programmers) has been nothing short of phenomenal. Blender’s usability has been improved markedly, its deficiencies have been acknowledged and documented, and it has a clear path forwards.

I use Blender, Luxrender, Cheetah 3d, Silo 3d, and MoI. Of the three, Cheetah 3d gets more use than all the others combined.Most projects can either be done in C3D entirely or mostly done in C3D, and it’s usually much quicker and easier to get 90% of the job done in C3D than anything else. But some things simply require a more capable tool (i.e. Blender) or a more specialized tool (e.g. Silo, MoI, or Luxrender).

Note: * Dr. Martin Wengenmayer — developer of C3D — released a free update for 4.x users to address some minor Snow Leopard compatibility issues — instead of using them as a way of forcing users to upgrade (like some other software developers), which is commendable.

Please Buy Cheetah3d

Usability and 3d software, from the expensive to the free to the cheap.

Among my various half-assed skills, I can model, texture, and light 3d graphics (or “cg” as it’s now referred to by the cognoscenti). I have a bunch of examples here, but I’ve put one up here (it was my design for QuickMP3’s icon) to brighten up my blog with a picture for a change.

Anyway, I’ve used a lot of 3d software over the years, but I’ve never been a hardcore pro, and I’ve always thought that my stuff didn’t quite cut it, especially where character modeling and animation were concerned.

Back in the heyday of multimedia development, when you needed quite a lot of skill and knowledge to get even quite modest stuff even working on most hardware and people like me could get paid — literally — hundreds of thousands of dollars for a couple of months’ work simply because no-one else could do it that fast, that cheap, or that well, my casual interest in 3d led me to spend quite ridiculous amounts of money on 3d software.

For example, I spent something like AUD $15,000 (~USD $11,000) over a three year period on licenses and upgrades for Strata Studio Pro, ElectricImage Animation System, Form*Z, and 3D Studio Max (along with Character Studio). While these purchases were always “justified” by the work I was paid to do (hey I was earning six figures, I had no dependents, and it was tax deductible), in part, with them, the real reason I kept buying new packages instead of just making do with (say) Strata Studio Pro (relatively cheap at ~$1200) was that I kept thinking if only I had feature X I would be able to do character animation.

Anyway, I’m someone who expects to make major progress in new areas with relatively little effort, and if I don’t I tend to do something else. For example, if I have some fairly major programming project that requires me to learn a new programming language, I tend to expect to get the project substantially working within a few days or pick a new language. (This is not the way to approach character animation.)

Well the good times have gone (oddly enough, roughly coincident with the dot com bust) and I don’t have tens of thousands to waste on software I hardly use, so I started trying to work with very cheap or free software. (Even the upgrade prices of most of the packages I’ve mentioned are high, except for ElectricImage which has other issues.) In any event, all the major vendors give you free demos these days, and I must say that the free demos are not encouraging. (Hint for marketing pros at Autodesk et al: letting people have free demos won’t work if you simply convince them they have no clue how to use your software.)

Here’s my very quick summary of the high end 3d market. This is the stuff of religious wars … I’m not trying to diss your favorite product.

Usability

3D Studio Max wins
Cinema4D pretty good
Maya bad
Lightwave bad and strange
XSI very bad and very strange

Functionality

Maya wins for post production, Max wins for games
Everyone else is a close second (for either)

In general, 3d programs are really complicated. I mean really, really, really complicated. This complexity is used to justify 3d programs having really bad UIs. 3d Studio Max wins because it does some really obvious stuff well:

  • You can draw stuff by clicking on a tool and then dragging in your view. The thing you want to create will appear more-or-less where you expect it to. Insofar as it behaves oddly, you can figure out how to fix it fairly easily.
  • You can move the viewport around fairly easily and intuitively.
  • You can select things by clicking on them.
  • You can modify your selection by clicking on modifier tools.
  • You can “see” most of the things you can do either by clicking tabs or right-clicking. Commands that don’t apply to the current selection will generally be greyed out.
  • Undo works

In usability terms, of the high-end 3d programs, 3D Studio Max is (relatively):

  • Visible
  • Forgiving
  • Explorable

(Sadly, even today, Usability is hardly a well-established discipline — just consider the fact that two of the best known “gurus” in Usability (who work together) have quite different priority lists (Tog’s, Nielsen’s) for usability.)

For what it’s worth, I don’t think much of Nielsen. Two of his ten items are, essentially, online help. If your users are looking for online help you’ve generally failed. Another item: “Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.” is absolutely right for some things and absolutely wrong for a large class of other things (you need to give the user more information when they’re doing less common tasks).

The point is, the best high end commercial 3d software scores about 5/10 on the usability scale.

None of these features conflicts with the complexity of 3d programs, and yet few or none of these things are true of any of 3d Studio Max’s competitors. Unless you work almost daily in most high end 3d programs you have to remember the weird characteristics of each program to use it at all (forget about efficiently).

Since none of the high end packages are terribly compelling usability-wise, there’s a very capable free alternative. Blender. Blender has recently been used to complete a very impressive short film and all the files used to create the film are available for free as well — the idea being that artists have demonstrated that they can do real high end work with Blender and are giving away the techniques they used to do it.

Now, Blender is the third least usable 3d program I’ve ever spent significant time trying to use (the “winner” in this category is Alias PowerAnimator, while second place goes to SoftImage XSI; I’m ignoring programs I essentially bounced off completely). If you go back to the list of virtues of 3D Studio Max:

  • If you figure out how to insert items they appear at fixed size at the position of the 3d cursor and aligned to the current view. You’ve probably moved the 3d cursor by accident by now so you may well not see what you’ve created. You almost never want to align newly created objects to arbitrary views so you’ll want to learn how to strip the rotation from newly created objects…
  • It’s not at all obvious how to navigate the viewport.
  • Clicking (with the left button) repositions the 3d cursor. This is not a useful feature for (I guess) 90% of users.
  • You can modify your selection in some ways by entering edit mode (press tab) and in other ways by leaving it (press tab). Anything that works in both modes behaves differently in the two modes.
  • The good news is that many commands are visible if you have the correct tab selected. The bad news is that there are two levels of tabs, the icons make no sense, and many functions are labelled using hardcore industry insider jargon (e.g. catmull-clarke).
  • Undo only works sometimes.

Hey, but it’s free.

Now I did render the forklift icon (above) using Blender. But I didn’t model it in Blender, and I had to pretty much look up documentation every step of the way. And I doubt I could do it again without going through the documentation again.

Really, the only reason I’ve persevered with Blender is that it’s free. In actual fact, it’s probably the most unusable 3d program I’ve ever used, but XSI is a dog and it’s Windows only and PowerAnimator has been replaced by the far more usable Maya (well, the far more Usable Maya 8.5; Maya 1-3 were horrible too), which I would probably buy if I could justify the expense. Also, Maya is a dog and has draconian licensing. (Blender works very nicely even on low end hardware. It’s also tiny. And did I mention it’s free? So it’s on every computer I ever touch.)

Despite being Open Source, any attempts or requests to improve Blender’s UI are met with outright hostility by the community. The users are invested in the lousy UI which they know and claim to love. The programmers are … well programmers. Either the UI makes sense to them or it doesn’t impinge on their consciousness when test rendering glass balls in HDRI environments assembled with two clicks or loaded from a file made two years ago. The best we can hope for is that the next version will have an absolutely terribly but completely user-customizable interface. This means that once you’ve figured out how to do something and provided you can be bothered you can fix each UI problem for yourself as you discover it and then try to remember what you did.

Usability Rule # … I don’t know … 7: big preference dialogs are not a substitute for decent UI design. (Why? Well for one thing, an importent way to learn to use stuff is to ask people, and people won’t know the answer if everyone is using a differently configured program. Basically every configurable option conflicts with Usability Rule #1: Consistency. This doesn’t mean that every configurable option is bad, but it does mean it comes with a cost, and the benefit had better be worth it.)

So, enter Cheetah3d. At $129 Cheetah3d 4.0 is, in my opinion, for anyone except full-time hardcore 3d artists, the best 3d program on the planet. Now, please note, I haven’t used them all, and I’ve used even fewer of them lately. But, based on my pretty well educated guesses, none of the other software out there has a fighting chance.

It isn’t the best dedicated modeler around (that would be modo or if you don’t want to spend the money perhaps silo) and it isn’t the best renderer around. It doesn’t have every feature you might want (it conspicuously lacks particles, volumetric lights and materials, and motion blur). So what’s so good about it?

  • What it does, it does very very well.
  • It does almost everything you need
  • It has a clean, uncluttered UI
  • It’s fast and light and cheap enough to be on every computer you use*
  • Even I can do character animation with it
  • It’s fully scriptable (via JavaScript but, unfortunately, not AppleScript
  • Its native file format is human-readable XML
  • It has a seamless workflow to Unity 3d

Oh, and it only runs on a Mac.

* As long as it’s a Mac.