Unity Fade In / Out IndexOutOfRangeException - нерегулярная ошибка - PullRequest
0 голосов
/ 23 февраля 2019

Я использую скрипт FadeObjectInOut из вики (http://wiki.unity3d.com/index.php/FadeObjectInOut)

. Он прикреплен к двум различным объектам (каждый), которые срабатывают по отдельности. Он разрешится в

IndexOutOfRangeException: Array index is out of range.
FadeObjectIO.SetNewColor (UnityEngine.Renderer[] rendererObjects, Int32 i) (at Assets/Scripts/FadeObjectIO.cs:132)

Он ссылается на строку

Color newColor = (colors != null ? colors[i] : rendererObjects[i].material.color);

..., которая пыталась экспортировать как функцию и все еще вызывает ту же ошибку. Весь фрагмент кода использует IEnumerator.

Из-за того, что это происходит только время от времени, я полностью сбит с толку. Я не могу спровоцировать это, вызывая события одновременно, я не могу спровоцировать это, мигая между fadeOut и unInочень быстро.

В качестве решения я попробовал кое-что из Интернета, а также «Как избежать» этого вопроса: Что такое IndexOutOfRangeException / ArgumentOutOfRangeException и как я могу это исправить?

В прошлый раз я включил / выключил мой триггер Oculus на высокой частоте и ничего не произошло. Разочарованный Я хотел снять гарнитуру и, когда я опустил свои контроллеры, она снова рухнула.e Сенсорный триггер и, следовательно, легко быстрый запуск.)

Я больше не могу помочь себе ... Спасибо за любой совет

.

РЕДАКТИРОВАТЬ: ниже выдаваемой ошибки +код отладки.После исчезновения рендереры становятся включены = false.Поскольку мы находимся в цикле while, для меня это не имеет особого смысла, хотя, возможно, точка уже исчезла (и ее рендеринг был деактивирован), что является ошибкой для массива - потому что он не получает никаких изменений.Хмммм.

Отладка всего

Редактировать: новое состояние

...