David Emeny : visual effects artist
This is a repository of any Nuke gizmos and functions that I make.
A python script for generating a randomly tiled image. It can be used in many ways including:
1) Splatter a shape or image randomly over the screen at varying sizes and rotations.
2) Make simple 2D particles by plugging in an animated shape and it will randomly offset the time for each tile. With option to create depth matte.
3) Make a random stylised version of a second image using embossed tile shapes.
4) Create a 'painted' version of a second image by using various brush shapes as tiles and combining several RandomTile nodes over each other. With option to cluster tiles in certain areas.
5) Create a moving 'painting' by also providing distortion and ripple maps based on the plate.
More info at my wordpress blog.
Simple gizmo for providing a soft edge to a square image. Useful if you want to want to quickly remove the straight edges from a texture patch. Options for rectangle/circle/pointed/blob mask shapes as well as the option to distort the edge further. Controls for size and blur.
A python function for creating projection cameras with a freeze frame. Select a tracked 3D camera, call this function (through a menu button or shortcut) and a duplicate camera will appear, complete with a freeze frame control. Set to your reference frame and project away. No need to delete all animations. Change your mind later and copy/paste for more projection cameras on different frames. Written by David Emeny, inspired by a tip from Sean Devereaux.
A simple cornerpin gizmo for easy 4-point stabilizing. Use a Tracker or CameraTracker to get four 2D track curves, then copy/link them to this node and choose a reference frame. It will stabilize the plate like the old Shake Stabilize node (using four tracks in a Tracker node even with transform, rotate and scale is not the same).
(rewritten to work with 6.3) A python function which creates a Write node, generates the write path based on the script name, and creates all the subfolders needed to write to that path at render time. It takes the version number from the script, and ignores the subversion if there is one. It gets the resolution from the node itself, in case the output differs from the project resolution. You also have the option for rendering precomps and it detects if you are just reformatting a scan. Assumes standard file path conventions. Look in the .py file for more details.
A python function that shuffles out all the layers in a selected EXR file and creates a contact sheet for quick viewing. Any layers with unusually named channels are split up further to ensure no channels are missed. Version 3 fixes some bugs discovered when exploding multilayer exr's from Maya.
A handy gizmo which does one thing: attach it anywhere in your script and it will display a list of all channels available at that node. It shows this list in the properties panel, grouped by layer.
A python function that takes a stereo image stream, or a left and right image, and squashes them together into a side-by-side image in the same format, ready to be displayed on a 3D TV (in side-by-side mode). Render in Framecycler, press TAB, then F to get it in full screen. Make sure the two edges touch the sides of the screen.
A simple gizmo that crops to a specified aspect ratio. Keeps the input width and calculates the height. Choose whether to reformat to the new size, or keep the current frame height and mask the top and bottom. Use any ratio you want: 2.35, 2.39, 1.85, 1.778 etc. Common ratios are labelled and a url to the wikipedia article on formats is provided.
(updated) A gizmo that generates the expressions needed for various wave patterns used to drive animations. Ideal for pulsing lights, flickering, camera shake etc. Choose the max and min values, choose the wave type and even generate a second lower frequency wave to control the first. Now has more waves, including SINE, RANDOM, NOISE, TRIANGLE, SQUARE, SAWTOOTH among others.
A simple gizmo that lets you make horizontal wipe transitions. Gives you a slider between -100 and 100, where -100 is the left image, 0 is half of each, and 100 is the right image. Also lets you soften the dividing line. Useful for making shot breakdowns.
A python function that simply shuffles the selected node into Red, Green, Blue and Alpha channels. Just four shuffle nodes, but laid out and coloured pleasantly. If no Alpha channel is present, it will just give the Red, Green and Blue.
A python function for piping various layers of a comp into an EXR for distribution to other departments/facilities (ie 3D conversion). Lets you specify up to eight layer names and their respective channel sets, then generates a node with corresponding inputs and creates those layers and channels. For example: plug in your comp, the background plate, the foreground elements, and they will appear in their own layers. Attach a write node, write an exr with 'all' channels set. Your comp and its various elements packaged into one handy image sequence.
(rewritten) A python function that generates several trackers and links them to a master tracker which takes the average of the other trackers' tracks for each of its points. Prompts the user for the kind of track (1-point, 2-point, or 4-point) and how many tracks they want to provide for each point (2, 3 or 4).
A very simple gizmo that increases/decreases the stereo separation between two views. Like the Reconverge node in Nuke, but doesn't mess up Anaglyph when in proxy mode. Adjust the slider until the image is sitting comfortably in stereo space.
2D to 3D conversion gizmo. Take any non-stereo image, add this gizmo, give it a depth map and it will create a stereo image. Using this, you can quickly draw a rough depth matte by hand to add dimension to a flat image cheaply and cheerfully. Or create stereo effects on existing stereo images. Make sure your project is set up for stereo views.
A gizmo that takes the alpha (from a rotoshape etc) and roughens the edge randomly. Useful for giving a quick organic look to your mattes instead of meticulously adding lots of points to break up the straight lines. Choose from fine grainy edges to slightly randomising the shape a little.
Blends and smooshes a CG element with the background to better integrate the two. Put this gizmo after you comp a CG element onto a background plate and plug in the element's alpha. Control the size and spread of the diffusion, as well as how much of the core is left untouched.
A simple to use colour-matching gizmo. Match the blacks using the colour picker, grab the average colour from the background and the gizmo will match-grade your foreground to the background. Then play with the gain and saturation sliders provided. Tip: take the gain down to zero while matching the blacks to give you a solid black object to match to.