paya.runtime.networks.CurveUpVectorPtKeysSampler#

class CurveUpVectorPtKeysSampler(*args, **kwargs)#

Inheritance

CurveUpVectorRemapSampler CurveUpVectorSampler System Network Network DependNode DependNode PyNode ProxyUnicode

Solves for parallel transport in both directions for each key segment, and blends between the solutions by angle, with unwinding options.

Works similarly to CurveUpVectorIkSplineStyleSampler, but with properly-localised twist.

classmethod create(curve, paramVectorKeys, interpolation='Linear', resolution=9, unwindSwitch=0)#
Parameters
  • curve (str, paya.runtime.nodes.NurbsCurve, paya.runtime.nodes.Transform, paya.runtime.plugs.NurbsCurve) – the curve on which to create the sampler

  • paramVectorKeys ([[float | str | Math1D], [tuple | list, paya.runtime.data.Vector, paya.runtime.plugs.Vector]]) – zipped parameter, vector pairs, indicating known up vectors along the curve; at least two such keys are needed

  • interpolation/i (int, str, Math1D) –

    a string label or integer value or plug specifying how to interpolate between the keyed pairs, namely:

    • 0 ('None') (you wouldn’t normally want this)

    • 1 ('Linear') (the default)

    • 2 ('Smooth')

    • 3 ('Spline')

  • resolution/res (int) – the number of parallel-transport solutions to generate along the curve; higher numbers improve accuracy at the expense of performance; defaults to 9

  • unwindSwitch/uws (int, str, Math1D,) –

    an integer value or plug, or a list of integer values or plugs (one per segment, i.e. len(paramVectorKeys)-1) specifying how to resolve angle- blending edge cases:

    • 0 (shortest, the default)

    • 1 (positive)

    • 2 (negative)

[int | str | Math1D] :return: The network system. :rtype: CurveUpVectorPtKeysSampler