Topics by tag:
Recently published articles by Dave G:
I’m just putting the final touches on this 3D illustration and thought I’d show how I used the per-light rendering feature of V-Ray Tuner to render out light passes for all lights and the meshes with V-Ray Light Materials. This lets me really tweak the light contribution within Nuke (or Photoshop) for a well-honed studio lighting feel.
It also lets me add some roto tweaks to give the window reflections a more interesting reflection, instead of just white. That way I don’t spend too much time on trying to get my environment reflection to do that job.
Just have to touch up the ground and some small spots and it’s all done and ready for print. It may look lighter than it should on your screen because my monitors are set on a darker press-simulated setup (5000K white and 75cd/m^2 brightness).
I’ll be doing more talking about the other techniques used in the illustration over the next week or so.
Just posted V-Ray Tuner 2.1 update to Creative Crash. This version adds support for command line region rendering on both OS X and Windows:
This works with animation frame range settings to make it easy to render out a crop of your animation from the selected area in the Maya render view (not the VFB). That also has a “sleep computer after render” option, which now works with Windows (tested in a virtual machine here):
Sssh…he’s sleeping. The idea behind the command liner batch rendering is that you can jack up your anti-aliasing settings (without saving that to the file) for a late-night test render and have the machine sleep when done. When you wake up the machine in the morning, your region or complete render is done high-quality and you don’t have to set the scene back to draft quality anti-aliasing settings. It’s like a cheap job manager.
Other small changes:
I am working on a 3D illustration that’s going to need some separate tweaks on different elements and I do this with a colour ID pass as masks within Nuke. So I thought I’d take this opportunity to automate the process of making colour IDs for materials and added it to V-Ray Tuner. Select the objects you want to have IDs and the script divides the RGB hue spectrum into as many parts as there are selected objects (you don’t need to select objects with redundant materials) and then assigns those colours to the newly-created material colour ID:
Because the script uses the total number of selected objects to assign colour IDs, it’s best to do this operation only once. If you want to add more colour IDs to objects later, do it manually to assign a colour value you know is different from what’s been assigned already. Some scripts assign a random value on a spectrum ramp to get a similar behaviour but I prefer my method since it guarantees that the colours will be as far apart as possible. When keying out colours, you’ll have less issues that way.
I also made some small changes to other parts of V-Ray Tuner:
V-Ray Tuner now has over 2000 downloads and a rating of 4.5/5 stars. Looks like people are enjoying it. It will stay free since there are plenty of scripts out there that do a lot more for free. It’s my way of giving back to the Maya scene – my scripts folder has over 300 files in it and only about 10 of those are mine and only a few are for-pay scripts. Maya may not be perfect but it has a huge library of awesome and free tools that just can’t be matched.
2 notes | Permalink
Updated V-Ray Tuner (click for download) with some little touches:
Added Shellac Me script to Materials to wrap currently selected meshes in a BlendMat / Fresnel shader for clearcoat wood/ceramic glaze type setup.
Added Send to Command Line Render/Send to Command Line Render and Sleep script to Utilities.
This is like a pseudo job manager since it sends the disk file to render with currently active values of dmcThreshold, dmcs_adaptiveAmount, dmcs_adaptiveThreshold, dmcMaxSubdivs, dmcMinSubdivs, and current resolution. Only supported on OS X currently. This is just my personal tool being shared and it will be ported to Windows eventually.
Added unlock camera script to utilities. This removes the lock for selected cameras, so they can be deleted.
Updated all menu items to accurately reflect checkbox states, where applicable.
You can grab the updated V-Ray Tuner from it’s download page on Creative Crash.
I’m going to be adding to the next version of V-Ray Tuner but I thought I’d post this script for people who might want it for other renderers. It’s a script to rename selected File nodes according to their name on the disk, sans file extension:
Here’s the script - install into your Maya scripts folder and run “renameWithFilename” with any and all Files nodes selected. The script ignores other node types if you want to select everything in the Hypershade Textures panel.
Someone asked whether it was possible to use V-Ray RT as a playblast renderer in Maya so I looked into it. The always-helpful guys at Chaos Group got back to me instantly with a script to call in the “RT Image Ready” MEL callback in the Render Globals. I updated it to append the frame number with padding, made it write to a VRayRT_Playblast” folder and it’s been rolled into V-Ray Tuner. Check it out:
You have to set the first frame in the timeline, set your max frame render time in the RT Engine Settings. You’ll have to use a program like QuickTime Pro to make a movie file out of the frames, or jus load the sequence into Nuke or After Effects. Also, make sure to clear the RT Image Ready MEL after using or IPR renders will run the script (the bottom field should be blank):
I’ll work on clearing that automatically on cancel or completion.
Even after years of knowing to keep this in mind, I invariably find myself forgetting to enable reflections and refractions for OBJ meshes that have been imported into Maya. There is a longstanding bug (or at least an annoying default behaviour) where imported OBJ meshes have their reflection and refraction flags turned off. You have to turn these on for every object or else you won’t get reflections and refractions. Considering how prevalent OBJ files are as a go-between for apps like Headus UV Layout, Mudbox, ZBrush, etc., that’s a pretty bad problem. So, to save myself wasted time, I added this MEL script to my Render button in V-Ray Tuner. Grab the code here. Put it in your scripts folder and run it with “source render_with_warn.mel;”
It won’t prevent any rendering, but it will give me a warning that it found a mesh with the .visibleInReflections set to 0 and select the meshes. See it in action with a demo of the problem:
So, either grab the latest V-Ray Tuner from here or add that code bit to a shelf item for use with your renderer (this is also a problem with Maya Software, mental ray, etc.)
Update: someone was asking for a version of the script that would automatically turn those back on for all meshes, instead of just issue a warning. Here is a version of that script above that turns the flags on automatically before rendering. Run it with “source auto_fix_render;” If you know you don’t need those off for any mesh, it’s fine to use – otherwise, I’d recommend just run this script on the selected objects if you’re confident they should be visible.Drop it in scripts and run it with “objRenderFixer;
It’s done! After many new things being added and a serious upgrade of both my knowledge of V-Ray and my MEL skills, it’s a big improvement over the last version and includes many things specifically for V-Ray for Maya 2.0, which just went into public beta testing for people who pre-ordered it. Grab it here. The major changes are:
This was created as an imitation of Maxwell Render’s Multilight, since I also use Maxwell and love that feature. The script goes through your scene and renders out a file for each of your visible V-Ray lights (don’t use Maya lights with V-Ray if you’re new to V-Ray) and saves them according to the light name (Dome, VraySun, environments included). The naming part is the reason for the Render Globals window opening (leave that open until it’s done). If you have meshes with V-Ray Light Materials in your scene, you simply have to select those before running the PerLightRender script and it will work with those as well:
For those unfamiliar with Maxwell’s Multilight or you’re having a hard time picturing this in a workflow, here’s a quick demo of how you would use it for still images as a “render once and tweak lights without re-rendering” scenario. I often use this when I don’t care to finalize the actual scene lights to perfection just to get a nicely lit image with a lot of lights (In the beginning of the movie, I’m just changing a bunch of stuff quickly to get rendering working faster and fixing my scaled lights):
It’s also a handy way to check light contribution since it can often be unclear what light is doing what within your scene. This method also works with global illumination, unlike the V-Ray 2 Light Select Render Element. You have to render to a 32-bit format for it to store light in floating point, so keep that in mind. The script also turns render elements off before rendering the lights, so you don’t get an absolute ton of images you don’t need (it restores your current render element on/off setting when it’s done). Photoshop and After Effects users, use Linear Dodge (Add) for compositing the layers.
The only limitation to this Per Light Rendering script is that the new V-Ray Material Self Illumination parameter is not checked and it also doesn’t check if you have a V-Ray Light Material in a Blend Material so if you are using those, it will render each frame with those in it, compounding improperly when you comp them. Nothing is changed in your scene, so don’t be scared to use this or the DaveBake420 script.
Target Light and Sync Light Size
Here’s a quick video showing these two button features:
This was added to 1.7.3 but I thought I’d quickly show it here for people who don’t know what it does:
I’ve used this script a lot already for making ambient occlusion textures for scene objects. It was used for my building, ground and planes in this illustration. Also, works well with my GoP script since that sends objects to Photoshop with the name as well.
The MaxScript V-Ray material converter is not ready for Windows/Linux. A Python port is being worked on so I hope to have that integrated in an update soon.
If this is the first time you’re using V-Ray Tuner and you’re wondering why it doesn’t connect attributes when scenes load, hit the Refresh button. This also acts as a way to read out your current scene’s V-Ray info that is also new:
V-Ray Info: Primary Engine is Irradiance Map, Secondary Engine is Light Cache. Lightmaps: IMap: Single Frame / Light Cache: Single Frame
Also, I want to change the menus to use checkboxes but these trip the script if your scene isn’t loaded and it tries to read non-existent nodes that V-Ray hasn’t created yet. Anyway, enjoy and, if you want to thank me for this script, find the nearest pug and pat him or her on the head. Mine’s waiting to be walked while I type this.
Update: the MaxScript converter now uses MEL so all you have to do is select the material, run the converter from the Materials dropdown and the MaxScript code is output to the Script Editor for copying and pasting into Max.
4 notes | Permalink
It is done! I’ve taken the various pieces of MEL code and mashed them together like two handfuls of pureed potatoes and we have a winner:
All light types are working and the workflow is very straightforward. I just need to get it to respect hidden lights and it will be released soon. Don’t no one be disrespectin’ no hidden lights.