Work

Wushu Dance Performance

This is a video I made for a Wushu & Dance Performance. In this event, I am Stage Visual Artist, Graphic Designer and also one of the performers. The reason I took so many roles is this is a school performance. Being an alumni, I just lend a helping hand to the event. Poster design […]

Posted in Archive, Graphic Design, Motion Design | Leave a comment

Writing tools for read nodes!

This is me getting too lazy to deal with one read node at a time. Often I found myself keep repeating the process of selecting all the read nodes that I actually remember the python script that does it, and keep typing it up in the script editor. Finally I saved it down and became […]

Posted in NukeTools, RnDTools | Tagged , , , , , | 1 Comment

Write node auto versioning

n = nuke.thisNode() oValue = n[‘file’].evaluate() if os.path.isfile(oValue): (prefix, v) = nukescripts.version_get(oValue, ‘v’) v = int(v) n[‘file’].setValue(nukescripts.version_set(n[‘file’].value(), prefix, v, v + 1)) A few lines of python code I wrote to put in the beforeRender knob in Write node Python tab for auto versioning. That is if the file name matches the format of “_v##” […]

Posted in RnD, RnDTools | Tagged , , | Leave a comment

Windows 10 delete reparse points in (sub)directories

Recently Windows 10 went through the fall creator’s update without my permission, I found out that I can no longer access my onedrive folder while I’m booted into linux. To clarify, the folder does not shows up in gui but does shows up red when using ls command in the directory. Through many frustrations and […]

Posted in blog, linux | Tagged , , , , , , , , , | Leave a comment

Terminator Toothbrush Ad

This is the last school project during my first year in Media Design School, the task is to create a TV ad entirely in 3D according to the provided storyboard in 2 weeks. The entire process of making this video is done by myself, with feedback from lecturers and friends. I’ve recently re-composite this project […]

Posted in 3D, 3D Modelling, Animation, Texturing | Tagged , , , | Leave a comment

TCL/Python Snippets

Get input node name: [python nuke.thisNode().input(0).name()] [python nuke.thisNode().input(1).name()] [value this.input0.name] [value this.input1.name] Set a variable in expression with TCL: [set VARIABLENAME VALUE; return] To use this variable later needs to type it as: $VARIABLENAME Get the last letter/section from node name, separated by “_”: nuke.thisNode().name().rsplit(“_”).__getitem__(2) TCL String Operation that returns the 5th character from top […]

Posted in NukeTools, RnD | Tagged , , , | Leave a comment

Sebastian sat on a wall

Sebastian is the asset we used to practice animation during year one and in year two it is still the main model for students in animation stream. Naturally, it is quite the love and hate relationship for students like us! So when it is about shooting a canon, of course Sebastian is going to be […]

Posted in dynamics | Tagged , , , | Leave a comment

Project Directory in Nuke

It is only after joining trollbridge I realize how using project directory can make things easy in nuke, especially in a big script with lots of files. It makes transporting the folder significantly easier as you only need to change one path as you move the folder. If using relative file path in project directory […]

Posted in NukeTools, RnDTools | Tagged , , , | 1 Comment

Nuke Execute with Command Prompt

This is a little side project I worked on during my second year in Media Design School. My lecturer, Ryan Mullany mentioned that Nuke can potentially render faster without its graphic interface running, thus the idea of sending the execution command to another terminal. So I worked with him to write a python script that […]

Posted in NukeTools | Tagged , , , | Leave a comment

Nuke EnumerationPulldown

I was trying to create a simple panel with a dropdown menu, and had some trouble with nuke panel.addEnumerationPulldown. Here’s the code I was typing: opts = (‘on’, ‘from auto-localize path’, ‘off’) p = nuke.Panel(‘Change read localization’) p.addEnumerationPulldown(‘Set localization policy’, opts) I expected the panel to give me a dropdown list of on, from auto-localize […]

Posted in RnD | Tagged , | 1 Comment