SpringArm3D

Category: Executor Tier: Plus

Purpose

The SpringArm3D Executor provides a native interface to control a SpringArm3D node’s collision behavior and length.

Visual Reference

As added to your scene
SpringArm3D brick as it appears in the GDLink editor

Runtime Behavior

Inputs

  • Activate (Boolean): When true, the executor updates properties and handles movement smoothing.

  • Target Length (Float): A dynamic input to drive spring_length via variable binding.

Outputs None

Properties

Core Configuration

  • Spring Length (Float, 2.0): The maximum distance the arm extends if no collision is hit.

  • Margin (Float, 0.01): The offset from the collision point to prevent the camera from clipping inside geometry.

  • Collision Mask (Integer Bitmask): Defines which physics layers the arm should collide with.

Smoothing And Catch-Up Logic

  • Enable Smoothing (Boolean, false): When true, the arm follows its tree parent using the authored local transform as the target.

  • Smoothing Mode (Option: Location, Rotation, Both; default Location): Chooses which channels interpolate while detached. Channels not selected by the mode snap directly to the authored follow target each tick.

  • Rotation Follow Mode (Option: Absolute, Additive; default Absolute): When rotation smoothing is active, Absolute lets the executor fully own the arm’s rotation, while Additive preserves extra local camera-look rotation applied to the same SpringArm3D and composes it on top of the parent-follow pose.

  • Smoothing Speed (Float, 5.0): How quickly the arm catches up to the parent.

  • Auto Top-Level (Boolean, true): If enabled, the executor automatically enables Top Level at runtime so the arm can move independently.

Debug And UX (v0.8.98.1-dev11)

Generated UI Mockup — showing expanded properties
SpringArm3D
-
x
Name:
Label this brick...
Mask:
1
v
Length
2.0
v
Margin
0.01
v
Smoothing
Smooth Mode
Location
Rot Follow
Absolute
Smooth Spd
5.0
v
Auto TopLvl
Verbose

Properties

Property

Type

Default

Notes

Length

float

2.0

Maximum arm length when unobstructed

Margin

float

0.01

Offset from collision point to avoid clipping

Mask

int

1

Raw physics layer bitmask used by SpringArm3D collision checks

Smoothing

bool

False

Enable detached positional catch-up smoothing

Smooth Mode

option

Location

Which follow channels interpolate while detached. Unselected channels snap to the authored follow transform.

Rot Follow

option

Absolute

When smoothing rotation, choose whether the spring arm owns rotation outright or preserves extra local look input on top of the follow pose.

Smooth Spd

float

5.0

Catch-up speed when smoothing is enabled

Auto TopLvl

bool

True

Temporarily enable Top Level at runtime so the arm can lag behind its parent

Verbose

bool

False

Log SpringArm3D target, hit length, compression, and smoothing state (controlled by ladybug button)