Я получаю исключение нулевого указателя при попытке изменить цвет текстуры из другого скрипта.
NullReferenceException: Object reference not set to an instance of an object
Работает, если в том же файле.
SwapColor(myTex, Color.black, Color.green,1f);
Дает исключение нулевого указателя
//PartsColorCustomizer.Instance.SwapColor(myTex, Color.black, Color.green, 1f);
Это метод, который я пытаюсь вызвать в другом классе с именем PartsColorCustomizer
public void SwapColor(Texture2D tex, Color original, Color swap, float threshold)
{
for (int x = 0; x < tex.width; x++)
{
for (int y = 0; y < tex.height; y++)
{
Color col = tex.GetPixel(x, y);
bool r = Mathf.Abs(original.r - col.r) <= threshold;
bool g = Mathf.Abs(original.g - col.g) <= threshold;
bool b = Mathf.Abs(original.b - col.b) <= threshold;
bool a = Mathf.Abs(original.a - col.a) <= threshold;
if (r && g && b && a)
{
//tex.SetPixel(x, y, swap);
}
if (col == Color.white) {
tex.SetPixel(x, y, swap);
}
if (col == Color.magenta)
{
tex.SetPixel(x, y, swap);
}
}
}
tex.Apply();
}
, который я настроил, например,
void Awake()
{
if (_Instance != null)
{
_Instance = this;
//LoadJson();
}
}