But my issue is that all of these either have an abrupt start or an abrupt end.
I would like that graph to look like this:
Slow at the beginning, fastest in the middle, and then slow at the end; so that I can loop it over and over seamlessly.
Let’s say this is my code:
local TweenService = game:GetService("TweenService")
local Info = TweenInfo.new(1)
local Value = Instance.new("NumberValue")
Value.Value = 0
local Tween = TweenService:Create(Value, Info, {Value = 10})
Tween:Play()
How can I make the number value tween from 0 to 10 slow at the start and end, and faster in the middle?
To put it simply, EasingDirection of In is shown in your first image, Out is the reflected opposite, and InOut is a mix of both, similar to what you are trying to achieve.
Right, I’ve been working with InOut, but the issue is still that you have to combine that with on of the possible EasingStyles, and it just doesn’t add up to perfectly smooth on both ends.
InOutSine
You can use EasingStyle.Sine with EasingDirection.InOut. You probably will not get any better than that unless you write your own/modify an easing function.