У меня есть простой контроллер шагов, прикрепленный к моему объекту игрока. У него есть группа [SerializeField], которая представляет собой просто набор звуков шагов на разных поверхностях.
В моей функции void Awake () я вызываю этот код:
Debug.Log(sandClips[UnityEngine.Random.Range(0, sandClips.Length)]);
И это правильновозвращает один из 4 клипов в этом массиве с сообщением в консоли:
footstep_sand_run_01 (UnityEngine.AudioClip)
Но в этом же файле у меня есть другая функция, объявленная так:
public AudioClip GetRandomClip(Vector3 location)
и если я пытаюсь вызвать ту же самую строку кода, я получаю следующую ошибку:
NullReferenceException: Object reference not set to an instance of an object
Кажется, что почему-то я теряю этот массив звуков, как только выхожу из части Awake (),Что мне не хватает? Я не могу себе представить, что это что-то особенно сложное, но в этот час мой мозг в конце.
Спасибо!