Nubu
  • Features
  • How it works
  • Pricing
  • Integrations
  • FAQ
  • Contact
  • Docs
  • Blog
  • Log in
  • Log inSign up
    Nubu

    Creative automation for teams that ship campaigns, not busywork.

    Try for free
    Product
    FeaturesNubu MotionHow it worksPricingIntegrationsFAQ
    Company
    AboutContactDocsBlogLog in
    Legal
    Privacy policyTerms of serviceData deletion
    © 2026 Bear Studios · Nubu
    Introduction
    Templates overviewInstalling Nubu BuilderAdding template compsAdding propertiesAdding footageSetting defaultsExporting your templateUploading a template
    Flows overviewAvailable nodesAdding a nodeConnecting nodesWorking with dataTemplates and outputsUsing AI nodesBuilding a creative
    CampaignsTemplatesAssetsGlossariesRendersSettings
    Connecting Meta AdsConnecting Google AdsConnecting OpenAIConnecting Gemini AI StudioConnecting Anthropic
    AI Assistant overviewPrompt examplesAssistant settings and controls
    Nubu Motion scripts: the reference
    OverviewQuick startDifferences from After EffectsDeterminism
    JavaScript supportReferences and idsProject scriptsState and timeBudgets and errorsFormatting values
    GlobalTime conversionInterpolationVector mathsRandom and noiseColour conversionOther maths
    LayerCompPropertyKeyframePathGeometryProjectComponentConsoleComponentControlExpressionControl
    The property vocabularyAnimators propertiesAudio propertiesContent propertiesContents propertiesEffects propertiesExpression controls propertiesFills propertiesInstance controls propertiesLayer propertiesLayout propertiesMasks propertiesStrokes propertiesText style propertiesRig propertiesRigging propertiesRig controllers propertiesRigging weights propertiesRigging mesh propertiesRig items propertiesRig splines propertiesRig simulation propertiesRig properties propertiesRig drivers propertiesRig draw order propertiesTransform propertiesTrim path properties
    Error codesBudgets
    Changelog
    All docs
    Motion Scripting
    / Properties

    Rigging properties

    An artwork layer's binding influences and constraint leaves by rigging item id: how far a bone or a controller drives the artwork.

    The rigging family: an artwork layer's binding influences - position, rotation and scale in percent (0..100) - addressed by rigging item id - and (RIG-W2 CONTROL) an artwork constraint's leaves: influence (percent), distance (px, the distance kind) and path_distance (percent of the path length, which may exceed 100 - the path kind). RIG-W4 POSE adds a weighted or mesh binding's corrective influences (percent, addressed by corrective id) and a rigid binding's target hold - rigging.<item_id>.target, a {kind, id} reference that reads and keyframes (hold keys switch the parent over time) but never drives. Every other pattern reads, keyframes AND drives: a script fading an influence from 100 to 0 releases the artwork from its bone over time.

    Every pattern below is readable from scripts through prop() and layer.prop(); ids in a pattern (like <effect_id>) stand for the entity's real id. Patterns marked drive set are the ones scripts may WRITE (every animatable pattern); the rest are statics that change through commands, and a write to one refuses with the typed type_mismatch ("the property is static").

    PatternWire kindUnitsReadsWrites
    rigging.<item_id>.correctives.<corrective_id>.influencescalarpercent (0..100)yesdrive set
    rigging.<item_id>.distancescalarpxyesdrive set
    rigging.<item_id>.influencescalarpercent (0..100)yesdrive set
    rigging.<item_id>.influence.positionscalarpercent (0..100)yesdrive set
    rigging.<item_id>.influence.rotationscalarpercent (0..100)yesdrive set
    rigging.<item_id>.influence.scalescalarpercent (0..100)yesdrive set
    rigging.<item_id>.path_distancescalarpercent of the path length (may exceed 100)yesdrive set
    rigging.<item_id>.targettarget_ref{kind, id} target referenceyes-

    Worked examples#

    The rigging family: an artwork layer's binding influences - position, rotation and scale in percent (0..100) - addressed by rigging item id - and (RIG-W2 CONTROL) an artwork constraint's leaves: influence (percent), distance (px, the distance kind) and path_distance (percent of the path length, which may exceed 100 - the path kind). Every pattern reads, keyframes AND drives: a script fading an influence from 100 to 0 releases the artwork from its bone over time, a script ramping a path distance runs the artwork along its track.

    Worked example: Run the track#

    The scene. A Stage comp with an open Track path (a rise from (80, 260) over (320, 100) down to (560, 260)) and a Runner solid whose rigging stack carries one path constraint onto the Track, offsets off - the Runner's anchor sits on the path wherever its path distance says.

    • The comp Stage: 640 by 360 at 25 fps, 100 frames (4 seconds).
    • Track: a path layer, filled #2a3140.
    • Runner: a solid layer, at [80, 260], 40 by 40, filled #e0a34d.
      • The rigging stack: rigging_1 - a path constraint onto the Track layer, offsets off.

    The script. Add a project script named Run the track and paste:

    export const outputs = ["layer_2:rigging.rigging_1.path_distance"];
    
    export function frame() {
      return linear(time, 0, 4, 0, 100);
    }
    

    Line by line:

    • Line 1: One output: the PATH DISTANCE of the Runner's path constraint (the one item on its rigging stack, targeting the Track path). rigging.<item_id>.path_distance is a percent of the path's length - 0 is the track's start, 100 its end, and it may exceed 100 (the item's flags decide whether the artwork keeps running along the tangent or stops).
    • Line 4: linear() maps the first four seconds onto 0 to 100 and holds 100 after that: the Runner's anchor travels the whole track in four seconds - up the rise to the crest at 50 and down the far side - and rests at the end. With Orient on the item would also turn the Runner along the track's tangent; here it keeps its own rotation.

    What you see. The Runner sets off from the track's start, climbs to the crest at two seconds and reaches the far end at four, then holds there - at one second its path distance reads 25, at two seconds 50.

    The Runner sets off from the track's start, climbs to the crest at two seconds and reaches the far end at four, then holds there - at one second its path distance reads 25, at two seconds 50.