Скрипт не видит rigidbody

178
01 февраля 2022, 02:00

Делаю скрипт для перемещения персонажа по урокам в интернете. Застрял на моменте прыжка. Unity выкидывает мне:

NullReferenceException: Object reference not set to an instance of an object.

Пара моих тестов показала, что значение rb остаётся null после start. Rigidbody на тело нацеплен, само тело указано (но и до введения public GameObject было всё тоже самое)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MainHeroContr : MonoBehaviour
{
    public float speed = 1f;
    public float force = 1f;
    bool isGround = true;
    public GameObject srcrb;
    Rigidbody rb;
    void start()
    {
        rb = srcrb.GetComponent<Rigidbody>();
    }
    void OnTriggerStay(Collider col)
    {
        if (col.tag == "ground") isGround = true;
    }
    void OnTriggerExit(Collider col)
    {
        if (col.tag == "ground") isGround = false;
    }
    void Update()
    {
        if (Input.GetButton("moveRight"))
        {
            transform.Translate(transform.right * speed);
        }
        if (Input.GetButton("moveLeft"))
        {
            transform.Translate(-transform.right * speed);
        }
        if (Input.GetButton("moveForward"))
        {
            transform.Translate(transform.forward * speed);
        }
        if (Input.GetButton("moveBack"))
        {
            transform.Translate(-transform.forward * speed);
        }
        if (Input.GetButton("Jump") && isGround)
        {
            print(rb);  
        }
    }
}
Answer 1

Замените void start() на void Start().

Start у MonoBehaviour с большой буквы должен быть. Впрочем, по конвенции, все методы должны именоваться с большой буквы.

READ ALSO
Один проект является поддоменом другим?

Один проект является поддоменом другим?

MVC CORE 21; У меня есть два проекта Web ( основной проект, в нём есть форум, блог

156
Источник данных. Не видит нового поля

Источник данных. Не видит нового поля

Добавил в объект новое поле, объект используется как источник данных для RDL отчета, приложение на winformsИспользовал все доступные мне танцы...

89
Ошибка при переопределении setter

Ошибка при переопределении setter

Ошибка "Несогласованность по доступности" на "SpeedVector" у "public Vector SpeedVector"

138