Hi,
This is more of a question for the unity team than the community.
Today we spotted that the timeline clip ease in and ease out durations are clamped to half the duration. Upon delving into the assembly I can see that the not only is the UI clamping the value, but the getter in the runtime is also clamping the value to of 0.49 of the clip duration, so there is no way of overriding it through the debug inspector.
public double easeInDuration
{
get
{
return (!this.clipCaps.HasAny(ClipCaps.Blending)) ? 0.0 : Math.Min(Math.Max(this.m_EaseInDuration, 0.0), this.duration * 0.49);
}
set
{
this.m_EaseInDuration = ((!this.clipCaps.HasAny(ClipCaps.Blending)) ? 0.0 : TimelineClip.SanitizeTimeValue(value, this.m_EaseInDuration));
}
}
So my question is why have this seemingly arbitrary restriction?
The only reason I can think of to do this is to stop the ease in and ease out from overlapping, but it’s quite restrictive. In our use case we want an ease in for the full duration of the clip, but I can see other use cases where you might want the ease in to be 75% of the clip and the ease out to be 25%.
If the concern about overlapping ease in/out, then why not clamp the ease into the start of the ease out.