Topics by tag:
Recently published articles by Dave G:
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.
0 notes | Permalink
Someone on CGSociety asked how to go from ZBrush Polygroups to unique coloured meshes in Maya so I thought I’d post a quick video:
Here’s the script to do the colour part:
Put it in any Maya script folder and run “uniqueColourMe”.
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:
1 note | Permalink
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.
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
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.
3 notes | Permalink
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:
machine 1: 6 cores/12threads
machine 2: 16 cores/32 threads
machine 3: 8 cores/16 threads
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.
0 notes | Permalink
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.
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:
7 notes | Permalink
I’m doing a scene with a bunch of simple cloud shadows cast over a valley and I’m using a plane with a repeating cloud texture mapped to the Opacity attribute of a V-Ray Mat. This will render a lot faster than doing a volumetric cloud and I also get the flexibility of using a gamma correct for the file texture node to effectively dodge and burn the cloud edges:
Since a gamma curve only adjusts your mid tones, this is a good way to save a trip to Photoshop and it’s lossless so it doesn’t mess up your original cloud texture. The results are pretty convincing too:
1 note | Permalink