OK got it figured out. Thanks all for the help. This is why it didnt work:
i had a node X that acted as a trigger to run my code that modified the rotoshape like this: x -> roto -> viewer This caused the x to evaluate as expected, the roto shape would update correctly but it failed to redraw no matter what. solution? roto -> x -> viewer tada! now the function evaluates correctly AND redraws the rotoshape without me having to jump frames. On Thu, Jul 25, 2013 at 12:39 PM, Gustaf Nilsson <[email protected]>wrote: > Opening and closing the property bin doesnt work, possibly because the > rotopaint node is inside a gizmo. Also, seems like a big waste of cpu > cycles. > > Changing frames does work in the sense that i can change it to ANOTHER > frame and the shape updates correctly, but if i change it back to the frame > i was on, then i guess nukes clever caching set everything back to black > again. > > Setting visibility doesnt do anything either. > > Now, the weird thing is: the frame does actually update correctly by > itself, something like 5 seconds later. as if some timed redraw of the > window forces the redraw. > > back to the drawing table... > > > > > On Wed, Jul 24, 2013 at 10:02 PM, Magno Borgo <[email protected]> wrote: > >> ** >> That usually do it. >> >> If you don't update the roto node via python, closing it, reopening it on >> the Properties panel should do it, sometimes you need to change the >> current frame to something else. >> Is that working for you? >> >> Sometimes when creating curves from scratch you need to set some >> properties, like visibility. >> If you don't do it, you may need to select the curve on the node to see >> it. >> >> Magno. >> >> >> >> I really really would have loved your answer to have worked, but >> unfortunately not :( >> >> any other ideas? >> >> >> On Wed, Jul 24, 2013 at 12:11 PM, Magno Borgo <[email protected]> wrote: >> >>> You need to use something like this, using the changed() to update the >>> rotonode: >>> >>> >>> curves = node['curves'] >>> >>> "your python magic here" >>> >>> curves.changed() >>> >>> >>> On Wed, 24 Jul 2013 05:20:19 -0300, Gustaf Nilsson < >>> [email protected]> wrote: >>> >>> hi >>> >>> I have a little python script that deletes all layers in a rotopaint >>> node, then creates a new shape and sets its point values to something >>> generated by the script. >>> >>> problem is that nuke doesnt actually redraw the shape when changing >>> points programmatically. Understandable maybe as you wouldnt want it to >>> redraw every time if you change a hundred points but is there anything i >>> can call to force a redraw once i have set all the points? (other than >>> changing frames) >>> >>> bug(?): clicking the "recalculate image (u)" button doesnt help. >>> >>> thanks >>> G >>> >>> -- >>> ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ >>> >>> >>> >>> >>> -- >>> Magno Borgo >>> Certified Nuke Trainer >>> www.boundaryvfx.com >>> www.borgo.tv >>> Brasil:Curitiba:GMT= -3 >>> >>> _______________________________________________ >>> Nuke-python mailing list >>> [email protected], http://forums.thefoundry.co.uk/ >>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >>> >>> >> >> >> -- >> ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ >> >> >> >> >> -- >> Magno Borgo >> Certified Nuke Trainer >> www.boundaryvfx.com >> www.borgo.tv >> Brasil:Curitiba:GMT= -3 >> >> _______________________________________________ >> Nuke-python mailing list >> [email protected], http://forums.thefoundry.co.uk/ >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >> >> > > > -- > ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ > -- ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
_______________________________________________ Nuke-python mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
