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.