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.
V-Ray Tuner 4 Beta for V-Ray 3.0 – Come and Get It
After returning from a very good SIGGRAPH, I’ve found some time to put up the latest version of V-Ray Tuner that has been cooking for the last number of months. I have been beta testing V-Ray 3.0 and I’ve added a lot of features that should cover the 3.0 user well from the beta to the release versions and beyond. Grab it here.
Warning: V-Ray 3.6 was the last version to support versions of V-Ray 2.x so it’s possible that you can get errors if you use it with version 2.4. Some of the features use things like V-Ray’s query options that are 3.0 only:
So, here are some of the additions to V-Ray Tuner 4 that I think will be well liked by V-Ray 3.0 beta and release users:
Use Environment Volume toggle added to new row of checkbox toggles to enable/disable environment fog. Great for speeding up your scene/material building and draft rendering since you don’t always want fog slowing you down.
Use Embree toggle added to new row of checkbox toggles. Embree is Intel’s CPU ray tracing optimization kernel that is used in V-Ray 3.0 (and RenderMan 19). If you have an Intel-based CPU, regardless of host OS, it should always be on to get the fastest render times.
Optimize script enables Embree if V-Ray version is 3 or above.
Transfer Missing Assets for DR toggle added to new row of checkbox toggles. This is the awesome new V-Ray 3.0 feature that does texture transfers in the background between Mac OS, Windows and Linux without having to use SAMBA and URL translation type fixes.
Use Local Machine for DR toggle added to new row of checkbox toggles. Good if you’re using a laptop with faster machines as your slave workhorses.
Use Cached Assets toggle added to new row of checkbox toggles. Use this if you use distributed rendering since it will save uploading assets again. I’ve tested it extensively and the caching is now bulletproof at detecting asset changes.
See all those new things above in action here:
Another cool feature that I think will save people a lot of time:
Added V-Ray Tuner Presets manager for render settings in the Render menu. This is a nice way to create render presets that don’t affect EVERYTHING like Maya’s render presets do. This only affects the toggles you see represented in the V-Ray Tuner interface, so you can use a universal “Draft” setting for different resolution documents and click the load for final render settings that you prefer and only have the relevant quality features changed:
Toggle Object Sub-texture as Diffuse script now supports all material types.
Organized Materials menu into submenus for clearer outline of features and to take up less space.
Light Cache Prefilter Samples added to sliders.
Added a couple sliders to new Global Material/Light Tweaks section to do a single change to all reflection subdivs and light subdivs for quick switches from draft to final settings:
Added CUDA option to RT menu.
Added RT max noise slider to V-Ray RT sliders.
Wrap in VRayMtlWrapper added to Materials menu. Good for making mats that need to be matte bases. Select your mesh and then run the script.
Added prompt to LWFMe to see if you will manually linearize your textures and swatches. If you pick Yes, it does everything except enable “Linear Workflow” which is the dumb way to do automatic linear worklows and isn’t recommended for use with V-Ray anyway. Basically, always click Yes and manually linearize your nodes unless you are using newer Maya versions with automatic colour management (2015 extension and later). I’ll eventually remove the LWF setting altogether in the V-Ray Tuner UI but it’s good to see that it’s always off while you work.
Small fix to deGamma script to work with V-Ray mat display in viewport 2.
Three point lighter script added to Utils menu. Just adds three V-Ray Rect Lights to your scene around the object selected so you can get a basic three-point light setup. Groups the lights so you can scale and move them easily.
Anyway, enjoy and I’ll post the final on Creative Crash once V-Ray 3.0 is released.
A Quick Rundown to Using XGen with V-Ray 3.0 and Maya 2015+
I finally got around to really testing XGen with the V-Ray 3.0 beta and it works great. After a brief snag, I discovered that you have to have XGen and all the V-Ray plug-in components set to auto-load in Maya’s plug-in preferences to get everything to work right. Considering how finicky auto-load can be in Maya, maybe look into using my tip from 101 Autodesk Maya Tips to force load plug-ins with a text edit to userSetup.mel. So, with everything loaded correctly, I did a quick little test and it’s working great. There is too much in XGen to cover in one little blog post and the the V-Ray 3.0 XGen docs online cover some other V-Ray specific things, but here is a fast walkthrough to show how you might use it for a simple hair setup in Maya:
The end result there reminds me of the Fred Smith Alva skateboard from the eighties (yes, I’m that old):
Anyway, great to see the progress being made for Maya-specific tools and V-Ray. The 3.0 release is going to be pretty huge.
Happy Indy Pen Dance Day – Here's a Gift: An Accurate Sand Shader for V-Ray and mental ray for Maya
I’m waiting to move into my new place in San Francisco tomorrow and noticed that someone asked me on Twitter if I could share this sand shader that I made for some of my Turbosquid assets. So I figured, “why not?,” so here is a download for both procedural shaders for Maya (V-Ray and mental ray):
Maya on Mac – is there a way for the Maya dialog to recognize my second internal drive? I have a primary drive for OS and apps, then a secondary drive for files. I can switch to OS native dialog to do it, but curious why it doesn't show up in Maya dialog.
Maya’s Qt (default) dialog has some odd behaviors so I always use the OS dialog. If you want to switch back and forth between the Qt style one and the native OS one, I made a script that I put in my shelf:
int $dialogStyler = (!(`optionVar -q FileDialogStyle`));
optionVar -iv FileDialogStyle $dialogStyler;
if ($dialogStyler == 1)
print "Dialogs set to OS Style";
print "Dialogs set to Qt Style";
Hi Dave, I'm a big fan of your blog and of your jaw dropping work and have a quick question about Windows on the 2013 (newest) Mac Pro. I am installing Parallels Desktop Enterprise and was wondering if it works well with Windows 64 bits version to run 3DsMax or I should go with Windows 8 64 bits? I am just using 3DsMax for model conversions. Hope you have the time to get me on my way! Best from Holland!!!
Thanks for the kind words. I use Parallels Desktop Enterprise with Windows 7 64-bit and it works great with Max – also for stock model conversions and stuff. I’m sure Win 8.x would be fine as well.
Hey! I was wondering if you know if Vray supports open cl for mac. Using this way vray rt. Or if there is any other render that takes advantage of the 2 graphics card on the new mac pro. Thanks in advanced!
Hi, unfortunately V-Ray RT’s OpenCL mode has issues on AMD hardware on all platforms. It’s not just a Mac issue, actually. The good news is that the new progressive renderer tech in V-Ray 3 is not GPU-based so everyone will be able to use it, regardless of their hardware.
As for other GPU renderers, there are a bunch out there and I just read that Redshift is coming out with a Mac OS X / OpenCL version in the future as well. Hopefully we’ll see that at SIGGRAPH or something soon. But I’m a big V-Ray fan so I just use the distributed rendering with the 3.0 beta’s progressive software renderer.
Make Frustum Updated to Add/Update All Selected Cameras
Well it’s been a hectic month here since I moved from Montreal to San Francisco. I found a little time between working, getting a car – loving this Ford Fusion Energi SE – and getting a place in the Mission (sweet Jesus, the rent here!) to add a requested feature to this script. You can now add or update the frustum for all selected cameras in version 1.2 of Make Frustum for Maya. Go get it:
Hey Dave, I really love your make frustum script. Is there any way to add the command to the default camera?(Create camera/camera with frustum applied is what I want it to do) I've tried adding the camera to the shelf/shelf editor/pasted makeFrustum () into the command line of the camera but I get a syntax error. Am I doing something wrong or is it not possible?
ya, sure. It was easy to do so here is a new version of the script with a button to make a new camera with the geo frustum already attached:
HI Dave, I just tried using your exportSelected script (for export multiple objs as separate files) but couldn't get it to work. I was trying to adapt it to work for RealFlowSD files but couldn't even get it to work with objs. Am I missing something? (Obviously I thought to change path to my counterpart). Thank you.
Can you point me to the script you’re talking about? I’m not sure which one is the exportSelected script you’re using as a source.
I used your mental ray command line version but my Maya 2013 on Mavericks is still crashing. The mrTempRender window says there's a fatal error. Any idea what I might be doing wrong? This is a test file with only an unshaded sphere.
if you can’t do a command line render even, then it’s likely a bug with Maya or a bad install.
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.
Hi Dave, first let me say that your blog and especially your book is awsome! thanks for sharing knowledge. The vray tuner script has its permanent place in my maya shelf! What might be a nice addition would be a texture optimizer like make tx. for arnold, which converts and automatically reassignes textures to a tiled format. img2tiledexr only does the first half...What is your experience/advise regarding rendertimes and memory consumption with different file formats? kind regards, Christopher
Thanks for the kind words. I’ll keep that in mind for future V-Ray Tuner updates. I haven’t done much testing with different file formats to compare render times but I always use EXR since I render in 32-bit floating point and it has lossless compression. And I generally use LZW compressed TIFFs or PNG files for assets that use 8- or 16-bit textures.
I’m packing up to move to San Francisco next week and found this old June 1999 issue of French magazine Max. They did a profile on Montreal and came to visit us at Vice Magazine when it was still based in old Montreal and when it was literally all the people you see here. I’m on the left next to Suroosh, one of the founders. I was the art director from 1999 to 2001.
Hi! I came across your post about avoiding uv seams and i wonder if that method of putting the shells parallel to each other in uv space applies as well for lay-outing the uv's for humans? Because the uvs of a character is more complex, consisting of a number uv islands of different sizes in a single uv space. Will i have to square out some uv islands as well?
It applies to everything but it can be tough to align shell edges for all parts of a human model so I tend to only worry about it for highly visible areas and tuck UV seams in areas that aren’t usually visible like under the arm or the back of the neck, where they can align easily. Or you can use Ptex.
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!
Delete Excess Vertices: Same as hitting delete key with vertex mode and all vertices selected.
Made the “3 length” normal button into 20 for viewport 2 since Maya 2015 defaults to viewport 2 and the normals are much shorter in viewport 2.
Now tags your last clicked button with a light purple and tags the second last clicked with a dimmer purple and the third-last with an even dimmer one so you can find recently-used button commands easier:
Added “Invert selection order” to scripts section. This reverses the order of your selection so that you can do things that require that first-selected objects be the source.
Make Shape Here script now has a planar sprite option for making planes that face the camera but that are positionally bound to geometry, for something like leaf cards.
Delete namespaces added to Clean-ups section. Deletes all namespaces.
NGon fast fix added to clean-ups. This is a workflow I use that extrudes the face and then merges all vertices of the extrusion. It’s good for stuff like poles:
Two Simple Tips to Speed Up Work with Maya's Node Editor
The Node Editor was one of the best things to get added to Maya in the past few years but I find that there are two things I usually do right away when using it for materials: expanding it to full mode and graphing the network, so here’s a simple tip to do both at once. Change your Node Editor Default node view mode prefs to “Full Mode” and then use this shelf command to load and graph selected objects when it opens:
Then you’ll be ready to start piping stuff together without any added clicks:
Yesterday I discovered a really nasty bug with Maya’s FBX export. If you export and overwrite a file but it crashes while attempting to save, it will simply zap your old file and save nothing in its place. Considering how much FBX export crashes Maya – sometimes I think it was a deal between Autodesk and fast SSD salesmen – that’s a huge problem. Most programs, including Maya’s save itself, are smart about avoiding this type of scenario and actually save a separate file and then move the other file into the place of the old one on successful write but this is an anomaly. I filed a bug report already. Hopefully it will be addressed soonish.
Mari Me 2 – a Full-featured Python Script to Send Painted Meshes between Maya and Mari
Now that Mari 2.6 and Maya 2015 are out, I think it’s time to release Mari Me 2 that is a complete rewrite of the MEL version that is now much more powerful than that old script was. Aside from being able to send stuff from Maya to Mari, the new version has a ton of little goodies that aid working between Maya and Mari without the need to look at a single dialog box. Mari Me 2 can both send and receive objects to Mari, updating metadata-tagged materials for identification across sessions. It works great as a quick way to jump back and forth for stuff like Mari 2.6’s texture transfer feature that bakes textures between different mesh topologies or UV sets:
The transfer feature is better than it looks from those results – I was just kind of lazy about my alignment of the two different meshes in Maya. Mari Me also has a smart way to update your existing materials that is renderer agnostic. It doesn’t care what type of material is used on the mesh and will simply update it based on the channel name within Mari. If your material’s emissive channel in Maya is “blinn1.incandescence”, just name the channel “incandescence” in Mari and when you send it back to Maya, it will link up to that channel in the material:
That’s why I created a AddNewChannel-VRayMtl.txt setting preset for standard V-Ray Materials that you can paste into the channel presets section your Mari.ini file – those are pre-named to link up with the slots of a V-Ray Material and it would be very easy to make one for Arnold, RenderMan, etc that you could share on the Github page. If you send a texture to Maya from Mari without having sent anything from Maya to initiate those material metadata tags, it will just import the textures and you’ll see the file nodes in the Hypershade. Mari Me’s metadata tags don’t create any sort of plug-in dependency so nothing will break and you won’t receive any warnings if you send a scene to someone without it installed.
Automatic UDIM sending and loading
Mari Me 2 has robust support for UDIM-tiled textures:
If you are running Maya 2015 or above, that supports the UDIM file name variable, Mari Me will use that instead of importing and manually tiling all the UDIM textures. It will also recognize these 2015 UDIM names when you send tiled textures to Mari. It should also work fine with multiple meshes and a mix of tiled and non-tiled UV meshes. I tried to make it smart enough not to break with these production workflow variables but it’s possible stuff slipped through so let me know if you see anything and I’ll see if I can find some time to fix it in the near future.
Mari 2.6v1 got support for Alembic animated meshes and the Python import syntax is the same as importing OBJs so I added support for exporting animated meshes from Maya to Mari via Alembic:
As you can see in the interface, there are a bunch of other little tools and tricks in Mari Me 2:
There are no file format options so everything is sent back and forth as TIFF, since that format can accommodate all bit depths and all working files are in a projectpath/MariMe/ folder so there is no risk of clobbering your existing assets.
Released under a BSD3 license
I started the Python version of Mari Me as a “Pro” version that was going to be monetized but decided not to after getting a new job that I’ll get into later. Because I’m going to be super busy with this new gig, I’m going to have to release Mari Me as unsupported but I released it as open source under the BSD3 license for studios or individuals that want to change the code and use it for their own and they can decide whether or not they want to fork it or not on the Github page for Mari Me:
Batchrender’s OS X Mavericks Issue; Reading your article I found really useful informations to how resolve the problem and render even with Mavericks, but I didn't understand where I have to use the code to batch render.. Please Im a student and I need to render with mental ray can you help me?
save the MEL script to any of your Maya script folders (~/Library/Preferences/Autodesk/maya/scripts being the one that is accessible to all versions) and then enter this in the MEL command line at the bottom left of the window and hit enter:
That will initiate the batch render script. If you want to save a shelf item for it, look here:
A Tip on Using Maya 2015's Texture Deformer with Painted Masks
So Maya 2015 is out now on the subscription site and it gets a texture displacement deformer à la iDisplace, and I thought I’d show a quick workflow for using it with paint masking of deformer weights:
As you can see, it’s a great way to build procedural shapes with the friendliness of painted masking. If you’re using Maya 2014 or earlier, iDisplace is an essential (and free) plug-in that offers similar functionality, so go grab it.
Nimble Tools Uninstancer Source Available on Github
If you work with particle animations, you probably know about Nimble Tools Uninstancer. It’s been around for years and unfortunately the developer stopped working in VFX but he posted the source scripts (the pre-built Python plug-in broke recently) but they have been updated and posted here:
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
Hi Dave, I tried to use your Maya batch render Mavericks script and I'm getting an error. Unfortunately it doesn't give a lot of information, it just says: "Error: book" and "Error: Syntax Error". Is this something anyone else has run into or am I just doing something wrong? I'm still able to run other scripts. This will teach me to have my operating system upgraded in the middle of a project. Thanks!
Make sure you’re running it in the MEL command line and not Python.
Most people know that I do my modelling in Maya but it’s not much of a secret in the industry that MODO is hard to beat as a modeller. One of the main things missing though from MODO’s powerful toolset was a procedural, non-destructive workflow for building models. This is where the recent MeshFusion comes in and The Foundry gave me a copy to try out for a bit and it’s pretty impressive bit of kit. There’s a really good rundown of how it works on here so I don’t need to go through the basics of setup for you:
As you can see from the video, the MeshFusion Booleans are very capable and you’d have a hard time breaking it with complex combinations, which can be a problem with some Boolean implementations, like Maya’s pre-2014 Extension Carve lib-based Bool ops.
Aside from the intuitive tree or schematic views, the really nice features are the procedural bevel controls which also make this Maya user envious:
Maya’s bevels are a bit of a weak point in the software so, if you’re looking to get really good hard-surface tools but avoided MODO because of the previously destructive workflow, you might want to check out MeshFusion. If I did more of this kind of inorganic model work, I’d likely have a hard time staying away from it. With that said, I do think the MeshFusion stuff should be part of the MODO base package because MODO is playing catch-up to Maya for the procedural part.
A Plug for TextureLib.com and Their Amazing Textures
There are a lot of texture sites out there and I have a ton of stock images that I already use for texturing but I recently discovered texturelib.com and it is hands down the best site for textures I’ve seen. The quality and resolution of the images are great but what really stands out about their images is that they are exceptionally shot, without uneven lighting, wide-angle distortion or bad perspectives. They must be using long focal lengths and cameras mounted on remote-controlled helicopters for most of these because you just can’t shoot stuff like this without some special setup:
Anyway, I just had to spread the word because I just bought the year’s subscription for a paltry $29. Seriously, run don’t walk to get on that stuff.
Another Mari Me Pro Teaser: Support for Updating Any Material Type for Any Renderer
One of the trickiest things to think of when you build support for updating file nodes of shaders is how to support arbitrary materials and new information updating different shader elements. I had no experience with this before but I think I found a pretty elegant way to do this with metadata tags that would be independent of renderer or file node names. So, my latest addition to Mari Me Pro is probably its most bad-ass:
Notice that it is updating the existing shader with the new “reflectionColor” channel from Mari. All you have to do to keep this workflow working is use your shader’s connection names for your Mari channels. So this would update any V-Ray, mental ray, Arnold, PRMan shader without any explicit support for those renderers. It’s future-proof.
I want to thank Roy Nieterau for his awesome UV border detection script for Maya. This helps prevent the creation of extra empty UDIMs in Mari and it’s also useful for ZBrush, which can have problems with maps generated for meshes with UVs touching the border. If you tried to do it with non-API Python or MEL, it would take forever with large meshes and this script can detect UV shells on a border for 3-million poly meshes in less than half a second. Great stuff.
Awesome Architectural Shader and Procedural Nodes for Mari by Nicholas Breslow
I’ve been using this great set of shaders and procedural nodes for Mari and thought I’d share the link. The Maya mia_material_x style procedural shader with Fresnel falloff and IBL controls are a huge step up from the Mari 2.5 Cook-Torrance shader:
And anything that can add more non-destructive procedurals to Mari’s excellent layer nodes is a boon. A boon, I say. A boon.
Dave you are a genius. I am new to using Maya 2013 and my excellent mac was bested by the batch render using mental ray shaders. I read and copied and pasted along with watching the video you shared. I'm still confused how to make it work. The script you wrote, where does that go? The MEL Line in Maya gets what? DO I access this via terminal or within the program? I am using Mavericks.
Save the commandLinerMR.mel script to one of your Maya scripts folder (~/Library/Preferences/Autodesk/maya/scripts being the best one since it works with all Maya versions) and enter “commandLinerMR;” without the quotes to use it once you’ve relaunched Maya.
I’ve been working on a completely redone Mari Me script for Maya that is written in Python (the original Mari Me was done in MEL) and adding new features to the Python version. The major features for the Pro version include:
Multiple mesh support
UDIM tiled texture support
Receiving texture and UDIM changes from Mari in Maya (round tripping)
Detection of existing texture resolution so you aren’t resampling when they are sent to Mari
Alembic support to send animated assets to Mari from Maya
The trickiest part was how to handle sending assets back and forth between the two applications and it’s almost ready for full public consumption (nom nom). The latest and most crucial step was to make the mesh tracking smart enough to work across sessions and mixed projects to uniquely identify assets to update via metadata within both Maya and Mari and that is working well:
Notice how I have a Mari Me menu added to Mari. That’s another component of the Pro version of Mari Me.
As the name suggests, the Pro version is quite a lot more involved than the Lite version of Mari Me but, due to some exciting recent developments, I now plan to offer Mari Me Pro for free since it was initially going to be a monetized script. More on that and the release of Mari Me Pro later.
An Idiot-proof Way to Render a Scene to HDR IBL Image in Any Renderer
If you want to make your own IBL rendering of your scene for whatever reason, you might think that you need to find some special camera that has a weird fish-eye view or something but the way to do it is actually dead simple: make a sphere, make the sphere 100% reflective with no diffuse contribution (black) and bake your sphere’s texture to a 32-bit format like EXR:
A Maya polygonal sphere has the same UV setup as an IBL node so you don’t have any other work to do.
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…
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.
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.
I am making a quick money and bonds 3D illustration for a magazine layout and thought I’d show the fast method I used for the bond scroll. Install the Bonus Tools for your version of Maya because it relies on the spiral curve that is in there.
You don’t need to use a lattice deformer to do such a simple scale operation but it’s the first thing that I reach for when I do stuff like this because it adds a layer of procedural control if I want to add divisions and extra shaping to my sub-shape. If you want to add a bit of personality and squash to your scroll, use a squash deformer:
and here is my draft render (the scene is not finalized yet):
Total time for the scroll? Like four minutes. I will probably add some translucency to the material to get more pleasing bounces inside the scroll because it’s solid currently.
I got my graphics start as a print art director and, when I started, Quark was king. Read my piece about how they completely blew their monopoly. Good reading for nostalgic graphics nerds or business people alike.
A Note About Setting Optimal V-Ray Settings for Distributed Rendering
It’s possible if you’re a V-Ray user that you’re wasting time when doing distributed rendering with V-Ray light caches. A while ago, I added a modification to V-Ray Tuner that prompts you if you hit the Optimize button when using distributed rendering is enabled. It will ask for the max threads of the machine with the most threads. While the final render will always use the right amount of threads for your slave, the light cache passes should be set to the max thread count for all machines. So if you have three machines in your DR list with the following configs:
You should set the light cache passes to 32. Or just enter 32 in the Optimize prompt in V-Ray Tuner. This won’t cause issues for your machines with fewer cores/threads. If you aren’t using DR, it will set the LC passes and render settings to use the max threads for your host machine, without a prompt. Some people may be avoiding the Optimize button because they don’t want it screwing with your setup or scene but it just does this minimal setup. I also hate scripts that do mystical magic to your stuff to make it faster, leaving you to guess what it’s modified. Any feature in V-Ray Tuner that deals with quality will always be very clear about what it is changing so there are no surprises.
Stay tuned to read about V-Ray Tuner 4 features. I have added a bunch of things like a Distributed Render slave manager that should save people plenty of time when dealing with networked nodes.
A mental ray Batch Render Script to Work Around Batchrender's OS X Mavericks Issue
I haven’t used mental ray in years and I have been doing batch renders with my V-Ray command line script that I wrote for V-Ray Tuner so I feel a little bad that I didn’t catch the incompatibility with Mavericks and Maya’s batch render application. So here is a mental ray version of my command line script that writes out a batch file that opens in the OS X Terminal and uses the Maya Render binary, not Maya batch, so it works fine with Mavericks. Just enter “commandLinerMR” in the MEL command line and it will render your current scene according to the file’s properties and animation settings length:
It also sets the thread flag to your max cores so you don’t have to configure it manually. It also works with Linux’s xterm window or Windows’ command prompt, so feel free to use it if you just want a way to view render progress in a terminal while rendering. If you want to edit the script to work with Arnold or another renderer, feel free. It’s pretty simple once you look at the code.
There’s no official word from Autodesk on when a fix is coming for the batch render and Mavericks. Hopefully there will be a service pack before 2015 is released because the new Mac Pro ships with Mavericks and that could affect a lot of Maya users.
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.
Set the Default Timeline Frame Range to Something Reasonable in Maya
So, every once in a while you stumble on a tip from the Maya devs that you have to share. This one will bring great happiness to legions of Maya users: the ability to set the frame range for the time slider to something other than a max of 24, which is ludicrously low unless you are an animator of Vine videos. So, get your favourite plain text editor and open your userPrefs.mel file. On Mac, it’s in ~/Library/Preferences/Autodesk/maya/2014-x64/prefs/ so find the equivalent file in your user prefs folder in Windows and Linux. Find these lines:
and, with Maya quit, change them to:
to make the timeline end at 200. Relaunch Maya and boom: