
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.
Topics by tag:
Recently published articles by Dave G:
V-Ray Tuner has a “sleep at end of render” script that works on all three platforms but I realized recently that most Linux distros require that you run pm-suspend as root, nullifying the script. This can be addressed by letting users run pm-suspend without sudo. Just use visudo to add these lines to your user’s sudo permissions to prevent a prompt for password when using sudo:
username ALL=NOPASSWD: /usr/sbin/pm-suspendUntil I post an update, Linux V-Ray Tuner users will have to find and replace “pm-suspend” with “sudo pm-suspend” in the V-Ray Tuner MEL script.
0 notes | Permalink
I mentioned a while ago that Maya 2013 breaks compatibility with older versions since it added some data to the Maya ASCII format that the other versions don’t understand. Well, it seems that this is pretty easily addressed with a simple find and replace in a text editor. The offending flag is “-ch #####”, where the ### is any number of whatever length. To make 2013 scenes compatible with older Maya versions, just replace that flag and the space after it with nothing:


If you have a text editor that supports regular expressions, use a regular expression in the find field and replace all with nothing. This is what that would look like:

Note that there is a space at the end after the “" that you can’t see – In BBEdit, regular expressions are referred to as GREP, the Unix app that finds things by regular expressions. I’m using BBEdit and it’s really good with giant text files like these but I went a step further and made a shell script for OS X and Linux that just does it all in one step with sed and saves out a file at the same location with a “_2012_compatible.ma” extension. Anyway, you can see it all works perfectly in this video:
The shell script can be downloaded here for OS X and here for Linux (tested in CentOS 6.3). OS X and Linux use different versions of the basename util so the syntax is slightly different.
Update: There is now a Python version of the stripper script that works with Windows as well as OS X and Linux. Thanks to Dhruv Govil for that. The Python script can be run from within Maya or from a command line. To run it from a command line, enter “python /path/to/stripper_2013.py /path/to/scene.ma”. Check the script contents on how to run it from within Maya.
I also made an Automator action for OS X that does the same thing:

Grab that here.
If you don’t know what version the document was created with, I made another Automator action that reads Maya ASCII files and tells you what it is with Growl:

Grab that here. It requires the growlnotify command line app be installed in /usr/local/bin/
5 notes | Permalink
OS X 10.8 Mountain Lion is out today and I took the leap to the golden master a couple weeks ago (I’m on Apple Developer Connection to squash bugs). I did an update, not a clean install. Normally I would wait a while to have the inevitable bugs fixed for a 10.8.1 release but there were some problems I was having in 10.7.4 that were only fixed in 10.8. The main one was that VNC wouldn’t work unless you were using the Mac authentication method, which is only supported by a handful of apps. Anyway, that now works so I can log into my Macs with RealVNC from my Linux box. As far as 3D and 2D apps are concerned, everything else is working fine from what I can tell.
All these are working perfectly for me: Mudbox, Nuke, ZBrush, Photoshop CS6, Houdini, Max in Parallels Desktop, Premiere, Final Cut X (don’t laugh), BBEdit, Lightroom, Indesign, Bridge, UV Layout (you need to install X-Quartz from here), Topogun 2b, NEX, Wacom Intuos3 driver, V-Ray dongle driver and VRL Service. Everything works, basically.
Maya 2013 SP1
Maya has no problems at all in viewport 1 and the only issues I’ve seen are some small glitches in viewport 2. You can see a jittery dot when moving objects and a line with show up between creases:
I’ll file a bug report with Apple and Autodesk today, so hopefully this will be addressed soon. But it’s really just a cosmetic thing and doesn’t cause crashes. You might want to wait to upgrade based on that but, like I said, 10.8 fixes more issues for me than it created so I’m fine with this. From what I have heard, Apple is working on adding OpenGL 4.1 in a fall update to Mountain Lion. It involved some retooling that might be causing these issues with viewport 2. That’s why they aren’t supporting some older Macs in Mountain Lion – because they can only do so much bug fixing for a (small) variety of video cards.
Update: This seemed to be an issue specifically with my laptop and an external screen so others should be okay all around.
I haven’t had a chance to test the 10.8 release with the Quadro 4000 on the Mac Pro, but I tested it in earlier builds and OpenCL is now supported without a hack. V-Ray RT GPU works fine with the Quadro 4000 and I worked with Apple to get fixes in for RT GPU for Radeon cards and that was working last I checked. I’ll still only be using RT with the CPU for a while though – it supports more shader networks and is more stable on all platforms. Work is being done to address the limitations but it’s still not quite there, so don’t rush out to get a stack of video cards for RT GPU. It will just increase your utility bills. Which brings me to…
Utilities
I use a ton of shareware and smaller apps in OS X and all work fine in ML. Default Folder X, iStat Menus, Evernote, Growl, SMARTReporter, CodeBox, Dragthing, Things, PhotoStickies, etc. Nothing broke but I was careful to upgrade to the latest version.
Overall, OS X 10.8 is a nice upgrade – read John Siracusa’s full (and huge) review on Ars Technica to get an idea of what’s new and improved. My only complaint with it is that Apple turned on smooth scrolling in some of their apps and you can’t turn it off. I hate smooth scrolling, so hopefully someone will find a command to disable it and add it to a Mountain Lion version of Lion Tweaks or Tinkertool.
Update: someone’s posted this terminal command for disabling smooth scrolling:
defaults write -g NSScrollAnimationEnabled -bool NO
I am a happy man.
3 notes | Permalink
Someone on the Anandtech forum has posted a FRAPS-like utility for OS X, dubbed OpenGL Inspector (or now “GLIT” judging from the forum posts):

Man, I wish I had this a few weeks ago when I started benchmarking stuff for a coming Ars Technica review. Anyway, great to see this handy utility.
1 note | Permalink
There are some Windows thumbnail apps for Maya docs that get mixed results and cost cash money. I just whipped up something that uses Maya itself to generate a hardware rendered preview for selected .ma or .mb files (it also works on OBJ, FBX, etc):
It’s just a shell script that can be adapted to work in Linux as well as OS X (and Windows if you use Cygwin).
Here’s the shell script (run it by doing path/to/script.sh file1.mb file2.ma file3.obj)
Grab the Automator workflow here.
Both the shell script and Automator actions reference Maya 2012 on OS X. Just change the path to reference your Maya version.
Update: I made a revised version that renders the preview to /tmp and uses QuickLook to preview the document, for less clutter:
Grab it here: QuickLook_Maya.workflow
0 notes | Permalink
Sorry I haven’t been blogging much lately. Between coping with endless Autodesk license software problems (I’ve never seen a worse software turd than Adlm) and trying to soak in a bit of summer, it’s been a weird couple weeks. I’ve also been working on integrating my Mac OS X machines with my HP Z820 workstation running Linux, and it’s been tough but worth it. It’s about to get very easy for you since it’s all laid out below.
I don’t think it’s much secret that I’m a Mac guy but sometimes a Linux machine can make sense for those few high-end apps that currently aren’t available on OS X (NAIAD, Mari, Phoenix, etc) and integrating them is actually easier than it is with a mix of Mac and Windows, or Linux and Windows. This is mostly due to the similar directory structure (no C:\ or X:\ to worry about) and what few differences exist can be easily solved with either symlinks or mount points. Symlinks are like Mac OS aliases or Windows shortcuts but work deeper in the filesystem so programs don’t know they are different from the actual paths. 101 Autodesk Maya Tips has an extended tip to use them to Dropbox sync the Maya scripts folder. Here I’ll be talking about mount points.
Anyway, if you’re a V-Ray user, you probably know that when you are doing distributed rendering, you need to have textures accessible to all slave machines and the complicated part is they all have to have the same absolute path. Since my projects are mostly living on a Mac host, the file path is /Volumes/dullard/WORK_mbp/PROJECT_x/Files/ and some HDR files are also stored in a stock folder in /Volumes/dullard/STOCK/HDR. The common thing is that all my assets are on /Volumes/dullard/. If you mount these from the terminal in Linux (I’m using Centos 6.2), they can be set to mount anywhere, so all you have to do is create a folder called “Volumes” in the root level (/) of the file system and then make another folder in there called “dullard”. With samba sharing the dullard disk on the Mac host, I mount the share from Linux with the following commands as root:
mount -t cifs //10.0.1.8/dullard /Volumes/dullard -o username=myMacUserName
The IP address is the host, the second part is my mount point on the Linux machine. After I enter my password for my user, the Mac volume is now mounted with the exact same path that it has on the Mac. Now, when I open any project created on the Mac, the file references work flawlessly.
A Nuke project on OS X:

Opened on my Linux machine:

Exactly the same rendering. When I create a project from the Linux side and save it to the mounted Mac, it works in the same way when opened on the Mac side. But the best news is that this now makes it dead easy to do distributed rendering in V-Ray since all referenced assets are now identical. With the vrayslave service running on the Linux machine, I can use my MacBook Pro as a monstrous 40-core rendering station (click for full size):
Notice how my Mac is using all eight cores and my Linux machine in the terminal is using 32 (16 hyper threaded). If you use a DR render element in V-Ray, it will show you exactly which machines have rendered each bucket:

Considering that the yellow Mac side is a laptop, that’s not too shabby. The only complicated part to this workflow is that you need to make sure that the host permissions for samba sharing are set up correctly or you’ll have problems writing or overwriting files. I found the shareware app SMBUp.app invaluable for sorting this stuff out. While getting into samba permissions is beyond this post, here’s a sample smb.conf to show you the proper settings that work for me. Also note that I had issues with Maya when using the same user name in my Linux account as in my Mac account. Really weird but Maya is a finicky beast, to put it mildly.
Updated note: V-Ray for Maya recently added a “transfer missing assets” feature in the nightly builds that eliminates the need for this SAMBA share workflow. It works between Linux and Mac OS X and likely works with Windows distributed render nodes as well.
0 notes | Permalink
In the course of making my interactive iBook version of 101 Autodesk Maya Tips, I evaluated Apple’s iBooks Author, a free app for OS X that makes it really easy to make interactive iBooks. Unfortunately, it doesn’t unsuck the review process at Apple, which still has my iBook in its slow-churning guts. See the full review here.
0 notes | Permalink
I made a simple shell script to use for interactively prompting start and end frames:

Same logic as the Maya one here. Here’s the download link:
http://www.can-con.ca/tumblrpics/nukeme.zipJust set up your $PATH variable for Nuke or put an absolute path to the Nuke binary in your script. Works in OS X and Linux.
0 notes | Permalink
I made a simple service to use QuickLook to preview the selected absolute file path. Handy for previewing something before using rm or, here, to verify that my distributed V-Ray render is okay:
Download the service for OS X 10.7 and above.0 notes | Permalink
I just got a new quad-core 2.5GHz i7 17” MacBook Pro (Sandy Bridge) and it’s amazing for 3D and actually makes a serious dent in V-Ray renders when paired with my 12-core Mac Pro Xeon. But I didn’t buy it for the DVD drive. For my younger readers, “DVDs” and “CDs” were physical media formats that took up actual physical space and their primary appeal was their ability to collect dust. Some saw DVDs as trophies that represented their refined taste in film. They were like coffee table books but dumber. Anyway, my point is that I didn’t need the drive and wanted to replace it with a huge, cheap hard drive while keeping the OCZ Vertex Turbo I had around to use as my system drive (it’s a huge difference in speed).
The incredible popularity of the MacBook Pro has revealed what PC users will find ironic: that there is a market of competing hard drive caddies that use the DVD drive bay of the MBP. The best-known of these is the MCE Tech Optibay. MCE Tech makes nice Mac customization components and I have a Mac Pro PCI Express SAS backplane adapter from them. But they charge two arms and two legs for everything they make. The Optibay is $100, which is retarded for a piece of metal, a SATA adapter and a few screws. Anyway, I searched for “opti bay” on eBay and found one for the 17” model for $18 from ny-compu-tek. It is amazingly well made and looks better than what is shown on the MCE web site:

So I quickly used it to replace this relic with the 750GB 5400 RPM drive that will hold my stock textures, fonts and working files:




It’s very simple to do and the only hiccup I found was when I went to put the back cover on and the edge didn’t meet evenly – it turned out that I hadn’t placed the wire bundle at the corner of the drive under the bracket. It should look like this:

After that, the back cover fit flush against the edge. The drive works great, there are no drivers needed to recognize a hard drive instead of a DVD (some people wondered about this), and the system instantly saw it in the option-button startup screen (I had it partitioned and loaded with OS X and Windows 7:

My SSD at the left and the partitioned drive with recovery partitions. The Choose Network option is great if you’re installing a new drive - you can install Lion directly from the cloud and that’s what I did for my SSD. No need for a DVD drive. My girlfriend got a MacBook Pro Air and she’s a pianist so she bought the external USB Superdrive in case she needs to listen to/burn a CD (refer to above for definition) so I could use that if I had to burn something for someone.
The Boot Camp stuff works fine and I’m finally getting around to trying the Witcher 2, which is no Dark Souls, but it’s decent:

It’s been swell DVD drive. We can still be friends.
1 note | Permalink