Розовая текстура во время выполнения в единстве - PullRequest
0 голосов
/ 08 мая 2018

При создании сетчатого фильтра во время выполнения на Android модель становится розовой и в редакторе единства работает нормально Я прикрепил материал, как это

MeshRenderer renderer = gameObject.AddComponent<MeshRenderer>();
MeshFilter filter = gameObject.AddComponent<MeshFilter>();
Texture white = new Texture();

filter.GetComponent<MeshFilter>().transform.localScale = new 
Vector3(0.0009f, 0.0009f, 0.0009f);
filter.GetComponent<MeshRenderer>().material.color = Color.white;

1 Ответ

0 голосов
/ 08 мая 2018

розовый означает "у меня нет материала"

Вот, вероятно, где ваша проблема:

filter.GetComponent<MeshRenderer>().material.color = Color.white;

устанавливает цвет материала на сетке визуализации.

Вы должны сначала дать материалу рендеринга сетки. Попробуйте это:

MeshRenderer renderer = gameObject.AddComponent<MeshRenderer>();
MeshFilter filter = gameObject.AddComponent<MeshFilter>();
Material = mathew;     //---This is our material, mathew.

mathew = new Material(Shader.Find("Standard"));  //--- first we construct mathew
mathew.color = color.white;  //--- then we give mathew some color

filter.GetComponent<MeshFilter>().transform.localScale = new 
Vector3(0.0009f, 0.0009f, 0.0009f);
filter.GetComponent<MeshRenderer>().material = mathew; //finally we attach mathew to his new friend, MeshRenderer.

Существует более простой способ сделать это, используя публичные переменные, но кажется, что вы генерируете все свои вещи на лету. Так что я пошел с этим.

Дайте мне знать, работает это или нет. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...