Персонаж не двигается в Unity 3d
в юнити и шарпе совсем новичок, пытаюсь написать скрипт движения по туторам с ютуба. но ни один код ещё не сработал/не сработал нормально. этот код смог заставить персонажа тронуться с места, только вот он либо падает и катится, либо не падает и стоит неподвижно(когда ставлю фризы на вращение в rb)
using System.Collections.Generic;
using UnityEngine;
public class ri : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 30f;
private bool isGrounded;
private Rigidbody rb;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void FixedUpdate()
{
Movement();
}
private void Movement()
{
Vector3 moveInput = new Vector3(x:Input.GetAxis("Horizontal"), y:0, z:Input.GetAxis("Vertical"));
rb.AddForce(moveInput*moveSpeed);
}
}
Ответы (2 шт):
Автор решения: No Pain
→ Ссылка
Не знаю, у меня последняя версия Unity с C# соответственно, просто f убрал, а так, была очень медленная скорость:
using System.Collections.Generic;
using UnityEngine;
public class ri : MonoBehaviour
{
public float moveSpeed = 5; //убрал f
public float jumpForce = 30; //убрал f
private bool isGrounded;
private Rigidbody rb;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void FixedUpdate()
{
Movement();
}
private void Movement()
{
Vector3 moveInput = new Vector3(x:Input.GetAxis("Horizontal"), y:0, z:Input.GetAxis("Vertical"));
rb.AddForce(moveInput*moveSpeed);
}
}
Автор решения: Nikolay Stuff
→ Ссылка
При перемещении игрока рекомендую использовать MovePositio();
rb.MovePosition(moveInput*moveSpeed*Time.fixedDeltaTime);