On a related note...

> Create a knob changed callback for a rotopaint curves knob.
> Optionally confirm the rotopaint node name is something specific you setup.
> Query the x/y pos of the first vertex and delete the paint stroke the user 
> just created (or even the whole rotopaint node).
> You can automate everything so it is practically as good as API access to 
> mouse events.
> I've used it for calculating worldspace coords given a camera track and two 
> clicks on an object such as a marker etc. To streamline things, the first 
> click on each marker zoomed in closer by inserting a crop node focused on 
> that region so you could then do a precise pixel accurate click that got the 
> coords (viewer peers set to auto fit the image res... there is no API access 
> to viewer pan and zoom, hence the crop technique).
> In another instance, when QC'ing stuff and spotting a problem, a diagonal 
> paint stroke over the region grabbed the first and last coords of the strokes 
> and prompted for a string describing the problem, which was burnt into a 
> crop-in of the defined region (it generated an animated GIF ping-ponging 
> between left and right views too).
> A further use I found for it was gestural control, I took it as far as 
> determining the length of the stroke and which of the 8 points on a compass 
> rose best matched the angle. Left/Right stokes navigated backwards/forwards 
> on the timeline an amount defined by the length of the stroke (to held you 
> quickly find another good frame to click on the markers mentioned above). 
> Other angles triggered tools.
> (You can reuse the same code to analyze paint strokes created with RV's 
> annotation features while getting the coords and frame number too)
> 
> One you have pixel coords in Nuke it's easy to sample the values, handy on 
> some other tool I once made. Oh yeah, it's coming back to me... Click out a 
> roto on one frame of one view of a cg render and it would sample the AOC 
> values or take xy + sampled z + camera and calculate the world space coords 
> for each vertex and bake out a stereo rotoshape  that stuck to your cg in 
> both views for the duration of the shot. If a point was clicked outside the 
> object on black, the edge was traced until a z value was found, which was 
> used to fire a ray from the camera on the vertex's xy to get the worldspace. 
> It could also sample in an outwards spiral rather than just along the edge. 
> It also baked the position of the tangent handles... but I'm getting OT
> 
> All past tense cause I'm spending most of my time on Maya at another facility 
> now.
> 
> Erich Eder did all the clever matrix math for me.
> 
> Cheers,
> 
> Tim
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to