#unity3d
#unity3d
Вопрос:
Вот мой код:
root_level1.GetComponent<Renderer>().material.EnableKeyword ("_NORMALMAP");
Texture tex = Resources.Load("book-cover-1-glitched-23-11-2020-8-35-56-pm") as Texture;
root_level1.GetComponent<Renderer>().material.mainTexture = tex;
Комментарии:
1. В чем ваша проблема?
2. Извините. Текстура не отображается на объекте при запуске.
Ответ №1:
- Чтобы изменить текстуру материала во время выполнения, вы должны изменить ее, получив доступ к свойствам шейдера. Прежде всего, вы должны проверить эти свойства в коде шейдера или в свойствах шейдера в инспекторе Unity. Если вы хотите проверить код шейдера, ваша цель — блок «свойства»:
Или вы можете выбрать шейдер в редакторе Unity и проверить окно инспектора:
- Итак, чтобы изменить базовую текстуру RGB, мы должны изменить свойство «_MainTex», а для изменения цвета мы должны изменить свойство «_Color».
Я приведу ваш пример, который будет выглядеть так:
root_level1.GetComponent<Renderer>().material.SetTexture("_MainTex", tex);
Комментарии:
1. спасибо за подробный ответ. Я использовал приведенный выше код, и он все еще не показывает текстуру при запуске.
2. я должен также добавить, что объект, который я пытаюсь изменить текстуру, также генерируется во время выполнения.