Smoothness, complexity, and usage in mind what do you prefer to use? This topic came up when I and a fellow developer for a group I work for went into an argument about what should be used when making physical elevators. I went for Lerp, as it is smoother yet he went for Tweening, which I can’t entirely agree with. What would you use?
Lerping can be smooth, but tweening can be as well. It purely depends on whether or not you’re willing to sacrifice smoothness for functionality. However, I have found that tweening on every client proves to be just fine, and makes the tween very smooth. And so, I choose tweening.
These two definitely have very different functionalities and uses, so it comes down to many other things.
Any value that is dependent on numbers can be interpolated, as those numbers too, can be interpolated. ‘Lerp’ is simply an abbreviation of the phrase ‘linear interpolation’, wherein a starting numeric value is translated towards an end numeric value according to some fraction (called the fraction alpha), this fraction alpha is expressed as a decimal value between 0 and 1 inclusively, with this value representing the amount of change incurred by the value being interpolated, a fraction alpha of 0 is no change (subject of the interpolation is unchanged), a fraction alpha of 1 is complete change (subject of the interpolation has reach its goal) and a fraction alpha of 0.5 is therefore half change (subject of the interpolation has reached 50% of its intended goal).
In my opinion, it really depends on the application. Tweening is good for animations such as opening a door without physics. Lerping is good for having something constantly animate to a part or place, such as the camera hovering over the player. For most applications, though, tweening is better. You can control the transitions without any fancy math. The tweenservice is smooth; it just becomes a matter of where you are doing it, whether from the server or client. Lerp is the same in this case.
Tweening gives you the ability to use other methods of interpolation and not just (l)inear int(erp)olation. You can choose from 11 different interpolation methods (Linear, Quadratic, Quartic, Sinusoidal, Bounce, Elastic, etc.) which gives you more control of the movement types. Lerp is purely linear, there is no variation in the value apart from a linear change (based on a percentage between a minimum value and a maximum value). If all you need is Linear then this poll has merit, otherwise there is no choice other than Tweening.