NullReferenceException ‘Objectreferentie niet ingesteld op een instantie van een object’ unity 2D

Ik krijg een NullReferenceExceptionop deze regel:

animator.transform.position = Vector2.MoveTowards(animator.transform.position, patrolPoints[randomPoint].transform.position, speed * Time.deltaTime);

Hoe kan ik dit oplossen?

Hier is mijn code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PatrolBehaviour : StateMachineBehaviour
{
    private GameObject[] patrolPoints;
    public float speed;
    int randomPoint;
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        patrolPoints = GameObject.FindGameObjectsWithTag("patrolPoints");
        randomPoint = Random.Range(0, patrolPoints.Length);
    }
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
       animator.transform.position = Vector2.MoveTowards(animator.transform.position, patrolPoints[randomPoint].transform.position, speed * Time.deltaTime);
        if (Vector2.Distance(animator.transform.position, patrolPoints[randomPoint].transform.position) < 0.1f)
        {
            randomPoint = Random.Range(0, patrolPoints.Length);
        }
    }
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    }
}

Antwoord 1, autoriteit 100%

Nou, de fout “objectreferentie niet ingesteld op een instantie van een object” betekent dat u probeert toegang te krijgen tot iets dat momenteel leeg is.
Om dit te proberen te repareren, zorg er dan voor dat al uw variabelen waarden hebben ingesteld en niet null.

Other episodes