Unity文档中Mathf.PingPong的说明如下:
PingPong函数会将数值t来回反弹,确保其不大于length且不小于0。
我理解它是在0到length之间旋转一个值,但我不明白值t的作用以及它与PingPong的关系是什么?
如果我将t设置为任何常量,我总是得到那个值。
每次我看到PingPong在示例中使用时,都会使用Time.time作为t值(或者基于Time.time进行一些数学计算)。为什么?
我看到的唯一解释来自这个问题:c# Unity Mathf.PingPong not working,它暗示t的值必须始终在变化,但是仍然不清楚为什么或发生了什么。
那么,Mathf.PingPong实际上如何处理t / t值的值是什么,以及如何正确使用该函数?
PingPong函数会将数值t来回反弹,确保其不大于length且不小于0。
我理解它是在0到length之间旋转一个值,但我不明白值t的作用以及它与PingPong的关系是什么?
如果我将t设置为任何常量,我总是得到那个值。
void Update()
{
// always prints: 1
print(Mathf.PingPong(1f, 1f));
// always prints 0
print(Mathf.PingPong(0f, 1f));
}
每次我看到PingPong在示例中使用时,都会使用Time.time作为t值(或者基于Time.time进行一些数学计算)。为什么?
我看到的唯一解释来自这个问题:c# Unity Mathf.PingPong not working,它暗示t的值必须始终在变化,但是仍然不清楚为什么或发生了什么。
那么,Mathf.PingPong实际上如何处理t / t值的值是什么,以及如何正确使用该函数?