Mathf.PingPong
Declaration
public static float PingPong(float t, float length);Описание
PingPong возвращает значение, которое увеличивается и уменьшается между нулем и длиной. Оно следует формуле треугольной волны, где нижняя точка установлена на нуль, а вершина установлена на length.
PingPong требует, чтобы значение t было самоувеличивающимся значением. Например, Time.time и Time.unscaledTime.
В приведенном ниже примере показан простой случай использования, когда интенсивность света непрерывно меняется от 0 до 8 до 0.
using UnityEngine;
public class PingPongExample : MonoBehaviour { Light myLight;
void Start() { myLight = GetComponent<Light>(); }
void Update() { myLight.intensity = Mathf.PingPong(Time.time, 8); } }
В приведенном ниже примере показаны некоторые результаты в качестве примера.
using UnityEngine;
public class OutputExample : MonoBehaviour { void Start() { // Prints 2 Debug.Log(Mathf.PingPong(2, 5));
// Prints 3 Debug.Log(Mathf.PingPong(7, 5)); // Prints 1 Debug.Log(Mathf.PingPong(11, 5)); } }