Skip to content

Advanced Transform

Pro Extension

Pro advanced transform targets and tweeners give you more expressive motion than basic position/scale/rotation.

Advanced Transform

Squash & Stretch

GFFSquashStretchTarget scales X and Y in opposite directions while preserving the node's base scale.

Property Description
amount Deformation amount (0.5 = 50% squash/stretch)
mode SQUASH (X down, Y up) or STRETCH (X up, Y down)
var target = GFFSquashStretchTarget.new()
target.amount = 0.5
target.mode = GFFSquashStretchTarget.Mode.SQUASH

var effect = GFFEffectCommon.new()
effect.target = target
effect.tweener = GFFElasticTweener.new()
effect.duration = 0.3

GameFeelFlow.play(effect, $Sprite2D)

Or use the preset:

GameFeelFlow.play("squash_stretch", $Sprite2D)

Spring

GFFSpringTarget + GFFSpringTweener gives you physics-based spring motion with overshoot and settle.

Property Description
stiffness How aggressively the spring pulls toward target
damping How quickly oscillation settles
GameFeelFlow.play("spring_scale", $Sprite2D)

Wiggle

GFFWiggleTarget + GFFWiggleTweener adds random wobble around the current position or rotation.

Property Description
amplitude Maximum offset from base value
frequency Wobble speed
GameFeelFlow.play("wiggle", $Sprite2D)

When to Use

  • Squash & Stretch: hit impacts, landing, button press, cartoon-style motion.
  • Spring: UI elements that should feel physical, drag-and-drop release, health bars.
  • Wiggle: idle animations, hovering items, attention-grabbing UI.