Ich benutze das folgende Skript, um einen Ball zu steuern, aber es tut nicht genau das, was ich will. Unser 3D-Spiel wird im Querformat mit der Home-Taste (oder unten) des Geräts in der rechten Hand gespielt. Wenn Sie das Gerät nach links kippen (nicht drehen), sollte der Ball nach links rollen. Wenn Sie ihn nach rechts neigen, sollte er nach rechts rollen. Wenn Sie das Gerät nach unten kippen (Gerät oben nach unten), sollte der Ball schneller rollen und das Gerät nach oben kippen sollte es verlangsamen. Ich möchte auch nicht, dass der Ball unendlich beschleunigt.Steuern Sie die Ballbewegung durch das Kippen des Geräts in Unity3D
Der folgende Code möchte, dass das Gerät gerade gehalten wird, anstatt flach zu liegen. Es bewegt den Ball, indem es das Gerät nicht durch Kacheln dreht.
void FixedUpdate()
{
// Player movement in mobile devices
// Building of force vector
Vector3 movement = new Vector3(-Input.acceleration.x, 0.0f, -Input.acceleration.z);
// Adding force to rigidbody
var move = movement * speed * Time.deltaTime;
rigidbdy.AddForce(move);
}
Sie haben gesagt, was Sie wollen, aber Sie haben uns nicht gesagt, wie es falsch funktioniert. Bearbeiten Sie Ihre Frage und fügen Sie Details hinzu, wie Ihre aktuelle Implementierung nicht funktioniert. –