Nuke Tips – Bookmarking Nodes

Bookmarking Nodes for Quality of Life Improvement

This will be a short Nuke Tips as the other articles I’m drafting are longer than the usual length.

If you ever wonder if there is a way to quickly jump to a node in a large script, the Bookmark feature comes in handy.

Just check the Bookmark checkbox at the appropriate nodes (the Backdrop nodes are enabled by default). Also remember to label the node with a nice name. Preferably something that doesn’t replace the original name (e.g. Write1 as Write_LowResPreview).

There are two ways to quickly jump to a bookmark.

  1. Go to Edit > Bookmark > Jump to Bookmarked Node OR…
  2. Press J to pull up a dropdown list of the bookmarked nodes ala Tab Menu

So… Is It Useful or Not?


If you have less than 30 nodes…  bookmarking nodes does feel like a chore but it is nice to have that flexibility in case we need it!

Plus the Backdrop nodes are already bookmarked automatically upon creation so it is a nice way to quickly jump to a particular backdrop section.



Learning Houdini for Project DQ

Learning Houdini for Project DQ!

In this post, I’ll be covering the overall goal of Project DQ that is as a learning platform for using Houdini for all FX tasks.

As the demand of Houdini skills for FX shots risen for the past several years, I realise it is time to pick it up or get left behind.

While I do not have exposure to Houdini in actual production at my prior workplace, I tried to adapt what I’ve learn in Maya, 3ds Max and RealFlow into Houdini… should be a frictionless learning curve right?

The Uncanny Valley in Learning New Software

3ds Max 5 Screenshot. Not my screenshot but look at that glorious Windows XP theme… and ICQ, Photoshop 7, Outlook Express, IE6 etc running in the background.

Back in 2003, I started playing around with 3ds Max 5 as my very first 3D Digital Content Creation (DCC) to create prefabs for Max Payne 2 mods (that didn’t really see the light of the internet–). 3ds Max became my main 3D package (excluding my short lived period with ZBrush and Sketchup) until 2011 where I need to use Maya 2012 for university’s assignment… which took me longer to accomplish something than what I can do in Max.

So there goes my half-hearted attempt in learning Maya and ended up using Max for majority of my assignments including final year project… at least creating a cube is straightforward in both software.

Well that all changes when I start working at my ex-workplace where Maya is the main DCC for majority of the work. I remember spending more time asking my colleagues, referring to the docs and googling for solution on navigating Maya UI for the first two months! That was really not a productive moment for me but as I become accustomed to Maya workflow, I can see why it is the still the primary backbone DCC for most studios.

Still I’m more of a Max person but I recognise the strength of Maya and the transition is not that bad actually since it is quite similar in both the UI and UX!

Now back on topic, what about Houdini?

Hmm looks familiar but different.

I have a Network within a Network within a Network

The initial “culture shock” for me when using Houdini for the first time is the concept of navigating the networks.

A typical Nuke node graph

The Relationship Editor in RealFlow

As you can see in the screenshot above for both Nuke and RealFlow, majority of the nodes are layout as it (with the few exception like Gizmo, Group and Precomp in Nuke).

Now let’s take a look at Houdini 16 Network Editor (there are minor changes in the UI for older version).

The obj Network View in Houdini 16

Not every node can be simply place anywhere. If you observed the dropdown at the top left of the screenshot, we have

  • ch (CHOPs aka Channel Operators)
  • img (Compositing)
  • mat (Materials)
  • obj (Objects)
  • out (Outputs)
  • shop (Shader Operations)
  • vex (VEX Expressions)

Depending on the type of nodes, you’ll be managing a minimum of one (obj) and up to seven major networks! Well excluding the possible dozens of subnetworks-

While most networks will be created manually, some like the popsolver are actually pre-made network

More info about the network types can be found here:

Just remember that there are nodes that can be created at any networks while some are restricted to specific level.

Contrast this with… 3ds Max and Maya.

You don’t get to see what’s going on as most of the operations are hidden from you and with that in mind, destructive while it is near non-destructive in Houdini. Note the “near non-destructive” instead of “non-destructive” as not everything are fully revertible unless you progressively version your scene file!

Maya Node Editor

Maya Hypergraph (Connections)

Maya do have a similar feature like the Network Editor aka Node Editor, Hypergraph and Hypershade although each has their own specific UI and not unified like Houdini’s Network Editor.

Slate Material Editor was introduced since 3ds Max 2011

The nearest equivalent for 3ds Max is the Slate Material Editor and Particle Flow although there is the new Max Creation Graph introduced in Max 2016 onwards that has a similar layout like VOP.

Variables and Relationships is the Spice of Houdini Life!

If you have played around with programming languages like JavaScript or Python, variables and relationships are the backbone for majority of your workflow in Houdini! If you have no idea what it is about… you’ll have a steeper mountain to climb troubleshooting stuff in Houdini.

The following are samples of global and user created variables:

Snippet of HScript Global Variables from Houdini Online Docs

An example of user-made variables in VEX (Attribute Wrangle)

3ds Max and Maya users might recognise some of the variables’ naming and usage but in reality, rarely use it in their daily works as majority of the tools are already written to use such variables without any inputs by the artists (unless you’re writing scripts).

In Houdini, you can easily manipulate a parameter using both variables and relationships! Relationships are super useful if you need to reference any valid parameters! The following screenshot shows the relationships of the different parameters through expression.

A typical Relationships in Houdini

The same are not easily replicated in Max… although Maya does have similar feature albeit limited.

Here’s the list of pages that you will be visiting often when you start dipping your toes into writing expressions/scripts in Houdini:

Easily Identify Data

By MMB a node, you’ll get an informative popup window about the various data that’s happening in that node

This is something I wish Nuke has so you can just middle-click (the default Houdini shortcut) on a node and identify the channels/layers on a particular downstream. Houdini is something like your best buddy that are transparent to you on what they are holding (if they are not your slave labour-).

Unlike a certain kleptomaniac ex-leader, being informed of the data that are being processed is very helpful and a must have in a node-based workflow. At least Nuke does let you know what’s going in a node stream through a subtle colour label on the nodes.

Time to put that Lotus 1-2-3 skill into use! Except you can only edit the attributes value (no formulas are allowed)

You can view Points, Vertices, Primitives and Detail attributes using the Geometry Spreadsheet. Shown here is the Detail attributes of the Whitewater sim cache.

Enter the Geometry Spreadsheet is a handy feature that display the values for the various attributes (points, vertices, primitives and detail) of a specific node. While it is not possible to write formulas/expressions ala traditional spreadsheet software like Excel, you can directly edit the value of the attributes (that are valid of course).

Max/Maya users? You either write your own scripts to identify the data belonging to an object or use third party solutions as far as I know.

Mingling Python and the Holy Scripting

Bridgekeeper: WHAT is the airspeed velocity of an unladen swallow?

King Arthur: What do you mean? African or European swallow?


Back on topic, Houdini has great Python integration and that means if you have silly or crazy ideas, you can write you own Python scripts to boost your productivity! Even the Shelf tools are secretly a handy one/two clicks Python script.

The Explosion Shelf Tool are nothing more than a four-lines Python script

If you don’t know Python, you can easily torment learn it or harass ask politely for help from someone that knows Python!

But if you have basic Python knowledge, you can write the following “Search and Replace” script…

Well you might wonder why I don’t simply save the scene file as a text file (think Maya ASCII format) and do the search and replace in a text editor? Consider the possible situation where I might accidentally replace an innocent word/number that I didn’t intended and screw up the whole work?

Not to forget that Python allows you to write multiple conditions that when couple together with the built-in Python functions in Houdini, it can be really powerful!

Or maybe I just need to level up my Notepad++ skill…

Maya Script Editor Listener GIF

The Script Editor in Maya will print out most parameters command that you can use for scripting

The only thing that I missed out a lot from Max/Maya is the listener which is a great tool if you’re starting out scripting as it prints out the command for majority of the actions that you performed. I briefly covered on using listener in a prior article: Coding in VFX and Animation

Basically prepare to dig through the Python docs for Houdini to get the desire functions that you need to use!

List of Python functions usable in Houdini

Or ask the friendly community over at the official Houdini forum or Odforce!

Just be prepared for the lack of responses if your question sounds like a FAQ or at the very least, attach an example file/video/pics/GIF for others to inspect.

Chanting the Mantra

Mantra is easily one of the best built-in renderer in a 3D package although the latest Maya and Max has Arnold Renderer bundled together (although Arnold are also available for Houdini).

Easily the greatest part of Houdini is the ability to manage dozens if not hundreds of render nodes

Presumably you can manage multiple renderers available for Houdini like Renderman, Redshift, and Arnold without switching to other renderer first like in Maya/Max. This is very useful in scenario where you need to output render elements with different renderers depending on the project requirements.

…I can’t think of an equivalent for Maya/Max. There is Render Layer Editor in Maya (which has been replaced with Render Setup from Maya 2017 onwards) which act like Photoshop Group Layers as you add objects onto a layer with optional render overrides but still at the mercy of the current renderer while for Max… I don’t think there is anyway to achieve similar functionality natively. The Scene States in Max doesn’t really work for me (simply due to the not user-friendly interface) and it is better to save several different Max scene files that can be Xref when outputting render elements for compositing.

Actually Mantra has a lot of parameters to fool around! Not every settings are shown in this GIF.

While my only production experience are Vray (both in Max and Maya), Mantra has similar workflow so the learning curve is not that steep. The overall render quality settings are similar to Arnold unlike Vray. Generally I find this approach to be more accessible when you have less parameters to play around to achieve the final look.

So far I’ve yet to render scenes that requires large amount of geometry/textures/particles/etc so I can’t say about the overall performance of Mantra against other renderers but I can vouch that it is very stable and rarely crashes on me (excluding some silly setup that chokes Mantra while I’m exploring Houdini…).

The Extra Image Planes setup can be intimidating for newcomer

I’ll have to say though that the Extra Image Planes setups are not user-friendly unlike in Maya/Max. There are many times where I accidentally included or excluded passes because the checkbox are not that obvious due to the UI design.

Probably I need to write a custom Python panel to simply the process.

You’re a Wizard, Houdini!

Not the type of wizard I’m referring to. If only using high-end 3D software are as easy as using a software wizard!

Again, my only experience with Houdini is mainly replicating what I’ve known in other 3D package and I’ve yet to scratch the surface of what it truly can do! While I’m not trying to paint a rosy picture on using Houdini, there is still area where I wish it is more accessible (like modelling and shaders creation).

To wrap things up, Houdini is already becoming a must-have skill for any FX artists in the VFX and gaming industry.

As someone who never have any actual production experience with Houdini and managed to pick it up (after destroying thousands if not millions of neurons) to generate FX works that I previously do in other 3D package, remember that there is no harm in learning a new skill to broaden your skill sets!

2018 Roadmap for taukeke

Happy New Year 2018 to my dear visitors!

This will be a short post on the planned content that hopefully will see the light of the day–

Before we proceed, check out the updated Demo Reel page with my FX works for the 3DCG anime Infini-T Force.

Since I’m still working on my Houdini FX reel (multitasking a lot of roles as a complete generalist is time consuming), I jot down a lot of tips that I’ll be sharing as… Houdini Tips!

The Roadmap

With the addition of Houdini Tips, I’ll be compiling useful Houdini and any VFX resources links on a dedicated page instead of spreading out as multiple posts.

It will gear towards artists who have experience in either 3ds Max or Maya though the node based workflow means a complete newbie to Houdini are at high risk of being admitted to the ICU.

If you manage to survive the Nuke workflow, Houdini does offer genuine quality of life improvement for FX tasks.

Also I’m a firm believer of quality yet lengthy tutorials like my recent gizmo creation for Nuke (which I still need to fix due to a bug that I overlook) so the following is what I’ve in mind:

Q1 2018

  • Preparing 3DCG Animation for Multi-Channel EXR Compositing in Nuke
  • More Nuke Tips and Houdini Tips

Q2 2018

  • General Python Coding in Everyday Production
  • More Nuke Tips and Houdini Tips

Q3 2018

  • Generic Project Management for Indie 3DCG VFX
  • More Nuke Tips and Houdini Tips

Q4 2018

  • I Got No Idea What This Will Be About
  • More Nuke Tips and Houdini Tips

Hopefully all goes according to plan!

In Other News…

…I’m currently available if any studios are looking for FX Artist (especially those from the 3DCG/VFX movie industry) but I’m stubborn in that I want to fully grasp the fundamentals of Houdini before working full time again.

Last But Not Least

Not to sound like a generic old wise man, if you’re a student or interested to join this industry… please learn Python or scripting like MEL Script (Maya) and Maxscript (3ds Max)!

Having those skills will be very handy in improving the rapid iterations when you’re working on a shot. Sadly I only got serious in learning to code by the tail end of the last project when I’m still working under the supervision of Digital Frontier Japan.

A lot of tedious repetitive tasks when working on the FX for GANTZ: O can be improved if I knew how to write a working MEL Script or Maxscript but that is another story that I’ll cover in the future.

Hmm I’m forgetting something… oh yeah do learn Houdini if you’re doing FX works!

2017 and Beyond

Firstly Happy New Year 2017!

2016 has been a major milestones in my career and personal achievements as I’ve survived several situations by sacrificing many of my favourite pastime like writing Nuke/After Effects/Vray/Maya/3dsmax/etc Tips!

Not to forget gaming and drawing…

As 2016 ends in several hours as I’m writing this post, I’ve completed 19 months of working full-time in the Japanese 3DCG industry as a FX artist at a subsidiary studio located in a backwater corrupted “peaceful” country in South East Asia region.

This post will reflect on what I’ve achieved in 2016 and also what I’m looking forward in 2017 and beyond as a FX artist in the high-end visual effects industry.

2016 – In a Nutshell

Many things happened because it already happened! Here’s what happened to me in 2016:

  1. Survived the challenging FX works for Gantz: O! Ironically I’ve haven’t even got the chance to watch the final movie yet.
  2. Mastered majority of Maya and Vray features especially FX, lighting and rendering!
  3. Learned and wrote dozens of MEL Scripts for Maya and Javascript for After Effects to boost productivity.
  4. Scratch a bit of Python to prepare for the inevitable Python scripting for Maya and Nuke.
  5. Reached the summit of Mount Rinjani at Lombok, Indonesia! (and got sunburned super badly-)
  6. Still wondering why the use of Nuke is still not a reality at the studio… After Effects is very clunky when dealing with multi-channel EXR files.
  7. The increase of cost of living in my area = Being way too thrifty since what goes up in meals’ pricing in this country never goes down…
  8. Neglected my gaming and drawing session since my work has been insane with the amount of overtime.

2017 and Beyond!

So the following will be my to-do list for 2017:

  1. Must watch Gantz: O! Need to see my glorious FX works composited with various render layers with audio.
  2. Practice Houdini as the holy Maya, 3dsmax, FumeFX, Realflow combo are not sufficient in the ever demanding VFX works.
  3. Create a new demoreel featuring FX works done in Houdini!
  4. Continue my coding practice especially Python and maybe for fun, C++ for Unreal Engine 4.
  5. Slowly brush up my language skills in Cantonese and Mandarin. Yes, I’m still a banana but a slightly better banana from previous year-
  6. Going on a journey to explore other countries beyond South-East Asia region for the very first time in my life!
  7. Probably I might need to pickup rudimentary French to future proof my living skills.
  8. Resume whatever gaming/drawing that I left in the backburner…

…So What’s Next?

I should hit the publish button and wrap this up–

Being a non-believer in religion and Gods, I don’t really care if something happens because it happens. I believe in creating and seizing the opportunity.

Also the desire to keep learning new stuff (and earning more money too-) is crucial for my personal growth and development since globalisation has exposed me to various stories of other humans who manage to push their limits in raising the bar especially in the realms of VFX and real-time graphics!

While my other tutorials articles still a work in progress since proof reading it takes time, hopefully I can up my guide to MEL Scripting to improve your quality of life when you’re working in a very small facility that lacks a dedicated artist/scripter by the middle of January.

Thanks for all the support and visits to my website!

Rain Hut – Timelapse Drawing


Another new Nuke Tips… this is not.

I was doing spring cleaning for my HDD when I saw an old artwork that I never got to finish back in mid 2010.


Instead of deleting it, I’m partial to this particular rough sketch as it is part of my mini project (which got way too ambitious for me back in 2010).

So I decided to see how much I can develop this rough sketch into a plausible key illustration.


As usual, Paint Tool SAI, Photoshop and 3dsmax was used to produce the final work. The chair was taken from an online free model repository which I need to improvise as it has smoothing issues and rendered with Octane Render.

Obligatory Timelapse Drawing

Here’s the Youtube link to the timelapse drawing:

The video was speed up by 20x and hopefully you’ll find it useful (as I think the final work still sucks big time). Artist’s remorse, I guess.

P/S: High-res version can be found here (3000px width).