Итак, я делаю игру от первого лица, и я реализовал этот базовый сценарий перемещения c, используя ridgididity, однако я имею дело с проблемой гравитации. Независимо от массы объекта и настроек гравитации в инспекторе объект, к которому прикреплен этот скрипт, всегда падает в медленном темпе. По MoveInput я знаю, что я постоянно устанавливаю скорость оси Y на 0, однако, если я изменяю ее на величину силы тяжести, она толкает объект через пол.
public float MoveSpeed;
private Rigidbody RB;
private Vector3 MoveInput;
private Vector3 MoveVelocity;
private void Start()
{
RB = GetComponent<Rigidbody>();
}
private void Update()
{
MoveInput = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
MoveVelocity = MoveInput * MoveSpeed;
}
private void FixedUpdate()
{
RB.velocity = MoveVelocity;
}