Документы Unity для Mathf.PingPong говорят:
PingPongs значение 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 не работает , что означает, что значение t
всегда должно изменяться, но опять же, неясно, почему или что происходит.
Итак, что на самом деле Mathf.PingPong
делает с t
/ для чего на самом деле значение t
, и как вы правильно используете функцию?