Getting Reflections and Speculars to look right is one of the most essential parts to creating realistic-looking CGI. At the same time it is also one of the hardest things to get right. This is just a personal opinion on how I think varying specular behavior across a surface can be handled nicer than using traditional ways.
This will be a quick one. Light Path Expressions offer a lot of flexibility over the AOV’s you would like to pass off to Compositing. Most modern path tracing render engines like Arnold, RenderMan, Blender’s Cycles, VRay, etc. have support for it by now. With LPE’s you can split pretty much any light path you desire, which brings me to the solution to this first problem.
Working in larger Katana scripts I always find it a bit cumbersome to switch between Nodes that I’d like to view and/or launch a Render from. I recently started getting my hands dirty with PySide/PyQt and I wanted to put it to use. My goal was to build a simple dynamic UI that would allow the user to quickly switch the view flag of a selection of Nodes in Katana and trigger a render.
Nuke makes it really easy to access metadata from incoming images. You can easily access information from pictures that you shot with your camera or access render stats from CG renderings. This can prove to be really useful in a production environment where you want to make sure that your frames are rendering in a reasonable time without consuming too much memory. This example shows how to access and display that information in Nuke with renderings from Arnold.
The latest addition on my journey to OSL is a WindowBox (sometimes also called Interior Mapping or Parallax Mapping) shader.
I remember one of our teachers in university telling us about how they rendered all the interiors of the buildings in Spiderman with just a simple plane with a shader attached to it that simulates the room interior with proper parallax. Since then this has always stuck in my mind and I saw it being used in some studios I worked at whenever there was a big city to be rendered. I finally found the time (.. too much time :) ) to do this sort of shader myself in OSL!
I had another go at playing around with OSL. This time I tried making a Tri Planar (or sometimes also called Round Cube or Blended Box Mapping) shader. It was an interesting thing to try out as it involves a bit more work. What I came up with however merely serves as an experimental try-out rather than being useful for production. It has a few common features that you would most likely find in modern rendering or texturing packages.
Recently our VFX and Animation Supervisor gave an interview about our work at Trixter on Guardians of the Galaxy 2. It’s been such an outstanding project for me that I feel the urge to share!
Not only has the work been great, but also the team and the general flow of things! I can’t express how happy I am to have worked with such a great bunch of people! Special thanks to the management who allowed me to fool around on a larger scale on this project and the extraordinary Lighting & LookDev guys that coped with me when I was drowning in Excel sheets :-)
Have a look at the interview yourself (if you don’t like reading there are lots of pretty pictures, too!): INTERVIEW LINK
//EDIT: Now there’s also a really cool VFX and Animation Reel with some fun stuff! REEL LINK
Constraining things in Katana works well, but can seem somewhat limited if you are coming from a full-featured 3D application. One of the things that can potentially give you headaches is a missing option for “maintaining offset” when you are constraining one object or a lightrig to something else. While this is generally not an issue when you are doing LookDev (as your assets most likely have zero’d out transforms) it can be a bit frustrating to not have that option when you are working on shots, so here’s my hacky way of maintaining constraint-offsets.
I received a question the other day that was asking how I would approach painting out lights from LatLong HDRI’s that are near the bottom or the top of the image. Anything near those poles will usually be heavily distorted and are a pain to remove if you try to paint on the original map. However there’s quite an easy way to remove them in Nuke and at the same time get the lights to a nice and rectangular format for using them on area lights.
I have recently started getting into Shader Writing in OSL (actually rather Pattern Writing just to not get frustrated too quickly :-) ). To start things off I wrote a simple Pattern that lets you create a life 3d mask in your shading network that can be used to alter different shading effects in very particular areas of an object without the need to paint texture masks. On top of that being OSL it should work in any renderer that supports it (e.g. PRMan/RIS, Cycles in Blender, VRay, etc).