线性插值更线性
Linear Interpolation More Linearly
我很好奇是否有办法实现这个功能:
float linearInterpolation(float startPoint, float endPoint, float time)
{
return startPoint + ((endPoint - startPoint) * time);
}
更线性,因为现在当起点接近终点时它会变慢,我只希望它一直保持相同的速度而不减速 down/speeding。如果我需要实现另一个变量或可以完成的事情。另一个采用相同变量并输出下一个值的函数也是可以接受的。
对我来说,这看起来像是正确的 lerp 实现。没有看到你调用它的代码,我猜它变慢的原因是你用不同的 startPoint 调用它(调用 linearInterpolation 的前一个结果会导致这个)每个时间(帧?)这将导致它减慢,因为每次调用它时插值的距离都会减少。
确保插值过程中每次调用的起始点和结束点变量都相同,并且只有时间变量在增加。
我很好奇是否有办法实现这个功能:
float linearInterpolation(float startPoint, float endPoint, float time)
{
return startPoint + ((endPoint - startPoint) * time);
}
更线性,因为现在当起点接近终点时它会变慢,我只希望它一直保持相同的速度而不减速 down/speeding。如果我需要实现另一个变量或可以完成的事情。另一个采用相同变量并输出下一个值的函数也是可以接受的。
对我来说,这看起来像是正确的 lerp 实现。没有看到你调用它的代码,我猜它变慢的原因是你用不同的 startPoint 调用它(调用 linearInterpolation 的前一个结果会导致这个)每个时间(帧?)这将导致它减慢,因为每次调用它时插值的距离都会减少。
确保插值过程中每次调用的起始点和结束点变量都相同,并且只有时间变量在增加。