An introduction to 3D on the Mac, Part I: models & textures

If you're just getting into 3D rendering on the Mac and are overwhelmed by the …

The landscape of CG applications is vast and very confusing to 3D graphics newbies. These apps span the gamut from free modelers to beefy, Python-scriptable animation packages, standalone renderers and a lot of little programs that glue them all together into a complex and intimidating workflow. People looking to get into game development know that ZBrush is popular, but Mudbox looks good, too, so they're at a loss over which to learn. Program X looks like it does everything, but does it? What's “ambient occlusion” and why would I ever need it? These questions and more will complicate life for the aspiring 3D newb.

3D magazines provide helpful tutorials, but since every application is also a potential advertiser, they tend to avoid saying that one package is best for a particular task, or that program X really sucks at particle animation, and so on. This two-part series will cover these differences while discussing specific workflows where these packages are used in areas like character modeling, motion graphics for TV or photorealistic rendering for architectural visualization. By the end of this first article, you should have an idea of how to approach modeling, sculpting, and texturing to achieve professional-looking results; the second article will focus on animation and rendering. You will still have lots of questions at the end, but 3D is inherently complex so there's not much getting around that. Think of this article as an introduction to the very basics.

Since this is a very broad approach, I have to limit the scope a bit. Attempting to review all the 3D programs on all platforms would be too ambitious. I do have a very good knowledge of where most 3D packages excel and which fall flat for certain aspects but we'll be covering them within the context of a 3D workflow. Often, it may look like I'm recommending very expensive packages, but I will try to make clear the benefits of pro options while mentioning the base feature set you should look for in a 3D program. I've made my own choices that fit my work, but I'm not going to insist those choices are right for everyone.

A bit about my 3D background: Handsome Boy Modeling School

You're probably wondering, based on my Ars article history, how I could purport to know all about 3D and animation when I'm just a design guy with some virtualization chops. While it's true that I'm a print designer/magazine art director by trade, building 3D skills was always a pet project and 3D has become a staple of my print work over the last five years. I'm also a gamer and, in a slow time work-wise, I designed a level for Quake 3 (on OS X, no less). Even though that was before normal maps, GLSL and deferred rendering, I know my way around most facets of 3D technology. And despite the still nature of my work, I often use animation and compositing to build images:

Blast Code for Maya and Georges St-Pierre, who's a lot nicer than he looks.

I'm no stranger to the command line either, and I grow a nerdy smile by using screen and ssh to check render progress on my home server. So there's my 3D resum�—did I get the job?

3D on the Mac?

Since many people probably scoffed at the idea of the Mac as a 3D platform when they read it above, I thought I'd provide a macro-review of OS X as a 3D platform before starting on the workflow article. My Maya 3D skills were picked up on a Windows 2000 Athlon and, at the time, there was no other option. Until OS X came out, the Mac just wasn't a feasible platform for high-end 3D artists. Despite having a few competent programs, the stability problems of OS 9, combined with the terrible multitasking (who'd want their render to stop every time you clicked on a menu?) and the lack of a command line made the Mac more of a chuckle than a consideration for any high-end 3D animator. The video card choices were almost as bad as the 3D technology, and watching Apple fumble its way through Quickdraw 3D (roller-coasters and RAVE!) was awful. Then Steve came riding back in on his turtlenecked stallion and things started to change. OpenGL was officially adopted thanks to the gentle nudges of John Carmack; the popular API even made it into OS 9 but that still wouldn't have been enough to make the system palatable for 3D pros.

After OS X and the Intel transition, the situation greatly improved for 3D on the Mac. Today, the parts are finally all there for a mature 3D platform: the OS, the video hardware, and, most significantly, the software. In the course of doing research for this article, so many Windows 3D application ports were announced for OS X that it no longer surprises me when important niche products like Topogun, Headus UV Layout, or CrazyBump announce an OS X version.

But Apple can't take all the credit—OS X got more than a bit of help from Linux. With animation studios moving from Irix to Linux or Windows, there was a need for cross-platform development in 3D and VFX. Today, cross-platform development tools like Qt are ubiquitous in the 3D world. Qt alone is behind many professional 3D and compositing applications that appear on the Mac: Mudbox, Nuke, Toxik, Maxwell Render, Imagemodeler and Realflow to name a few.

No one doubts that OpenCL will be a significant technology in the future of 3D apps. Even Collada files—the open standard 3D format for game engines like UT3—display and rotate in 3D within Preview.app and Quicklook:

You could send a model to a client for approval and they wouldn't need a 3D program to view it—just Snow Leopard.

It seems that 3D users are feeling the OS X love too. In a recent poll of Maya users on CGSociety, the largest online community for 3D and animation, OS X turned up a good showing:

While I don't think that reflects the 3D industry as a whole, it's definitely encouraging.

VERY nice. Need MOAR articles like this in other topics too. This was extremely educational, even as a non-graphics person. I did not realize just how far the tools have come. Learning some of the lingo that goes with the tools was very helpful. Good Job. You earn a Gold Star.

I would also like to mention a different 3D application that is available on both PC and Mac at a very reasonable price; Carrara. Carrara has many of the features that were discussed, though not all are on the same par as with the more well known applications. Carrara is very intuitive to use. It has modeling features like those described. It also has UV layout tools (though not the colourization, but I'll be sure to get that on the to do list). Carrara has 3D painting, AO integrated into Global Illumination (and it can be rendered as a separate image using Carrara's Multi-Pass output options), and the Pro version of Carrara also allows for Network rendering (as well as NLA animation).

If you just want to do Modeling, you can get Hexagon which has all of the same modeling features as Carrara (even 3D Paint) plus a few more handy abilities (dynamic geometry and copy on support).

Carrara in particular has it's eye towards game designers and adding features that will help them make efficient models quicker and easier.

Currently I'm involved in a graphics programming project, and I'm yet to decide on which 3D model file format to support. A question for the graphics artist: What is the most commonly used format, and universally supported across popular packages (and OS platforms)? Collada and VRML/X3D is on my list right now, anything else I should be aware of?

Just to give notice of the Universal Binary version of Daz's Hexagon modeler being in private beta. It seems most of its terrible Mac bugs are out. As a low end SDS poly modeler, it is a very nice package (SubD + surface modeling plus construction history and a bit of painting and sculpting).

(Until it is out, I wouldn't recommend it on Mac. Some of the bugs are real showstoppers)

Nice article, altough it really is quite ecclectic and I wonder who exactly it is targeted at - a 3D newbie will be overhelmed, I think, by the constant references to advanced techniques with quite superficial explanations of what they mean, whereas somebody who works in the field already knows most of what is talked about, but there are actually few tips (because of course, for in-depth tutorials the space is too limited).

Perhaps think of doing another expansion of the series where you either concentrate on explaining to newbies what these things actually mean, or (what I, for instance, would be interested in), if your topic is 3D on the Mac, concentrate exclusively on software available on OS X and show me some benchmarks, explain the advantages of the Mac as platform for 3D, tell us how Windows-only software works virtualized, etc.

Still, as I said, good job in providing an overview, don't take the above as criticism per se, more like suggestions?

quote:

Originally posted by Tachikoma:Currently I'm involved in a graphics programming project, and I'm yet to decide on which 3D model file format to support. A question for the graphics artist: What is the most commonly used format, and universally supported across popular packages (and OS platforms)? Collada and VRML/X3D is on my list right now, anything else I should be aware of?

Having used Lightwave, 3D Studio Max, Softimage|XSI (my pick of all these apps), and Maya, I must say that I found Carrara to be an impenetrable mess of an app. Just how the heck are you supposed to get any modeling done with its clunky modeling tools? Why must I find workarounds to rotate objects since it only takes up to 180 degrees of rotation (I can input 270 degrees in any other app and it will do exactly what I want; Carrara just pops out an error - you can work around it but it's a pain when you don't feel like pleasing it all the time).

Yea, Carrara's price is right. In fact, it's why I own it (version 7); when I started off on my own I couldn't afford any of the big boys since they're all fairly expensive apps for a startup. In hindsight, I should have just stuck to 2D alone a little longer and save that money to purchase either Lightwave or save a little longer for Softimage|XSI.

Currently I'm involved in a graphics programming project, and I'm yet to decide on which 3D model file format to support. A question for the graphics artist: What is the most commonly used format, and universally supported across popular packages (and OS platforms)? Collada and VRML/X3D is on my list right now, anything else I should be aware of?

For polygonal geometry, the wavefront obj format is as close to a universal format as I'm aware of. It's a dead simple ascii format with faces, vertices, uvs, normals and ...not a whole lot else.

And even with that minimalist subset, you're still pretty much guaranteed to have to adjust any geometry you import to account for different scales, up-axis, handedness and winding rules between different packages.

Nevertheless, despite the limitations, it's pretty simple to implement so it may be a good place to start with sculpted geometry.

Glad you added a little historical platform perspective. Can't say I miss the days of trying to do 3D in Lightwave 5.5 on Mac OS8/9., LW6.5 or C4D v7 on OSX 10.1. Uggh. It took almost ten years of heavy alcohol therapy to return to IntelMacs for 3D.

Originally posted by darkowl:I wish 3ds Max was available for Mac. It's my favourite mainstream software - despite it being crashy, it's easy to use once you learn where things are. Couldn't get in to Maya.

Cinema 4D is a better option than 3DS. It's much more elegant wrt. interface and workflow (easier to learn and master) and much more robust wrt. crashes. And it runs on both platforms. On top of that it is precise which 3DS isn't (AFAICT).

I actually talked to a heavy duty Maya guy (did Maya work on several well known big budget Hollywood movies) back when making the decision about which 3D package to go with and he told me that except for film professionals like himself, there really isn't any reason to battle with Maya. Maya is mostly good because you can customize the shit out of it and do amazing stuff that way. Architects, designers and 99% of the rest of the world would be much better off with an alternative package and he recommended Cinema 4D over all the others because of it's many strengths, very few weaknesses and its ease of use. So, unless you are planning to work in Hollywood, Cinema 4D should be more than sufficient for you, i.e. you won't outgrow it. I am very happy with it and I've been through a lot of 3D packages since I started doing 3D about 20 years ago. Some people at the office do 3DS and it's a constant battle for them with daily crashes and render problems. Granted, they probably don't know how to properly maintan a computer, but it's still staggering how much time they are wasting on just trying to get their setups to do what they want. C4D has been rock solid for me and I haven't done anything other than hit install. The only thing that is a little backwards is installing and using the 3rd party VRAY render plugin in C4D. Esp. now that it still hasn't been upgraded to run with the latest C4D. Hope they release it soon.

The choice of package partly depends on what industry you want to be in. Movie and FX is mostly Maya and a bunch adding Houdini for particles, TV and TV ads varies a lot and depends on your local market - although 'flying logo' type work can now be done with Modo, Arch Viz. is predominantly 3DS Max but Blender is starting to take chunks out of that market, and Print is starting to see a lot more Modo. I'm fairly sure Blender with the 2.5 release is going to see much more adoption (see the various threads in the Newtek, Modo, etc forums for how much interest is in the upcoming Blender 2.5 release).

Right now Blender can do everything listed, although it is rarely as good as the best of class, it is usually close to the middle of the pack as far as capabilities. With the 2.5 release it will be competitive with a lot of the best in class tools for many tasks.

The proprietary nature of FBX and the fact that it is not openly documented makes me a little hesitant to adopt the format. On the plus side, Autodesk appear to provide an FBX SDK for free, and it is regularly maintained.

quote:

Originally posted by dedsmith:

For polygonal geometry, the wavefront obj format is as close to a universal format as I'm aware of. It's a dead simple ascii format with faces, vertices, uvs, normals and ...not a whole lot else.

And even with that minimalist subset, you're still pretty much guaranteed to have to adjust any geometry you import to account for different scales, up-axis, handedness and winding rules between different packages.

Re. the geometry processing on import, that's not a problem, I can address those with ease. My main concern was choosing a well supported format before setting aside some dev time for writing the import code. That said, Wavefront Obj looks interesting, thanks for the suggestion.

Originally posted by LetterRip:The choice of package partly depends on what industry you want to be in. Movie and FX is mostly Maya and a bunch adding Houdini for particles, TV and TV ads varies a lot and depends on your local market - although 'flying logo' type work can now be done with Modo, Arch Viz. is predominantly 3DS Max but Blender is starting to take chunks out of that market, and Print is starting to see a lot more Modo. I'm fairly sure Blender with the 2.5 release is going to see much more adoption (see the various threads in the Newtek, Modo, etc forums for how much interest is in the upcoming Blender 2.5 release).

For 3D TV work, quite a bit can be and is done with After Effects – incuding flying logos. I don't use it for 3D personally because I know real 3D, but for many people AE is a sufficient and easy way to get some 3D logos flying.

Originally posted by Jeppe Utzon:Cinema 4D is a better option than 3DS. It's much more elegant wrt. interface and workflow (easier to learn and master) and much more robust wrt. crashes. And it runs on both platforms. On top of that it is precise which 3DS isn't (AFAICT).

That is wrong, at least as a generalization. I am a Cinema 4D user now, but I have been a long time 3DS user as well (ever since the real 3D Studio days), and while the Cinema 4D workflow and UI has its own undeniable advantages, the MAX workflow and UI has its own set of strengths (starting from basics like for instance the viewport navigation that actually can scale and remain fluid with hugely complex models without the lag that C4D sometimes introduces, apparently without reason), and can be both easily learned and mastered.

Also, 3DS is certainly "precise" if by that you mean having the tools to work with architectural or CAM/CAE models to scale, including standardized lighting simulation tools and of course coming built-in with a renderer which is arguably - despite the major advances of the C4D AR module in the last couple of years - still better at real world phaenomena simulation.

Not to mention a key advantage which may or may not play a role in the decision, which is the entire Max ecosystem, which gives access to an impressive number of high-end plugins (and I don't mean only renderers, btw.). C4D is catching up (and other suites have better built-in tools, reducing the need for plugins in the first place), but the lag in development even with basic tools like Vray can be infuriating as a C4D user. There are however some "indie" developers producing various plugins and patches which - as long as you can live with the sometimes arcane workflows - are decently priced.

Which brings me to one of the main disadvantages of Max (besides the lack of cross-platform support), IMO, which is the license price, kinda hard to swallow given the way some of the competition (even from Autodesk!) is priced. The insistence of Autodesk of moving people on the subscription model doesn't help either.

Originally posted by Amyd:Nice article, altough it really is quite ecclectic and I wonder who exactly it is targeted at - a 3D newbie will be overhelmed, I think, by the constant references to advanced techniques with quite superficial explanations of what they mean, whereas somebody who works in the field already knows most of what is talked about, but there are actually few tips (because of course, for in-depth tutorials the space is too limited).

Perhaps think of doing another expansion of the series where you either concentrate on explaining to newbies what these things actually mean, or (what I, for instance, would be interested in), if your topic is 3D on the Mac, concentrate exclusively on software available on OS X and show me some benchmarks, explain the advantages of the Mac as platform for 3D, tell us how Windows-only software works virtualized, etc.

Still, as I said, good job in providing an overview, don't take the above as criticism per se, more like suggestions.

I agree, espcially about the Mac OS X specifics part. As the article stands now, you don't really see anything Mac OS X specific at all. Software packages are mentioned only briefly, in many cases without links to the developers website. To me, the entire article feels more like a detailed description of how you made a deer, targeted to those already mostly in the know. A beginner would very likely not understand half of what you do.

So, more about the apps and their specific shortcomings/advantages and less actual modeling, at least if it's supposed to be a Mac OS X targeted article.

Originally posted by wordsworm:To the author: any chance of you writing an article like this about 3D animation in Linux?

I'm not really a Linux guy and what attempts I've had to get 3D apps running on Linux in a VM were not very successful. All the yum installs and patches just didn't work out - I can't even get Maya running on Fedora.

quote:

Originally posted by Tachikoma:Nice job with the article!

Currently I'm involved in a graphics programming project, and I'm yet to decide on which 3D model file format to support. A question for the graphics artist: What is the most commonly used format, and universally supported across popular packages (and OS platforms)? Collada and VRML/X3D is on my list right now, anything else I should be aware of?

Another vote for OBJ. It's the standard for inter-application mesh exchange. It doesn't do great things like bones and animation like FBX/Collada but it's more widely supported.

quote:

Originally posted by tommyz2kool:If you're serious about modeling, why would you pick a mac?

What part of my serious modeling work can't be done on a Mac? I have a ton of Maya plug-ins and all the programs I need. Every screenshot or tool used in this article is running on OS X.

As for C4D vs. 3DsMax. I don't want to start an app flame war but if you want my input, Cinema 4D is powerful but it's not a replacement for 3DsMax, as much as I hate the interface of the latter option. It has a more robust modeling, animation and dynamics toolset. Not to mention its insane plug-in support (Krakatoa, Rayfire, etc), which Cinema 4D for advanced VFX.

So, more about the apps and their specific shortcomings/advantages and less actual modeling, at least if it's supposed to be a Mac OS X targeted article.

The Mac thing was covered because it was likely to come up since it's obvious I'm on a Mac and instead of having to justify it in a post here, I integrated it into the article.

I can't review every program ever made, even for OS X. That's not realistic so this is the way we approached this – so it could be used as a reference point for newcomers to 3D wanting some direction. It teaches primary concepts and expands on the buzzwords/techniques that people otherwise do a lot of digging to figure out. The techniques taught work for more than just making a deer.

The situation on the Mac is getting better. Modo, Lightwave, Blender, and Cinema 4D are all pretty much "first class citizens", and 3D Coat (which competes against Mudbox and ZBrush) likewise. Aside from an unfortunate Snow Leopard issue, Silo 3D -- a very highly regarded indie modeler -- is also a first class Mac citizen. All the stuff done in Maya in this article could be done in a Mac-only indie program called Cheetah 3D which costs $149 (Maya can do plenty Cheetah can't, but it wasn't shown here).

As another poster mentioned, FBX (and Collada) are also helping make the Mac more viable (e.g. even before Unity was available for Windows a lot of folks were developing content in 3DS Max and exporting to Unity via FBX).

Great article. I'm a 3D artist/compositor/generalist using OSX as my platform of choice. I've been using Lightwave since the Amiga days (but also use Modo and Zbrush) and am in the process of finishing off a promotional 3D animation for a major linux vendor. Though I love OSX, honestly I'm not sure I could claim the Mac is the ideal platform of choice for a dedicated 3D artist (though fine for an all-rounder like me).

One of the big problems is the lack of 64bit 3D apps on Mac. I understand there's an additional degree of difficulty porting apps to 64-bit on the mac compared to Window since you need to convert all your UI code to Cocoa. So far, AFAIK the only major 3D app running in 64bit mode on OSX is Cinema4D, though most other apps are in the process of converting to cocoa too. New apps that come out now (like the upcoming Lightwave Core) will support 64bit from the get-go at least.

3D work, with animation, is exponentially harder than static 2D for me. The learning curve is steep and seems never-ending. The more I know the more of a perfectionist I become ("that shadow doesn't look quite right" or "I need some caustics here"). What is interesting is how you can mix and match so many tools from any vendor you like (modeler, texture creation, UV mapper, renderer, ...).

I'm a PC guy and just a dabbler in 3D, started with TrueSpace back around v1 and switched to Lightwave at its v7. I don't like dongles on principle but I had no problems past installation with Lightwave's Sentinel system. There is no other application type I use that brings PC's to their knees so hard and fast. Video editing is a distant second on horsepower required!

Originally posted by tommyz2kool:If you're serious about modeling, why would you pick a mac?

Well, most of the best tools have Mac versions, so... If one has a preexistent Mac-based setup for art/audio/video/etc., it makes sense to add to it instead of going multiplatform.

No it doesnt when the best tools for 3D are PC only or perform better on PC. AFAIK, the only shop that uses macs for 3D is pixar, for obvious reasons, and that happened only after Macs started using intel parts.

Originally posted by tommyz2kool:If you're serious about modeling, why would you pick a mac?

Well, most of the best tools have Mac versions, so... If one has a preexistent Mac-based setup for art/audio/video/etc., it makes sense to add to it instead of going multiplatform.

No it doesnt when the best tools for 3D are PC only or perform better on PC. AFAIK, the only shop that uses macs for 3D is pixar, for obvious reasons, and that happened only after Macs started using intel parts.

For 99% of the people that do 3D, the tools offered on Mac OS X are more than sufficient. Sure, there are a ton more applications and plugins for Windows, but that doesn't mean that Mac OS X isn't just as good in most cases.

No it doesnt when the best tools for 3D are PC only or perform better on PC. AFAIK, the only shop that uses macs for 3D is pixar, for obvious reasons, and that happened only after Macs started using intel parts.

You obviously don't know much about 3D. Pixar, like every large CG production company, uses Linux. They use Macs for some asset creation but they use mostly Linux for their proprietary tools (Marionette, etc) and Renderman servers.

The only things that perform better on Windows PCs is realtime 3D previews since the graphics card drivers are more mature for Windows. I have benchmarked renders on Maya 32-bit in OS X against renders in Maya 64-bit in Vista 64-bit on the same machine and the results were the same (except OS X was responsive, Windows was not). I was recently beta testing a Maya plug-in that ran faster on OS X, even with the crappy gcc compiler. The developer was surprised - they just did a quick and dirty port and it was faster. For some other things, I'm sure it goes the other way but unless you can cite some real examples, you're out to lunch.

Realtime 3D performance is relative: I get fewer problems on the Mac since there are fewer variables. I had to turn off hardware overlays in Windows Vista even with a Quadro to get Maya working. That's at least one benefit to having fewer options on the Mac side: more predictable, consistent behaviour for 3D apps.

Originally posted by BEIGE:As for C4D vs. 3DsMax. I don't want to start an app flame war but if you want my input, Cinema 4D is powerful but it's not a replacement for 3DsMax, as much as I hate the interface of the latter option. It has a more robust modeling, animation and dynamics toolset. Not to mention its insane plug-in support (Krakatoa, Rayfire, etc), which Cinema 4D for advanced VFX.

I don't disagree. My point was just that for the vast majority of people, C4D is a better choice because it will do all they need but with less hassle. Sure 3DS does more and has more plugins, but most people don't even use plugins. That is why my Maya-guy recommended C4D over Maya (and 3DS). Not that is was necessarily better, but an easier and less frustrating option for most users. Sure, if you are serious about becoming a professional 3D artist, you should def. go for Maya, but if you are like most, it's probably not a good choice. The same, but to a lesser degree, goes for 3DS because of its less polished interface.

A very interesting article. I'll have to send it to the next person to ask "how do you draw them?."

I look forward to future segments. I'm a lighting and compositing artist for film (Lion Witch, Watchmen, etc.) and it's refreshing to see articles that offer some indication to the mainstream public that there isn't a magic process that goes on. I hope you'll cover node based compositing and alphas. It's amazing how many self-identifying nerds don't know what an alpha channel is.

You obviously don't know much about 3D. Pixar, like every large CG production company, uses Linux. They use Macs for some asset creation but they use mostly Linux for their proprietary tools (Marionette, etc) and Renderman servers.

The only things that perform better on Windows PCs is realtime 3D previews since the graphics card drivers are more mature for Windows.

That's not entirely true. My biggest gripe with the Mac version of Maya is just that it's so incredibly slow. You might not see it if you're primarily modeling, but once you get into the layout and rendering stage the slowdown becomes very apparent. Not just OpenGL performance, things like opening, saving, running MEL scripts all take a lot longer on the Mac version.

About the time 10.5 came out, a lot of the Mac Maya shops in the LA area starting switching over to Linux or PC. Why? Because the Mac version of Maya is notoriously glitchy and unstable (though some of the stability issues stem from Apple breaking parts of OpenGL in 10.5 & 10.6) Some of the myriad of problems on the Mac version of Maya include textures not displaying in textured view, to more serious problems like mental ray taking *twice* as long to render as the Linux build on the same box, a host of interface problems and inconsistencies, and of course...lack of 64bit version. IMO the Mac is really the worst choice for doing any kind of serious 3D work. Great for 2D and video, but severely lacking in the features needed for 3D work.

For what it's worth, I'd be interested to see an article like this about running 3D on Linux; what the best distro is the one to run with apps like Maya, prman and Houdini, etc.