Mathf.PingPong 从 1 到 0
Mathf.PingPong from 1 to 0
我已经为 PingPong 创建了一个从 1 到 0 的助手,但我很难反转它,因此值从 1 变为 0。
下面你可以看到代码,我目前正在使用。我也不确定这是否可能。
_lerpPulse = PingPong(Time.time * 0.5f, 0f, 1f);
还有帮手
float PingPong(float aValue, float aMin, float aMax)
{
return Mathf.PingPong(aValue, aMax - aMin) + aMin;
}
提前致谢!
Mathf.PingPong
创建这样的图表
因此,要从峰值开始,您可以将沿 x 轴到峰值的距离添加到时间参数,即 sqrt(2)/2 * 长度,或 0.707 * 长度
float PingPong1To0(float aValue, float aMin, float aMax)
{
float offset 0.707f * (aMax - aMin); // sqrt(2)/2
return Mathf.PingPong(aValue +offset, aMax - aMin) + aMin;
}
应该击中那个三角形的下降边
我已经为 PingPong 创建了一个从 1 到 0 的助手,但我很难反转它,因此值从 1 变为 0。
下面你可以看到代码,我目前正在使用。我也不确定这是否可能。
_lerpPulse = PingPong(Time.time * 0.5f, 0f, 1f);
还有帮手
float PingPong(float aValue, float aMin, float aMax)
{
return Mathf.PingPong(aValue, aMax - aMin) + aMin;
}
提前致谢!
Mathf.PingPong
创建这样的图表
float PingPong1To0(float aValue, float aMin, float aMax)
{
float offset 0.707f * (aMax - aMin); // sqrt(2)/2
return Mathf.PingPong(aValue +offset, aMax - aMin) + aMin;
}
应该击中那个三角形的下降边