When integrating CG characters into a plate and something seems not-quite-right, the first solution I look towards is adding more occlusion shadows, often referred to as “Ambient Occlusion”. Occlusion shadows help ground our CG characters and really connect them with the environment & live-action characters around them.

Most physically-based render engines are capable of rendering occlusion shadow AOVs, which are quite accurate when given photometric lights, but sometimes mathematically real and visually real isn’t the same thing…

Continue Reading "Create your own Ambient Occlusion in Nuke, using RayRender."

Unless you’re Compositing at Weta, Nuke’s Deep tools are quite barebones and don’t allow much flexibility. An issue I have commonly encountered is a lack of image filtering when DeepMerging two Deep images together, which causes crunchy edges. You could correctly argue that this comes from a lack of deep samples in rendered images, but this is often necessary…Continue Reading “A hack to filter DeepMerge operations.”

HTML is a programming language designed to view documents or websites in a web browser, although we can make use of it in Nuke to add some extra style to our nodes, gizmos, etc.

The aim of this article isn’t to teach you HTML, as that would be rather convoluted for what you need to know, but instead, I’ll share some easy snippets of code that will help you inside of Nuke!

Continue Reading "HTML in Nuke"

A common thread I’ve picked up among Compositors is they understand the value of utilizing Python in their day-to-day work, but are unsure how and where to start learning. If this sounds like you, I have some great news!

I’ve spent the last few months designing and creating the perfect course, tailored to introduce you to the basics of Python in Nuke! Rather than enduring long lessons on the fundamentals of programming or focusing on pure theory, you will instead dive straight into learning how to customize Nuke to work the way you want to work, and create useful production-ready tools as you learn Python in project-based lessons!

Interested? Click here to read more & sign up!

Something I’m endlessly frustrated by is having to work around the way Nuke uses confusing hex colour values in Python to do things such as set a node’s ’tile_color’ knob. For example, how are we supposed to remember that 0xff000ff = green? I wrote two simple functions to get around this, which I hope you can make use of too…

Continue Reading "Quick Tip: Programmatically Dealing with Hex Colour in Nuke"

Image filtering is a necessary step in many tasks we do in computer graphics, but it often gets little cognisant attention from Compositors. When mentoring junior artists’ recently, I discovered they rarely know of this fundamental knowledge at all! So I thought it would be beneficial to write this article so we can brush up on the basics, maybe learn a new thing or two, and have a resource to point others’ towards if they’re stuck with this concept.

Continue Reading "Back to Basics: A Brief Lesson on Image Filtering & Node Concatentation"

If you’re like me, you’re always looking for ways to get an edge on efficiency in your workflow, and contribute more value to your team. A common thread between most Compositors is they see the value of utilizing Python, but are unsure how and where to start learning…

If this sounds like you, I have some great news — I’ve been hard at work behind the scenes, creating the solution to your problem! I’m incredibly excited to announce a new online course, comprising of 10 weeks of video tutorials, which is now available for pre-order!

I’ve put a ton of effort into making this course as valuable as possible, for an incredibly affordable price.

Click here to read more, and pre-order!

A common problem we face in visual effects is what DoPs might refer to as “dynamic” lighting; aka light sources that change colour and intensity throughout the shot. It makes our images look more interesting, but adding any VFX to these plates instantly becomes more complex. Common examples include flashing police lights, in-camera lens flares for dramatic effect, and shots lit entirely by flashing neon lights or a fire. The latter is most complex to manually animate, so it will be the example I’ll use in this article.

Continue Reading "Easily control CurveTool’s output to help match constantly-changing lights in your plate"

Updated nodes in Nuke should be better than their predecessors, although that’s not always the case. For example, I love that the latest VectorBlur node is GPU-accelerated, although I find it’s output quite arbitrary; it never does what I expect out of the box, and I personally prefer the old version. A problem arises here, because the…Continue Reading “Quick Tip: Easily create legacy nodes via the Script Editor”