Skip to main content

A streamlined Roblox animation utility that simplifies the use of springs, tweens, and splines on object properties. See the API section for usage and technical details.


Tweens

Tweens support all properties that are supported by TweenService, as well as tweening Models by CFrame and tweening NumberSequence/ColorSequence values (given that the target sequence has the same number of keypoints).

.tween(object: Instance, tweenInfo: TweenInfo | {}, properties: {[string]: any}): AnimChain
.tweenFromAlpha(object: Instance, tweenInfo: TweenInfo | {}, properties: {[string]: any}, alpha: number): AnimChain
.getTweenFromInstance(object: Instance): Tween?


Springs

Springs support the following types: number, Vector2, Vector3, UDim, UDim2, CFrame, and Color3. These are natively supported by the provided Spring class as well.

.impulse(object: Instance, springInfo: SpringInfo, properties: {[string]: any}): AnimChain
.target(object: Instance, springInfo: SpringInfo, properties: {[string]: any})
.bind(springs: {Spring}, label: string, callback: (positions: {Springable}, velocities: {Springable}) -> ())
.unbind(spring: Spring, label: string)
.createSpring(springInfo: SpringInfo, name: string?): Spring
.getSpring(name: string): Spring?


Splines

Splines are used in animation for interpolating between a series of points in a smoothed curving fashion.

.getSpline(name: string): Spline?
.createSpline(controlPoints: {CFrame}, name: string?): Spline
.slerpTweenFromAlpha(object: Instance, tweenInfo: TweenInfo | {}, spline: Spline | {CFrame}, alignment: ("Track" | "Nodes")?, alpha: number?, waitToKill: boolean?): AnimChain