Unity Fade In / Out IndexOutOfRangeException - нерегулярная ошибка

Я использую скрипт 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 на высокой частоте, и ничего не произошло. Разочарованный, я хотел снять гарнитуру, и когда я положил свои контроллеры, она снова рухнула. (Он находится на сенсорном триггере и, следовательно, легко запускается.)

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

,

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

Отладить все

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

0 ответов

Другие вопросы по тегам