Dave Girard's 101 Autodesk® Maya® Tips is now available in Kindle, interactive iPad edition and DRM-free EPUB/PDF editions. Work faster, cry less. Read more about the ebook.

Follow cgbeige on Twitter

Topics by tag:

Recently published articles by Dave G:

Free downloads by Dave G:

Mac OS X-only downloads:

Tip on Transferring Your Maya for Windows or Linux Prefs to Mac

I saw this question on CGSociety so I thought I’d post a tip on how to get your Mac Maya set up with prefs from your Windows or Linux machine, without any stability problems – but this also prevents you from starting from scratch, since we all have pretty honed tweaks and scripts.

99.9% of your downloaded MEL and Python scripts will work so you can copy those directly over to OS X without worry but you should start with clean prefs (default preferences on new launch) and then copy your various settings, shelves, icons, etc. from Windows/Linux to /Users/beige/Library/Preferences/Autodesk/maya/2015-x64 for example. Your shelves and attribute prefs will all work (given they don’t rely on plug-ins that are missing) but I wouldn’t copy these files from Windows/Linux to Mac (or vice versa):


This is the file that is almost always the culprit when you experience stability problems so you should never copy it.


The Mac version of Maya has support for command, alt/option and control keys where Windows and Linux only have options for the control and alt keys, so you don’t want to copy those OS keyboard-specific setting files over. You lose some time there remaking them but at least you get an extra modifier key to work with on OS X. If you are feeling particularly resourceful, you could probably write a script to translate one file to another and just remap control keys to command. I don’t recommend using control for your modifiers because OS X has a lot of Unix-type bindings for things like home (control-a), end (control-e) and control-d (forward delete) in the Script Editor or text fields, so you want to keep those for text editing. Plus, the control key is more awkward to hit as a modifier than the command key is – it’s under your thumb, so it makes a nice pivot.

5 notes | Permalink

How to Improve Your Favourite Program – An Idiot’s Guide to Filing a Bug Report

A lot of people ask me about particular bugs or things they see with programs and I generally tell them the same thing: file a bug report. Even if I knew of a workaround for some bad behaviour in Maya or another program, you want your issue fixed as soon as possible and that means getting your issue known to the developers. Autodesk works hard to squish bugs in Maya and the recent transition to make the viewport 2 the default will likely cause some issues for people. They will want to see these issues resolved as soon as possible, so you need to tell them as soon as possible if you see something wonky. This, more than any complaints on Twitter, is how you improve your beloved graphics program. It’s not a lot of fun but it’s the way you get things done in the software and OS improvement world. So here is an idiot’s guide to filing a good bug report for any program.

As a long-time beta tester of Photoshop, Maya, V-Ray and Mac OS X, I frequently file bug reports and – if you can brag about such a thing – I am quite good at it. If you are an exceptional beta tester and the developers are feeling generous, you sometimes get free copies of the programs or discounts on the release for your assistance (this is generally very hush hush because they don’t want others asking for the same thing). Being “good” at filing bug reports means hitting all the right targets when filing them:

  • Communicate clearly what the problem is
  • If possible, show an example of the bug
  • Provide an accurate profile of your system and software
  • Most importantly, try to provide a step-by-step way to recreate the bug. This can be difficult but try to retrace your steps because, if the developer can’t recreate the bug, it won’t help them fix the issue.
  • Attach crash logs if possible. If you’re on OS X, you can frequently see these logs reference in Console.app output or programs like Mari or Maya have their own logging setup.

So, if I file a bug for Maya's viewport 2's z-fighting, I give a little movie to show the behaviour vs. viewport 1:

I use ScreenFlow for my screen recordings but QuickTime Player in OS X includes screen recording functionality if you want a free option.

You can imagine that this process of bug reporting can get repetitive and time-consuming so use templates or scripts where possible to make this process less so. If you are filing a bug report for OS X, you provide your system profile by entering “sysdiagnose” in the terminal and hitting enter. This runs a series of verbose profile tools and wraps the info into a gzipped bundle that you upload to Apple’s bug report page. I use this Automator Workflow to put the system version in the required field on the bug report page to save me tracking that down elsewhere. It is just a convenient way to get output from this shell script right into your active text field:

system_profiler SPSoftwareDataType | grep "System Version" | sed 's/^......//g'

The output:
System Version: OS X 10.9.3 (13D61)

So there are efficient ways to do this tedious but very important task. Bug reporting is a crucial part of being a pro user – you want your OS and your software to do what you need to but sometimes you have be the one to report the issues because many people use programs differently and so they inevitably find different problems.

2 notes | Permalink

My Ars Technica Article on Creating a Small Mixed-Platform Render Farm

I wrote an article that should appeal to a lot of my readers – it outlines how to make a render farm with relatively modest means and with an outline of how to do it with a mix of Mac, Windows and Linux platforms. Read on!

2 notes | Permalink

A Look at the Mac Version of Unreal Editor 4 

I’ve been working with the Mac version of Unreal Editor 4 for a week or so now and am really loving it. I had some experience using UDK3 found the workflow and interface less than great, and it seems they agreed with me because the changes in UE4, as far as workflow go, are almost perfect. And, even though there are a few bugs with the launch version that are being actively squished, the Mac version is no half-assed port. While gaming on the Mac will never replace gaming on the PC, Epic is clearly bullish on the future of Mac and iOS as gaming development and gaming platforms respectively.

Pretty much everything you want is there. Multithreaded light map baking, Matinee, Blueprints (the stuff that replaces Kismet), those GPU-accelerated particles with vector grid and collisions:

Performance looks worse in that video than it is due to a screencap / GPU combo.

You get that sweet shader editor:

Really nice Maya-to-Unreal material support so you can import one combined mesh into Unreal but still get all those unique shader references to edit or even replace:

Post-process volume with bokeh DOF and colour grading:

IES light profile support:

Global Illumination without tricks:

It all adds up to an impressive show considering they had to do this all for OpenGL:

The only noticeable omissions from what I can tell so far are:

- Displacement tessellation for OpenGL shaders
- Oculus Rift Mac Support (this is in Unity already so I hope this comes soon)
- The auto-UV reconstruction stuff isn’t ported yet

Edit: Unreal Me stuff removed
I took down the Unreal Me script because Unreal Engine now lets you import baked animation without bones with the following workflow:

1: Group your baked key animation objects in Maya.
2: Export to animated FBX 2013 with the group selected
3: Import the FBX with the following settings:

Make sure that Import Animation and Import Rigid Mesh is set. From then you’ll get your non-joint based animation imported correctly.

Oh, the joys of scripting for a program you’re still learning :p

4 notes | Permalink

A Simple Fix for A Huge Increase in Performance with OS X and Large Maya Scenes

In my review of the 2013 Mac Pro, one of the biggest issue I had with the machine was the OpenGL performance and the showstopper was a set of videos that shows how bad the D700 GPUs perform with very large Maya scenes. Well, it turns out that this is due to a Maya bug – you’re surprised, I know – and there is a simple fix for Maya 2014. Just put this line in your Maya.env plain text file ( ~/Library/Preferences/Autodesk/maya/2014-x64/Maya.env):


That’s for the D700’s 6GB of VRAM. Obviously for your particular GPU, set it to whatever your GPU’s RAM is, or slightly lower if you want to be extra safe. Relaunch Maya and witness the result – a giant performance boost and near-parity with Windows performance:

Glad this was sorted out and this fix will be rolled into Maya 2015. Off to update the review…

3 notes | Permalink

Quick Look at Parallels Desktop 9 Enterprise

As you probably saw here or on Twitter, I recently got a new 8-core Mac Pro. Occasionally, I occasionally test scripts in Maya for Windows and do model conversions in Autodesk Max and sometimes use a Windows virtual machine to do it, even though I have a gaming rig that could be used instead. If you read my review of both VMware Fusion 6 and Parallels Desktop 6 on Ars Technica, you might have been able to tell that I prefer Parallels’ speedier and robust 3D support but envied Fusion 6’s support for 16 virtual CPU cores.

So Parallels gave me a testout of their Parallels Desktop 6 Enterprise edition that has 16-core support for this machine. So I quickly put it to the test with Cinebench to compare it to VMware and the host Mac’s score. Results (score, higher is better):

Native 8-core Mac Pro in OS X 10.9.1: 13.74
8-core Mac Pro with VMware Fusion 6 Windows 7: 12.99
8-core Mac Pro with Parallels Desktop 9 Enterprise: 13.05

Not bad and it confirm that this is still my all-around favourite virtual machine program for demanding 3D client applications and rendering. Max runs well:

If you are testing Maya scripts in Windows, the viewport 1 performance is okay too:

And the best thing? You’re literally running two OSes and two demanding 3D applications but multitasking is still better than when rendering on native Windows hardware:

Multitasking with no priority drop for the rendering. Dare to dream.

Sorry Windows users, but I had to. After the spate of questions about why I’d run 3D apps in OS X when the OpenGL performance is better in Windows, that should be answer enough.

Anyway, Parallels Desktop 9 Enterprise a $100/year and, while that is a reasonable price for the software, I hope they add it to the base non-Enterprise version because VMware’s Fusion is cheaper and doesn’t require a timed-out subscription to offer similar virtual 16-core support. But, if you need a 3D machine in a VM now for OS X, this is the best option.

0 notes | Permalink

My Review of the 2013 Mac Pro

So my very long review of the new Mac Pro is up on Ars Technica after extended testing with a ton of pro apps. Great machine but Apple’s job is not yet finished since the lack of dual CPU configurations and lacklustre OpenGL drivers make it tricky to recommend as a one-stop shop for all things 3D. The OpenCL scores are bananas though – you’d have a hard time finding a more capable machine for OpenCL-accelerated 4K editing in programs like Resolve or Final Cut Pro X.

And man, this thing is quiet and tiny:

3 notes | Permalink

Actually Empty Trash – Automator Workflow for OS X to Empty Trash if Items Are Open

The OS X Mavericks upgrade has been pretty painless for me but one thing that seems to be an issue is that QuickLook likes to lock onto files so they think they are open. It’s trivially easy to get the “File in use” error when trying to empty the trash now. Until Apple fixes it, you can try the Secure Empty Trash, but that will be slower since it does multiple passes to write zeros over the space on the disk where the file data was before. This is potentially more of a problem also, if you don’t have backups since a disk data recovery tool won’t find these files. So I made an Automator version of the two-line shell script I use to empty the trash in these cases:

rm -rf /Volumes/*/.Trashes
rm -rf ~/.Trash

That actually deletes the trash folder but the OS recreates one with proper permissions anyway. The Automator workflow can be downloaded here: Actually_Empty_Trash.zip

See it in action:

Use the Shortcuts panel of the Keyboard system preferences to add a hotkey to the service and you’re set:

The script is not dangerous and there is no way it will ever delete anything not in the Trashes folder but, nevertheless, it comes with no guarantees.

0 notes | Permalink

OS X and Linux Users: Remove the .mayaSwatches and .vrayThumbs Folders With a Shell Script

Maya and V-Ray leave material swatch previews strewn throughout your system, so I clean these out all at once every once in a while. With this single terminal line in bash, on both OS X and Linux, you can make a script that will be ready to remove the folders for you. For .mayaSwatches:

find / -name ".mayaSwatches" -print | sed 's/.*/rm -rf "&"/g' > ~/Desktop/delete_mayaswatches.sh; chmod +x ~/Desktop/delete_mayaswatches.sh

and for .vrayThumbs:

find / -name ".vrayThumbs" -print | sed 's/.*/rm -rf "&"/g' > ~/Desktop/delete_vrayThumbs.sh; chmod +x ~/Desktop/delete_vrayThumbs.sh

It will bark about not having permission to read some directories since you’re not using sudo but you don’t want to do it for all users and you don’t need to comb system folders for this anyway. The script itself doesn’t do anything until you run it in the terminal, and you can open it in a text editor to verify that nothing harmful is done by it:

Nevertheless, this post comes with heaping portions of “use at your own risk.”

After you’re confident that it’s not going to nuke anything you don’t want to nuke, drag the script into the terminal window to run it. Wait for it to finish and those folders will be gone.

4 notes | Permalink

barbaralaub asked: I am sure I am going to appear to be an imbecile with my question(s). I am beginner level-BRIGHT GREEN-to animation. Was enrolled in a web design program , did a flash animation, loved it,switched programs. Have an iMac, now being told I should buy a PC? "You won't be able to use ParentMaster plug in for Maya to attach/detach", "everyone in the field uses PCs not Macs". I don't even know (yet) half of what they're talking about. Is there a resource for a blank slate like me on this? Thank you

Everyone is biased to what they use so it’s going to be hard to get honest feedback for this question. I use Maya on all three OSes often and learned Maya in Windows back when it wasn’t available on OS X and then switched to the Mac version. But the “everyone uses X” is actually a lie. The majority of independent Maya users are on Windows but if you work in the 3D for film/VFX industry, that is dominated by Linux. Technically speaking, that’s a majority of users on PCs but that’s not a reason to pick a platform. Maya plug-in availability is better on Windows but it sounds like you’re learning and you should try to avoid solving problems with plug-ins while learning because it creates a dependency on them and sometimes they stop getting updated. That’s one of the reasons I’m looking forward to V-Ray support for XGen – waiting months and months for Shave and a Haircut update for the latest Maya version is a pain in the ass. 

But the Parent Master script you mention works on all platforms and scripts don’t tend to break with new Maya versions like plug-ins do, so go ahead and use it and other scripts. If you see a script on Creative Crash that says “Windows” as the only supported platform, that’s probably untrue since it’s very hard to make a script that doesn’t work on all three platforms. It’s just that the person who wrote the script only tested it on Windows, so they don’t want to write “works on OS X and Linux” without having tested that. 

But use the platform that you want to use. If you like OS X, use OS X because you’re going to be a lot unhappier using Windows as a Mac user than you are going to be as a Windows user with a few more plug-in and hardware options. If you want to build a PC to help with final renders, go that route and use the Mac for your workstation/host machine. I did that and there is a guy on Creative Crash doing exactly that here

I have a Linux render slave box that doubles as a Windows gaming machine and V-Ray’s automatic asset transfer in recent nightly builds means that I don’t have to care about sharing texture directories (this is coming in the official 3.0 release). V-Ray Slave licenses are also free. After tedious issues with using Windows as the slave OS (fans constantly spinning up and spinning down like a man catching his breath), I stopped running it in Windows and only run that for games. So this is what my desk looks like right now:

OS X at the left, Linux at the right.

Every platform has it’s strengths and weaknesses.If you read my article on creating the ultimate creative content OS from parts of Mac OS X, Windows and Linux, you’ll get an idea of the strengths and weaknesses of each platform. Linux and OS X are far better at multitasking than Windows (you can work while you render without having to drop process priority or give a CPU core to other tasks), Windows has more 3D programs but, if you need to use a Windows-only 3D app infrequently, a virtual machine works fine. My Max model conversions for Turbosquid are built and rendered in a Parallels Desktop VM. 

If you want to learn about what is used in the industry, that is easy. If you work in game development, it is completely dominated by Windows, but even Windows 3D game development people curse that dependence:

If that guy had the option to do game development on OS X, he probably would. A Unix OS like OS X will actually be closer to what they use in larger companies in the VFX industry, which is completely Linux dominated. If you learn how to do shell scripting in OS X’s terminal, that will translate directly into Linux knowledge without having to do the crap that Linux is bad at: like manual editing of grub configs or solving audio issues. Every time my Linux machine wakes from sleep, I have to disconnect and reconnect its Wacom tablet or it won’t work. The Mac’s hardware options are more limited but you get a lot of peace of mind that you don’t get with Windows or Linux. You can work with very little getting in your way. Under a tight deadline, that is worth more to me than a couple more plug-in options.

3 notes | Permalink