Thursday, June 18, 2009

Lighting Blocking

Just a quick post to remind people I still exist;)

Thought I'd share a working method for lighting if it weren't already obvious to you (It probably is). Just like animation, blocking is an important stage. Roughing out light positions, intensities, etc. should be as fast and interactive as it can be. When dealing with say, and interior render with GI, bounces, and such, fast seems to be an oxymoron. It can be bearable, and even fun if you optimize your scene for it.

Just like blocking an animation, you don't need every feature turned on. While you can always tune your render settings, that's not what I'm talking about. I leave my FG and AA at medium. Say 75FG samples, 20 interpolation and global AA at 0 or 1 to start. Beyond that, the biggest slowdown in a render are the shaders. So use something very simple to block out lighting. a light grey mia or even a lambert. Such materials will render much faster.

My workflow is to create a lightingBlocking renderLayer with a material override to the mentioned grey material. Start blocking lights and render iteratively, or use IPR. Blocking lights without the interference of material color is useful in 2 ways. First in speed as mentioned, but also to judge values and lighting ratios more easily. Here's an example of a blocking render for a recent job. Some clients are receptive to seeing this stage, some are not. But if nothing else, it is helpful for you to make creative judgements.

This is closer to a final blocking. In earlier iterations the bed was too dark, as was the hall. So a window was added to the hall, and a lamp (omni light) was placed at the bedside to fill the bed a bit. Ulimately, one more light was placed in the hall, and minor tweaks to some settings were required once full color and materials were added.

Friday, March 6, 2009

Liza Lee Music

Not that I secretly desire to sell or review music;)... but I would like to post a big kudos to my friend Liza who has released her second album, Anima. It's a Jazz album, and let's face it, I'm not a Jazz sort of guy, but she is highly influenced by some of my old favs... Kate Bush, Tori Amos, David Bowie... so there are more melodic aspects to this album that stretch its fingers well outside what scares me about Jazz. I'm proud of her work on this, and hope people discover her music. She is also coming out with a more alt-pop styled album soon, so keep a look out.

Nice thing about this release, is that all proceeds go to the Society for Womens' Health Research. So buy it dammit!

You can get it on amazon and cdbaby... my bias is for amazon, nice and clean insta-downloads with no crappy drm.

Monday, October 20, 2008

A.A.W.W.


On Thursday afternoon (Oct 16th) at 11:56am, my wife and I became the proud parents of a perfect baby boy. Aaron Andrew "Woden" Weidenhammer was larger than expected... 8lb 1.3oz and 21in long. This is our first one and we are going nuts with all the new responsibility and lack of sleep, but all is well, and he's as cute as we could imagine.

Wednesday, September 24, 2008

Gamma Tools 1.0

Hey folks. I mentioned I was going to post some scripted tools for inserting/removing gamma nodes. Well, here are a few.
gammaTools_1.0

Check out the readme for specific info, but here's a basic rundown. There are 3 tools (and 1 bonus for the brave).

insertGamma - inserts gamma nodes with pre-set .455 (after any selected texture nodes with color connections).
deleteGamma - deletes selected gamma nodes while retaining connections
gammaValue - changes the gamma value globally or for selected nodes. This is a command-line tool only at the moment... so the value should be entered in after the command, then executed.

There is also a hyperUserInit.mel which is a replacement for a standard maya UI script. If you choose to try this, make sure to back up the original one. This update adds the ability to insert Gamma nodes by Ctrl+Alt+Shift clicking on a connection line in the hyperShade.

These are really simple scripts. We don't have a lot of time or manpower to devote to such tools, but I'm glad Al could get these done so quickly. Thanks go to Albert (a MotR cohort) for coding.

Monday, September 22, 2008

Financial Woes

While I'll try to avoid political posts for the most part here (with the election coming it's been hard to keep quiet;), I have to mention this link.

The article is from DailyKos, but is very clear and level-headed. It discusses some political/financial history in a way that doesn't require you to be an economist. McCain had a hand in bringing the economy to the brink it's at now. So please read and consider. Regulations are there to protect the people. Unfortunately the supremely rich have painstakenly removed regulations over time, to the detriment of the taxpayers.

Linear Workflow Addition 1

pixelvapour has pointed out an error with color swatch correction that I should expand on here. Thanks for kicking me in the pants to clarify this. He says that color swatches in maya are not corrected by the framebuffer setting in renderGlobals. He seems to be correct, and it may be a reason that larger studio workflows have mentioned using gamma nodes to correct just about everything in their scenes, and not the framebuffer setting. You might choose to do this, since it does avoid confusion. However, I'm still not a fan of having more nodes than I need. That said, I'll be working on some scripts that I hope to post here, that will assist in inserting/removing gamma nodes. Unfortunately, it seems a bug in MentalRay at the moment, that it does not respect nodeState "hasNoEffect". So simply turing off a gamma node doesn't work well... something I traditionally make use of in such scripts... but I digress.

Here's some test examples to illustrate the problem. First, the defualt texture map I'll be using. It is blackAndWhite for a reason... it's just easier to visually interpret gamma differences that way.

For these tests, I've simply created a Physical Sun/Sky system... which if you'll recall, automatically creates an exposureSimple gamma correction node on my camera. I have also set my framebuffer to 32-bit float. So we are in linear space and previews are being adjusted for monitor viewing. The scene has a texture-mapped plane with the iamge above, and a procedural checker sphere. The colors applied to the checker color swatches are pure red, and medium grey (128, 128, 128). Leaving the framebuffer gamma at a defualt of 1. We get this.

The gamma is out of whack, and may look familiar to users that aren't adjusting the framebuffer gamma. To fix this, I suggested using the framebuffer gamma setting. adjust this to .455 to avoid applying gamma twice. .455 negates the textures baked-in gamma, setting it to linear-space. The texture will now work correctly, as seen below.


Now the texture is correct, however the procedurally mapped sphere has not changed. the mid-grey parts of the checker are not appearing close to 128,128,128. So we do have a problem here. Framebuffer gamma is not adjusting our color swatches, so we must do it manually.


Above, we see the graph and attribs of the gamma node. Now the procedural is corrected for linear workflow, and the desired final result is this:

Finally! Correctness! The mid-grey renders properly.

We are clearly not working with an ideal toolset here. Maya needs some modifications to accomadate this workflow for its ussers. It would be nice to have gamma adjustments in the shader, instead of piping in a color and gamma node just to pick a color... alas. Thanks for the comments!

Sunday, September 21, 2008

Render Layers for Viewport Preview

Here's a quick tip for Maya users:

You may have had trouble with maya viewports when using MentalRay shaders. They don't always display properly in your viewports... in particuclarly when using "combined texture" previews. I despise when I see a flat black shape, unable to generate a preview. Often renderLayers compound display problems, as shaders swtich from one type to another. Honestly I haven't yet figured out all the possible combinations of issues that break proper viewport display. Often I just need to place a hilite or some other utility light, and I just cannot get a proper preview of diffuse and specular.

So, I've taken to creating a "lightingPreview" renderLayer. This one I switch to, just to see overall light levels and specular positions/intensity. I usually give it a material override, unless individual colors are important. You can obviously apply any material/s you like to get the preview you like. RenderLayers can help you clear up your viewports and see what you need to, interactively. I've been finding this more and more useful as scenes get more complicated.