Check out my GitHub for more recent work!

 Nuke

 

 

AlignDots
A keyboard shortcut to quickly align selected dots in straight corners with their input and output nodes.

 

Auto run .nk as NukeX
Windows registry key that opens NukeX instead of Nuke.

 

Breakdown_Maker
A gizmo that makes your breakdowns.

 

CardInFrustum
Make a card that fits precisely in the selected camera’s frustum (with the option to link it to its animation).

 

CloseAllProperties
A keyboard shortcut to close all open property windows.

 

CycleOperations
Keyboard shortcuts to cycle back and forth through common knobs on selected nodes.

 

DotConnect
A keyboard shortcut to auto-connect in/out dots with the same label invisibly.

 

GoToDirectory
A keyboard shortcut to open the path on the clipboard in explorer/finder.

 

GrayAutoBackdrop
Quickly make gray backdrops with labels around selected nodes. Stacked backdrops will be darker.

 

MergeConnect
A keyboard shortcut to connect selected merge nodes to selected non-merge nodes, with dots in corners.

 

NukeShared
A script that automatically installs all gizmos and other add-ons for Nuke.

 

Offbranch
Moves the selected node over to a side-stream of its pipe.

 

PixelRepeat
A Blinkscript gizmo that directionally stretches and mirrors pixels.

 

PixelSort
A plugin that sorts pixels to create glitch-like effects.

 

QuickShortcutEditor
A script that makes adding/changing key-bindings easy.

 

readZEISSdata
A script that can read ZEISS lensdata to Nuke.

 

SetLoop
A script that can loop sets of nodes, like an iterator.

 

ShiftRGB
A plugin example from my C++ tutorial on how to set up an NDK project.

 

SmoothScrub
Smooth scrubbing in the viewer by playing back at 0 fps (performance hack).

 

WordArt 1997   haha yes
Microsoft Office’s amazing text designs – now available for Nuke.

 

WrapItUp
A script that collects all media required to make a Nuke script work to one folder.

 

 

 

houdini  Houdini

 

 

RATConvert
RAT convert and relink all textures in the current HIP file.

 

 

 

touchdesigner  TouchDesigner

 

 

SpeechToImageSearch
Uses Microsoft Azure speech services to search for Google/Internet Archive images in realtime. Also has a nice rainbow text.

 

 

 

 Maya

 

 

BooleanBatch
A script to batch-execute a boolean over all selected objects.

 

RandUV
A script to randomly scatter UVs to reduce repetition in textures.

 

 

 

 Lens Studio

 

 

Butterfly Generator
Generates butterflies. They can land on the world mesh, or follow an animated position.

 

Code Snippets
A repository with handy code snippets to copy/paste to your own Lens Studio project. I’m updating this regularly!

 

Grain Generator
A customizable film grain generator (post effect).

 

Keyboard
A prefab for an on-screen keyboard in a snaplens.

 

LSQuickScripts
A cheat sheet of custom JS functions I use often.
E.g. converting quaternions into human-readable Euler rotations, or converting HSV to RGB.
I’m updating this regularly!

 

Lens Fest 2021 VFX
Imitation VFX Assets of the Lens Fest 2021 and Lens Studio logo.

 

Mane Fur
Fur material for Lens Studio.

 

Nuclei
Nuclei project files! Spawning particles on a custom 3D model (the body mesh).

 

OBJBuilder
A Python script that converts .obj models to JavaScript files for Lens Studio’s MeshBuilder.

 

Ocean Shader
An example Lens Studio/Shader Graph project for a procedural ocean shader.

 

Particle Redirect
A Python script and VFX Editor Sub-graph for spawning particles within a 2D image.

 

Planet Generator
An example Lens Studio/Shader Graph project for the Planet Generator lens.

 

Raycast
Raycasting setup that works with any mesh.

 

Sakura scene
Project files for a talk on materials I did at Lens Fest.

 

Shader Graph Editor examples
Various examples on how to make materials in Lens Studio.

 

Subgraphs
A collection of Sub-Graphs that save me a lot of time every day. I’m updating this regularly!

 

Triplanar Voronoi noise subgraph
A shader subgraph for triplanar Voronoi noise.

 

 

 

spark ar  Spark AR

 

 

AreaColourSample
Spark AR Patch that samples the average colour of an area in a texture.

If you appreciate the things I make, please consider buying me a beer!

nuke

Auto run .nk as NukeX (Windows registry key)

When opening a Nuke script, automatically run it as NukeX.

AlignDots (Python)

This will align all selected dots with their input and output node, effectively placing them in a straight corner.
Running this script multiple times will make the dot switch between possible positions.

Keyboard shortcut: alt+shift+z
(can be changed in the menu.py file!)

 

aligndots nuke auto align dot corner

Breakdown_Maker (Gizmo)

Quickly make a customizable breakdown that plays the shot while the layers are wiping sequentially.

 

CardInFrustum (Python)

Make a card that is oriented towards the selected camera node, and fit it in its frustum. Can be expression-linked, or placed on one frame.

 

nuke place card in camera frustum

CloseAllProperties (Python)

Closes all property boxes at once (especially useful if you like to use floating windows).

Keyboard shortcut: \
(can be changed in the menu.py file!)

CycleOperations (Python)

Scrolls through the possible operations on selected nodes. Works with nodes like Merge, ChannelMerge, Keyer, Shuffle, and others.

Keyboard shortcut: alt+w, and alt+shift+w for backwards scroling
(can be changed in the menu.py file!)

 

nuke cycleoperations knob

DotConnect (Python)

A keyboard shortcut to auto-connect in/out dots with the same label, using hidden pipes.

Keyboard shortcut: alt+shift+c
(can be changed in the menu.py file!)

 

nuke dotconnect hidden input connections

GoToDirectory (Python)

Keyboard shortcut to open the folder of the path currently on the clipboard.
If a Read or Write node is selected, it opens that folder instead.

Keyboard shortcut: alt+shift+r
(can be changed in the menu.py file!)

 

Nuke open directory from clipboard

GrayAutoBackdrop (Python)

Modified version of Nuke’s AutoBackdrop script – it makes a gray backdrop around the selected nodes, and gives you a dialog box for the label text.
Stacked backdrops will be darker, and the backdrops are slightly bigger. Also does stickynotes, if no nodes are selected.

If you often make backdrops with labels, this will save you some time.

Keyboard shortcut: alt+b
(can be changed in the menu.py file!)

 

 

gray auto backdrop nuke

MergeConnect (Python)

Select merge nodes and nodes to connect to them as their ‘A’ input, and all selected nodes will be connected to their respective Merge nodes – with a dot in a straight corner!

Keyboard shortcut: shift+y
(can be changed in the menu.py file!)

 

nuke auto connect merge node

nuke connect merge keyboard shortcut

NukeShared (Python)

Automatically load plugins in Nuke when they’re placed in the right folder. Can also be used as a plugin repository on a server.

nuke auto install nodes

Offbranch (Python)

Moves the selected node over to a side-stream of its pipe.

Keyboard shortcut: shift+g
(can be changed in the menu.py file!)

 

nuke offbranch node

PixelRepeat (Blinkscript gizmo)

Directional pixel repeating.

 

pixelrepeat nuke

PixelSort (C++ plugin)

Sort pixels in an orderly fashion.

 

pixel sorting in nuke

QuickShortcutEditor (Python)

Quickly change keyboard shortcuts for all nuke nodes or menu items.

 

nuke how to set keyboard hotkeys

readZEISSdata (Python)

Read ZEISS lens data files to a Nuke node. Adds supplementary features to ZEISS’ own plugin (e.g. animated curves for data like focus distance, works on all versions of Nuke).
The ZEISS plugin is not needed for this to work, but it can be downloaded here.

 

nuke read zeiss data zlcfnuke read ZEISS data import lens

SetLoop (toolset, python)

Loop nodes an amount of times, like an image solver/iterator. Useful when, for instance, rendering fractals or reaction diffusion in Nuke.

 

ShiftRGB (C++ example project)

Tutorial for setting up the Nuke NDK using Visual Studio and writing/compiling a basic plugin.

 

Nuke NDK plugin knobs

SmoothScrub (Python)

Smooth scrubbing in Nuke’s viewer by playing back at 0fps. Odd performance hack. Also scrubbing anywhere in viewer instead of just on the timeline.

 

SmoothScrub viewer scrubbing Nuke

WordArt 1997 (toolset)

A few of Microsoft Office’s amazing text designs – now available for Nuke.

 

nuke wordartnuke wordart 2003nuke wordartgraphic design is my passion wordartnuke wordart

WrapItUp (Python)

Collect all media, gizmos and other necessary files to make a Nuke script work, and copy it to one specific folder.
Features: auto-relinking, checks for duplicates, a command-line interface, a nice user interface when run in Nuke.

 

nuke get media for nukescript wrap it up

houdini

RATConvert (Python, shelf tool)

Batch-convert and relink textures from path parameters to RAT files, using iconvert.
Works with UDIMs.

Install the shelf tool by placing it in $HOUDINI_USER_PREF_DIR/toolbar/
and adding it to a shelf using right click > ‘Edit Shelf Tab…’ > ‘Tools’.

(Or make a new shelf tool and add the Python script to it.)

 

auto convert and replace rat files

houdini rat file convert and relink

touchdesigner

SpeechToImageSearch (.toe file, Python)

Uses Microsoft Azure speech services to search for Google/Internet Archive images in realtime.
Also has a nice rainbow text.

maya

BooleanBatch (MEL)

Batch the boolean command for one object with all selected objects.
Example: Subtract one object from many others without merging them.

 

boolean batch mayamaya booleanbatch boolean batch

RandUV (MEL)

Randomly scatter the UVs of all selected objects within variable maximum bounds.

 

randuv random scatter uv maya

lensstudio

Butterfly Generator (Script, Asset)

An asset that adds butterflies to your scene.
If the device has Lidar capabilities, the butterflies can land on the world mesh.

 

Lens Studio butterflies

Code Snippets (Scripts)

A repository with a bunch of JavaScript code for Lens Studio,
just copy&paste it to use for your own project!
E.g. sampling the color on a texture, or animating an object from A to B with 1 line of code.

Grain Generator (Post Effect, Shader)

A post effect (material graph) generating procedural cinematic film grain.

 

grain generator cinematic grain lens studio material graph

cinematic grain lens studio material

Keyboard (Prefab, JavaScript)

An on-screen keyboard for Lens Studio
(for use in Snapchat AR Snaplenses).

 

lens studio keyboard

Lens Fest 2021 Assets (VFX Assets, Lens Studio)

My attempt at recreating the Lens Fest and Lens Studio logos in the VFX Editor!
No scripts, textures, or 3D models were used.

 

lens fest logo 2021 vfx asset

LSQuickScripts (JavaScript, Lens Studio)

Cheat sheet for most-used JS snippets in Lens Studio. Will update this every once in a while. Example project included.

 

LSQuickScripts Lens Studio code snippets

Mane Fur (Lens Studio)

Fur material for Lens Studio.

lens studio fur

Nuclei (Lens Studio)

The project files for this Nuclei setup!

 

OBJBuilder (Lens Studio, Python)

A Python script that converts .obj models to JavaScript files for Lens Studio’s MeshBuilder.

Ocean Shader (Lens Studio)

An example shader for Lens Studio.

 

ocean shader

Raycast (Lens Studio Project, JavaScript)

Setup to raycast any mesh in Lens Studio.

Particle Redirect (Python, Lens Studio Sub-Graph, VFX Editor)

A Python script and VFX Editor Sub-graph for spawning particles within a 2D image.
Also useful for morphing particles between multiple positions.

 

 

lens studio particle redirect morph

Planet Generator (Lens Studio Project, JavaScript, Material Graph)

All project files and media for my ‘Planet Generator’ lens!
Might be useful to those trying to learn how to use the Shader Graph, and combine it with script.

 

 

planet generator lens studio

Sakura scene (Lens Studio Project, Material Graph)

All project files for a talk I did on Custom Materials at Snap’s Lens Fest (2021).

 

 

sakura tree lens studio

Shader Graph examples (Lens Studio Projects)

Various examples on how to make materials in Lens Studio
(for use in AR Snaplenses).

Subgraphs (Lens Studio VFX/Material)

A growing collection of Sub-Graphs I made and use often.
Useful in the Material Graph and for VFX Assets.

Triplanar Voronoi noise subgraph (Shader subgraph, Lens Studio project)

A Shader Graph subgraph file and example Lens Studio project for Triplanar Voronoi noise.

 

triplanar voronoi noise subgraph

spark ar

AreaColourSample (Patch)

Spark AR Patch that samples the average colour of an area in a texture.

 

spark ar patch area clour sample average