Mozart53 Geschrieben 5. Januar 2022 Melden Share Geschrieben 5. Januar 2022 Wieso behält sich die Rotation nicht, obwohl ich sage, dass sie es soll? public class MemoryCard : MonoBehaviour { public int id; public float targetHeight = 0.7f; public float targetRotation = -90f; private void OnMouseDown() { FindObjectOfType<GameManager>().clicked(this); } private void Update() { float height = Mathf.MoveTowards(transform.position.y, targetHeight, 3 * Time.deltaTime); transform.position = new Vector3(transform.position.x, height, transform.position.z); Quaternion qtr = Quaternion.Euler(targetRotation, transform.transform.rotation.y, transform.rotation.z); //HIER transform.rotation = Quaternion.Lerp(transform.rotation, qtr, 10 * Time.deltaTime); } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 6. Januar 2022 Melden Share Geschrieben 6. Januar 2022 Ich gehe davon aus, dass es an der ständigen Umrechnung von Quaternion (was ein Vector4 ist) zu Euler (was ein Vector3 ist) und umgekehrt liegt. Da wird es immer leichte Ungenauigkeiten geben. Warum machst du es nicht so wie mit der Position? Du willst doch scheinbar nur um die X Achse lerpen, es soll also zur -90 hin gehen. Nimm dir also einmalig die Ausgangsrotation deines Objektes, z.B. in der Start(), und speichere sie in einer Vector3 Variable ab. Jetzt lerpst du nur den x Wert dieses Vector3 und übergibst ihn dann wieder der Variable. Diesen nutzt du dann für dein Objekt. Also so etwa: Vector3 myEulers; // hier speichere ich die Grundausrichtung rein float targetRotation= -90f; void Start(){ myEulers= transform.localEulerAngle; // hier hole ich mir die Grundausrichtung vom transform. Aber die lokalen Werte, falls es ein Kindobjekt ist } void Update(){ myEulers.x=Mathf.Lerp(myEulers.x, targetRotation, 10*Time.DeltaTime); // nur das x vom Vector3 wird gelerpt. transform.localEulerAngles= myEulers; // jetzt alles dem transform übergeben } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.