Здравствуйте, я просто начал возиться с единством, и это одно из моих первых сообщений об ошибках, которые я получил.И я не могу понять это.
Вот полное сообщение
MissingComponentException: к игровому объекту «Игрок» не прикреплено «Rigidbody», но есть сценарийпытается получить к нему доступ.Возможно, вам нужно добавить Rigidbody к игровому объекту «Игрок».Или ваш сценарий должен проверить, подключен ли компонент, прежде чем использовать его.UnityEngine.Rigidbody.get_velocity () <0x602a2350 + 0x0006a> в: 0 Player.Update () (в активах / сценариях / Player.cs: 25)
https://imgur.com/a/OoYT5FH
А вот мой сценарий игрока в c #
[SerializeField]
private Rigidbody playerBody;
private Vector3 inputVector;
private bool jump;
// Start is called before the first frame update
void Start()
{
playerBody = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
float speed = 10f;
inputVector = new Vector3(Input.GetAxis("Horizontal") * speed, playerBody.velocity.y, Input.GetAxis("Vertical") * speed);
transform.LookAt(transform.position + new Vector3(inputVector.x, 0, inputVector.z));
if (Input.GetButtonDown("Jump"))
{
jump = true;
}
}
private void FixedUpdate()
{
playerBody.velocity = inputVector;
if (jump)
{
playerBody.AddForce(Vector3.up * 20f, ForceMode.Impulse);
jump = false;
}
}
Примечание:
У меня вчера не было этой проблемы, я закрыл Unity, а сегодня, когда я ее открыл, у меня была эта проблема.Не уверен, что это как-то связано с этим ... кажется странным.