У меня есть Texture2D
, который можно создавать и изменять размер, а также быстро уничтожать в зависимости от ввода ключа пользователя.Unity3D Texture2D.Resize приводит к ошибке: afterDecrement> = 0
Если я быстро ударил ключи, чтобы уничтожить/создать текстуру я иногда получаю ошибки, очевидно, вызванную текстурой:
afterDecrement >= 0
UnityEngine.Texture2D:Resize(Int32, Int32)
Кто-нибудь знает, что это значит и как это исправить?
Такое сообщение обычно является неудачным утверждением в внутренних единицах Unity. В этом случае похоже, что текстура жалуется, что ее ширина или высота равна 0. В зависимости от того, что вы делаете, это может означать, что вы изменяете размер удаленной текстуры или изменяете размер существующей текстуры с плохими параметрами. – rutter
Спасибо за информацию! Я думаю, что в Unity обычно не нужно уничтожать объекты и позволить Destroy (gameObject) позаботиться обо всем этом? У меня такое чувство, что попытка утилизации дочерних объектов, графиков и т. Д. Вручную приведет к таким ошибкам. Извините, я немного параноик утечки памяти. – BadmintonCat