Как изменить цвет материала/текстуры в Unity, после импорта модели из Блендера?

Делаю всё как в видео, и на 10.22 вручную регулируют цвет. Но у меня по каким-то причинам эта функция не активна, как и все остальные. Не реагирует. Как сделать, чтобы реагировала?
Отслеживать
Artik Slayer
задан 28 янв 2019 в 10:24
Artik Slayer Artik Slayer
808 1 1 золотой знак 14 14 серебряных знаков 41 41 бронзовый знак
Нужно извлечь текстуры и материалы вашей модели. В данном видео подробно все описаноenter link description here
11 фев 2019 в 20:11
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Выбираем модель и выбираем вкладку Materials . Затем в строке Location выставляем Use External Materials (Legacy) . После чего подтверждаем изменение настроек кнопкой Apply .

Как я понял, этим действием Unity создаёт отдельную папку и выкидывает туда наши материалы/текстуры из модели.
После этого можно изменить цветовую гамму нашего материала/текстуры по вашему усмотрению.

Я перевёл цвет в белый, в следствии чего — модель приобрела свой первоначальный цвет.
Как изменить цвет объекта из скрипта?
Нубский вопрос, но чет не могу понять в чем проблема..
Нужно сделать так, что бы периодически менялся цвет появляющихся объектов. Спавню различные объекты по нажатию ЛКМ, и даю ссылку на префаб объекта в этот скрипт (это тестовый скрипт):
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour < public GameObject Cube; public int ColorIndex = 1; void FixedUpdate() < if(ColorIndex == 1) < Cube.GetComponent().material.color = Color.red; ColorIndex++; > else if(ColorIndex == 2) < Cube.GetComponent().material.color = Color.green; ColorIndex++; > else if(ColorIndex == 3) < Cube.GetComponent().material.color = Color.blue; ColorIndex-=2; > > >
Но получаю такую вот ошибку:
NullReferenceException: Object reference not set to an instance of an object
Test.FixedUpdate () (at Assets/Scripts/Test.cs:21)
В инспекторе поле непустое, проверял
Вроде я так делал раньше, и всё работало, но сейчас почему то не работает.
Как можно решить эту проблему?
- Вопрос задан более года назад
- 829 просмотров
5 комментариев
Простой 5 комментариев
Как изменить цвет объекта в Unity3d?
Пробовал изменить цвет разными способами, никак не мог взять компонент image, чтоб напрямую изменить цвет. Нашёл несколько вариантов, из них +- нашёлся тот, который не выдавал ошибок, но всё равно ничего не происходит. Мне нужно, чтоб в зависимости от уровня менялся цвет изображения. Что я не так делаю?
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class LevelClick : MonoBehaviour < public int Lvl; public int LvlNext; public int N; public GameObject Player; public GameObject Krug; public void Start() < Lvl = CharController.LVL; >public void OnMouseDown() < Debug.Log("Нажатие на кнопку уровня"); if (Lvl == LvlNext) < SceneManager.LoadScene(N); >> public void Update() < if (Lvl >LvlNext) < Krug.GetComponent().material.color = Color.white; Debug.Log("смена на белый цвет кружка"); > if (Lvl < LvlNext) < Krug.GetComponent().material.color = Color.black; Debug.Log("смена на черный цвет кружка"); > > >
- Вопрос задан более трёх лет назад
- 14598 просмотров
7 комментариев
Простой 7 комментариев
Редактирование свойств
Properties (свойства) — параметры и опций компонентов, которые можно редактировать в инспекторе.

Свойства можно широко разделить на категории ссылки (связи с другими объектами и ассетами) или величины (числа, флажки, цвета и т.д.).
Ссылки
Ссылки могут быть назначены путём перетягивания объекта или ассета подходящего типа на соответствующий пункт в инспекторе. Например, компоненту Mesh Filter надо сослаться на ассет Mesh где-то в этом проекте. Когда компонент только создан, ссылка ещё не назначена:

… но вы можете назначить ему Mesh путем перетягивания ассета-меша на него:

Вы также можете использовать Object Picker , чтобы выбрать объект и связать его со свойством. Если вы щелкните на значок небольшого круга в правой части свойства в инспекторе, вы увидите подобное окно:

Object picker(выбор объекта) позволяет искать и выбирать объекты в сцене или в ассетах проекта (информационные панели в нижней части окна можно поднимать и опускать по желанию). Для выбора объекта на свойство-ссылку, просто необходимо дважды нажать на него в Object Picker.
Когда свойство-ссылка относится к компоненту типа (например Transform), вы можете поместить в это свойство любой объект; Unity определит первый компонент этого типа встречающийся в этом объекте и назначит на ссылку. Если у объекта не обнаружится компонентов подходящего типа, назначение будет прервано.
Значения
Большинство значений редактируются с помощью знакомых текстовых полей, флажков и меню, в зависимости от их типа (для удобства, числовые значения можно увеличивать и уменьшать, двигая мышью вверх и вниз зажав кнопку мыши на названии опции). Тем не менее, есть некоторые значения более сложных типов, которые имеют свои специфические редакторы. Они описаны ниже.
Цвета
При клику по цветовому свойству, откроется Палитра цветов ( Color Picker ).

Unity использует собственную систему цветовой палитры, но на Mac OS X вы можете выбрать системную систему из меню Preferences(меню: Unity > Preferences и затем Use OS X Color Picker из панели General).
Градиенты
В графике и анимации, зачастую полезно иметь возможность смешивать какой-нибудь цвет с другим градиентом, спустя пространство и время. Градиент ( gradient ) — это визуальное представление развития цвета, которое отображает главные цвета (которые называются stops и все промежуточные оттенки между ними:

Стрелки направленные вверх по низу полосы градиента указывают остановки (stops). Вы можете выбрать остановку нажав на неё; её значение будет показано в ячейке Color, которая откроет стандартную цветовую палитру при нажатии на ячейку. Новую остановку можно создать просто нажав немного ниже полосы градиента. Позиция любой остановки может быть изменена путём нажатия на неё и перетаскивания на новую позицию, а удалить остановку можно комбинацией клавиш ctrl/cmd + delete .
Стрелка направленная вниз немного выше полосы градиента также указывает на остановки, но он соответствуют альфа-каналу (прозрачность) градиента в этой точке. По умолчанию, есть только 2 остановки, с альфа-каналом 100% (т.е. полная видимость), но можно добавлять ещё остановки и изменять тем же способом, что и цветовые остановки.
Кривые
Curve (кривая) представляет собой линейный график, который показывает реакцию (на оси Y) на изменение значений при вводе данных(на оси X).

Кривые используются в различных контекстаx в Unity, особенно в анимации, и имеют множество различных вариантов и инструментов. Они объясняются на странице руководства — Editing Curves.
Массивы
Когда в скрипте имеется массив в качестве публичной переменной, инспектор покажет редактор значений, который позволяет редактировать как размер массива, так и значения или ссылки в нем.

При уменьшении свойства Size, значения в конце массива будут удалены. При увеличении размера массива то, что находится в последнем элементе будет скопировано во все новые элементы. Это может быть полезно при настройке массива, значения которого в основном совпадают — вы можете установить первый элемент, а затем изменить размер, чтобы скопировать его во все остальные элементы.
Редактирование нескольких объектов одновременно
Если вы выбрали два или более объекта, их общие компоненты могут быть изменены вместе (т.е. значения, которые вы добавите, будут скопированы во все выделенные объекты).
Когда значение свойств является одинаковым для всех выбранных объектов, то значение будет показано, но в противном случае, оно будет показано в виде знака тире. Только компоненты, общие для всех объектов будут видны в инспекторе. Если выбранный объект имеет компоненты, которые не присутствуют у других объектов, инспектор покажет сообщение, что некоторые компоненты скрыты. Контекстное меню свойства (открывается правым щелчком по имени свойства) также имеет опции, что позволяет вам установить значение любого из выбранных компонентов.
Обратите внимание, что вы также можете редактировать сразу несколько выбранных префабов(prefab), но кнопки Select, Revert и Apply не будут доступны.