3
私はジョイスティックで動くゲームオブジェクト(私のプレーヤー)を持っています。私のプレーヤーの下にある回転コードがうまく動かないと、ゲームオブジェクトの下に回転コードを置いた後、移動しようとすると常に360度回転します。ゲームオブジェクトを移動しようとすると、ゲームオブジェクトが常に回転するのを防ぐには
私の目的は、プレイヤーが回るときに特定の角度の周りにプレーヤーを回転させることです。
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);
}
最後のコード行です。 これはもっとそうであってはいけませんか? – Thalthanas
@EmreEよくちょっと良い。しかし今問題があるのは、例えばジョイスティックを左上の位置に置いたときに、プレイヤーがその位置に移動し、その間にすべてのフレームのために常に回転するということです。私が望むのは、私がポジションに垂直に歩いていることと、各角度に対して1回転しかないことです。私は移動すると360回転する... – KeyNavas