Like this:
***

import nuke.rotopaint as rp
SplineWarpNode = nuke.createNode('SplineWarp3')
curvesKnob = SplineWarpNode['curves']
shape = rp.Shape(curvesKnob)

***
shape gives: TypeError: argument 1 must be (unspecified), not _splinewarp.SplineKnob


I know that rotopaint node uses _rotopaint.RotoKnob and when i try
shape = rp.Shape(curvesKnob)on a roto node it works.

So which method should i use to create shapes inside a SplineKnob?

Thanks in advance,
Magno






Hi Magno,

could you send some of the Python you've been trying?

Thanks,
     Wouter

On 03/01/2012 16:45, Magno Borgo wrote:
Another question on the same subject. Is it possible to create Shapes
inside spline warp nodes via Python scripting? Because i'm trying to
apply some of the rotopaint python exemples on the node and its not working.
What I'm missing?


Magno.

    Hi all,

    The way source and destination curves work will change for the next
    major version of Nuke, but in 6.3 the source and destination are
    essentially the same curve, similar to Roto and it's feather curve.
    (Hence the awkward naming..)

    Regards,
    Wouter



    -- Sent from my HP Pre3

    ------------------------------------------------------------------------
    On 15 Dec 2011 01:28, Magno Borgo <[email protected]> wrote:

    Yeah the naming was not helping! Thanks Ivan, that was exactly what
    i needed.

    Magno.


        Each control point has both the source and destination
        attributes. The confusing part is that the naming of those
        attributes makes more sense for a standard roto shape.

        So, your source curve is:
        controlPoint.center

        and the dest curve is:
        controlPoint.featherCenter

        Also, if you're getting the position data out of each attribute,
        keep in mind that the dest points are stored as an offset
        relative to the src point, instead of an absolute position.

        Have a look at the output of this:

        node = nuke.selectedNode()

        curves = node['curves']

        sourcecurve = curves.toElement('Bezier1')

        for p in sourcecurve:

        print p.center.getPosition(nuke.frame()),
        p.featherCenter.getPosition(nuke.frame())



        Hope that helps.
        Cheers,
        Ivan




        On Wed, Dec 14, 2011 at 4:21 PM, Magno Borgo <[email protected]
        <mailto:[email protected]>> wrote:

            Hello!

            I trying to figure out how to access the *control points *of
            the***destination* curves of the SplineWarp node via python.

            The points of the source curves are easy:

            node = nuke.selectedNode()

            curves = node['curves']

            sourcecurve = curves.toElement('Ellipse1')


            With sourcecurve[0], sourcecurve[1], etc i can access each
            control point.



            Any help?


            --
            **************************
            Magno Borgo

            www.borgo.tv <http://www.borgo.tv>
            www.boundaryvfx.com <http://www.boundaryvfx.com>

            _______________________________________________
            Nuke-users mailing list
            [email protected]
            <mailto:[email protected]>,
            http://forums.thefoundry.co.uk/
            http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users





    --
    **************************
    Magno Borgo

    www.borgo.tv
    www.boundaryvfx.com




--
**************************
Magno Borgo

www.borgo.tv
www.boundaryvfx.com


_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users




--
**************************
Magno Borgo

www.borgo.tv
www.boundaryvfx.com
_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

Reply via email to