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 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 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 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