2017-08-08 6 views
3

Also habe ich ein Spielobjekt (mein Spieler), das sich über einen Joystick bewegt. Ohne den rotierenden Code bewegt sich mein Player gut und flüssig, aber nachdem ich den Drehcode unter das Spielobjekt gesetzt habe, dreht sich das Spielobjekt ständig (360 Grad), wenn ich versuche es zu bewegen.Wie kann ich verhindern, dass mein Spielobjekt sich ständig dreht, wenn ich versuche, es zu bewegen?

Mein Ziel ist es, den Player um einen bestimmten Winkel zu drehen, wenn der Spieler dreht.

void Update() 
{ 
    // move 
    _rigidbody.MovePosition(transform.position + (transform.forward * leftController.GetTouchPosition.y * Time.deltaTime * speedMovements) + 
     (transform.right * leftController.GetTouchPosition.x * Time.deltaTime * speedMovements)); 

    //rotate 
    double rad = Mathf.Atan2(leftController.GetTouchPosition.y, leftController.GetTouchPosition.x); // In radians 
    double deg = rad * (180/System.Math.PI); 
    transform.RotateAround(transform.position, Vector3.up * Time.deltaTime, (float) deg); 
} 
+1

In Ihrer letzten Codezeile. 'transform.RotateAround (transform.position, Vector3.up, Time.deltaTime * (float) deg);' Sollte es nicht mehr so ​​sein? – Thalthanas

+0

@EmreE es ist ein wenig besser. jetzt.aber das problem ist jetzt, dass, wenn ich zum beispiel meinen joystick in der oberen linken position mein spieler bewegt sich in dieser position und während es dreht sich die ganze zeit wegen jedes rahmens. Was ich will ist, dass ich normal zu einer Position gehe und es sollte nur eine Drehung für jeden Winkel geben. es dreht sich 360 wenn ich mich bewege ... – KeyNavas

Antwort

2

Korrigieren Sie mich, wenn ich falsch liege, aber wenn ich Ihre Frage richtig habe, denke ich, dass Sie die falsche Funktion verwenden.

Für mich wäre RotateAround besser sein für einen Planeten umkreisen zum Beispiel (ewige Bewegung)

Wenn Sie nur die Spieler in einer bestimmten Richtung gedreht werden soll und aufhören, wenn es fertig ist, sollten Sie diese Funktionen versuchen, statt:

  • Transform.LookAt
  • Quaternion.LookRotation
  • Quaternion.RotateTowards
  • Quaternion.Slerp
Verwandte Themen