Ich habe einen Würfel auf (0,2,0) und ich möchte es auf der Y-Achse von 2 bis 1 und dann bis zu 3 zurück zu 1 zurück zu 3 und so weiter bewegen. ..Einheit oszillieren zwischen zwei Koordinaten
Kann mir jemand erklären, was bei der Verwendung von Mathf.PingPong()
als Parameter übergeben werden?
Ich habe
public virtual void PingPongCollectable(Transform transform, float speed)
{
Vector3 pos = transform.position; // current position
pos.y = Mathf.PingPong(? , ?); // missing parameters, calculate new position on y
transform.position = pos; // new position
}
so wo habe ich in der Geschwindigkeit passieren und den Koordinaten A (oben) und B (unten)?
Der Würfel sollte nur sanft in einer Schleife auf- und abgleiten.
Danke!
mit 'Mathf.PingPong (Time.deltaTime, Länge - bottomFloor) + bottomFloor' ist nicht korrekt. Der Würfel springt sofort auf 0 und bewegt sich zu 3 und zurück zu 0. aber er sollte sich von 1.5f zu 2.5f bewegen. – Question3r
Ich habe mein Beispiel bearbeitet. Wenn Sie zwischen 1.5f und 2.5f wechseln möchten, können Sie dies tun: 'Mathf.PingPong (Time.deltaTime, 1.0f) + 1.5f' – CBinet
Sie müssen' Time.time' wie im Beispiel in der Docs, oder akkumulieren Sie die Zeit in einer Member-Variable. 'Time.deltaTime' wird im Allgemeinen nicht mit der Zeit zunehmen, so dass Sie dieselbe Position Frame für Frame erhalten. – BMac