StickyProject makes a 'frozen' projection on a given frame, and assigns UVs to each vertex so the texture will 'stick' to animated geometry from there on.
StickyProject
Updated: 17 April 2012
Author: iva.busquets
Compatible Nuke versions: 6.3 or later
Compatibility: Linux 64, Mac 64, Windows 64, Source
Description:
StickyProject is a modified version of UVProject that allows to 'freeze' the projection at a given frame, and let the texture 'stick' to animated geometry from there on.
Workflow:
Using StickyProject is very similar to using UVProject. You connect it to a camera and a geometry/scene, and it modifies the UVs of that geometry based on the frustum of that camera. A vertex that falls exactly on the lower-left corner of the camera view will get a UV coordinate of 0,0, and a vertex that falls on the top-right corner gets a coordinate of 1,1.
The parameters are also very similar to UVProject, except that you have one additional knob to set up the 'reference frame'. This is the frame for which both the camera and the geometry will be frozen, so that the UVs assigned on that frame will stay the same for animated geometry.
Example:
StickyProject is most useful when you have some animated geometry, a render camera, and a texture (a matte painting, or a plate, a painted patch, etc.) that matches your scene on a certain frame. You can then plug everything as shown above, set your reference frame, and get your texture to stick to the animated geometry.
Or, if you're just trying to make something stick to an animated/deformed surface, it makes it easy to just have to adjust the position in 2d, on the reference frame.
One of the advantages of StickyProject is that it all happens in 3D space, so there is only one filtering hit when you render it out through a ScanlineRender.