Мой код был:
Код: Выделить всё
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour {
[SerializeField] private float movementSpeed = 7f;
[SerializeField] private float rotationSpeed = 10f;
[SerializeField] private float playerSize = .7f;
[SerializeField] private GameInput gameInput;
private bool isWalking;
private void Update() {
Vector2 inputVector = gameInput.GetMovementVectorNormalized();
Vector3 moveDir = new Vector3 (inputVector.x, 0f, inputVector.y).normalized;
bool canMove = !Physics.Raycast(transform.position, moveDir, playerSize);
if (canMove) {
transform.position += moveDir * movementSpeed * Time.deltaTime;
}
isWalking = moveDir != Vector3.ze
transform.forward = Vector3.Slerp(transform.forward, moveDir, Time.deltaTime * rotationSpeed);
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... off-center