Я пытаюсь сделать мобильную игру, в которой вы можете бегать в 3D-среде с помощью виртуального джойстика. У меня есть 2 требования, которые я хочу выполнить. Я хочу иметь возможность использовать ползунок, чтобы вращать камеру вокруг игрока, и я хочу, чтобы игрок смотрел в направлении, в котором он движется.
Мне удалось сделать оба по отдельности, но не вместе. Всегда было так, что он смотрел бы в правильном направлении, но все еще двигался относительно мировой оси.
void Start() {
CharacterAnim = GetComponent<Animator>();
CharacterRB = GetComponent<Rigidbody>();
}
void Update() {
CharacterRB.transform.Rotate(0.0f, RotateStick.ScaledValue.x * 3.0f, 0.0f);
CharacterRB.velocity = new Vector3(Joystick.ScaledValue.x * speed, 0.0f, Joystick.ScaledValue.y * speed);
if (Mathf.Abs(Joystick.ScaledValue.x) + Mathf.Abs(Joystick.ScaledValue.y) > 0.1) {
lookDirection = new Vector3(Joystick.ScaledValue.x, 0.0f, Joystick.ScaledValue.y);
lookRotation = Quaternion.LookRotation(lookDirection, Vector3.up);
OldLookDirection = lookDirection;
}
else {
lookRotation = Quaternion.LookRotation(OldLookDirection, Vector3.up);
}
transform.rotation = Quaternion.RotateTowards(lookRotation, transform.rotation, 1.0f);
Любая помощь была бы прекрасна.