[picture]
A new fluent way to solve the decade old problem of queuing animations pretty easily. A simple example:
Fluent.Animation.New()
.With(gameObject)
.MoveTo(new Vector3(0, 100, 0), 3f)
.RotateTo(Quaternion.Euler(0, 90, 30), 3f);So what happened here? Well, the New() method created a new animation. The With method made sure that all next animations are applied to the given gameObject. The MoveTo and RotateTo functions animated the position and rotation of the gameObject, one after the other in 3 seconds.
The animations were queued. The rotation occured after the movement, and that's the beauty of procedural/fluent scripting.
- Move, rotate, scale almost anything
- Execute animations in parallel
- Comes with 31 easing effects
- Support for custom easing effect
- Animate objects on a set of way points
- Animate custom components
- Animate custom fields/properties
- Extend class to add more features
- Customize animation update type
- Loop, control, or jump to specific animation
- Bezier, Spline and Linear waypoint paths
- Comes with 5 free easy to learn demos
[couple of screenshots]
Fluent gives the ability to animate almost anything we like. Let's try animating a customProperty of a CustomComponent.
Fluent.Animation.New()
.AnimateProperty(gameObject.GetComponent<CustomComponent>(), 'customProperty', 20f, 30f, 2f)This will animate the customProperty from 20f to 30f in 2 seconds. This code also works on built-in components and properties. AnimatePropertyBy can be used if you don't want to specify the starting value.
[screenshot of promo]
Fluent comes with native support for animating objects on any path. Best part? The path could be either bezier, spline, or linear. Let me show you:
[screenshot of differences]
https://gist.github.com/AliFlux/7c40bda68f08930b554cf754d896b600
I was designing Extreme Air Combat game last year, and it was pretty difficult/verbose for me to create cut-scenes in which there are several moving objects one after another. And even more of a headache in which there are a few parallel animations involved. So I designed this thing to help me develop my game with less headches.