Часть нодов материала – общие для нескольких объектов.

Главная Форумы Материалы и текстуры Часть нодов материала – общие для нескольких объектов.

В этой теме 12 ответов, 3 участника, последнее обновление  frankslade 2 года/лет, 2 мес. назад.

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Автор
    Сообщения
  • #6630

    frankslade
    Участник

    Друзья, добрый день!

    Говорим о Cycles.

    Предположим, есть сцена с двумя кубиками.

    Сейчас каждый кубик имеет свой собственный материал, состоящий из:
    1. основного цвета (оранжевый)
    2. своя текстура (“текст1” и “текст2”)

    Вопрос: можно ли сделать так, чтобы основной материал (оранжевый) у них был общим, а текстуры остались персональными? Согласитесь, если я захочу изменить оранжевый на, скажем, фиолетовый, мне придется изменять это для каждого кубика. В случае, если в сцене их штук 20 – это проблема…

    #6631
    Артем Слаква
    Артем Слаква
    Хранитель

    Можно! Именно так всегда и делают. Почему у Вас это вызвало затруднение? Пробовали задать один и тот же материал двум кубикам?

    #6632

    frankslade
    Участник

    Артем, конечно пробовал. :)

    Но что делать с текстурами, которые должны быть свои у каждого кубика?
    Давайте я расскажу, как я поступаю сейчас, я вы меня ткнете рожей, где логика хромает:

    1. Делаем куб
    2. Создаем ему материал, который состоит из двух групп нодов:
    – первая группа – сам материал куба, шейдеры Diffuse, Glossy, что-то еще.
    – вторая группа – текстура. Texture coordinate (UV) -> Image texture (имя файла с текстурой) -> шейдер Diffuse, Glossy или что-то еще

    Обе группы мешаются шейдером Mix и его выход подается на Surface.

    3. Делаем второй куб.
    4. Вешаем на него материал, созданный для первого куба.
    5. А вот и вопрос: для второго куба у меня другая текстура. И если я поменяю имя файла с текстурой в ноде Image texture – то новая текстура применится и к первому кубу – материал-то общий!

    Конечно, при работе с материалом второго куба я могу кликнуть на поле с циферкой рядом с именем – создастся новый экземпляр материала, который будет назначен только второму кубу. Но это не выход – если в сцене будет 20 кубов и я захочу корректировать первую группу нодов – мне придется это делать для 20 независимых материалов.

    Извините, что много букв. :)

    #6633
    Артем Слаква
    Артем Слаква
    Хранитель

    Вам нужно создать три материала:

    • Один общий для всех кубиков
    • Один с одной текстурой
    • Один с другой текстурой

    А у Вас и цвет куба и его текстура относятся к одному материалу, что в данном случае не приемлемо.

    Но это не единственный выход. Вот есть отличный урок, в котором с помощью одного материала задают 9 текстур и 9 цветов для любого количества объектов.

    Каким способом пойти – решать Вам.

    #6634

    frankslade
    Участник

    Спасибо за ссылку на урок и советы – ушел изучать.

    #6636

    frankslade
    Участник

    Артем, добрый вечер!

    Ни черта не получается. Я посмотрел урок – в принципе, понятно. Но сложно. Решил идти по первому из предложенному Вами пути и создать несколько материалов:

      Один общий для всех кубиков
      Один с одной текстурой
      Один с другой текстурой

    Проблема такая: делаю Assign материала “Один общий для всех кубиков” для всех фейсов кубика. Прекрасно. Но я знаю, что одному фейсу можно назначить только один материал. Соответственно, переназначив (с помощью того же Assign) материал “Один с одной текстурой” для нужных фейсов, получаю вполне предсказуемый результат: весь кубик оранжевый, а на фейсах с текстурой – текстура на черном фоне (потому что текстура с альфой и под альфой нет никакого материала).

    Я понимаю, что у меня дыры в самых основах материаловедения Блендера. :) Но если есть секунда – посмотрите исходник. Возможно, подскажете, куда “копать” далее.

    #6637

    frankslade
    Участник

    Пардон, я что-то не вижу ссылку на архив. Вот она: https://yadi.sk/d/78mMsYcSeiSEf

    #6638
    Артем Слаква
    Артем Слаква
    Хранитель

    Смотрите уроке о наложении текстуры с альфа-каналом. Например этот.

    #6641

    frankslade
    Участник

    Артем, я знаю, как накладывать текстуру с альфа-каналом. Дело в том, что в уроке про бамбук и текстура, и материал листа (шейдер Glossy нежно зелёного цвета) – в одном материале.
    Ноды листа бамбука
    В моем случае так делать нельзя. Вы сами писали об этом:
    А у Вас и цвет куба и его текстура относятся к одному материалу, что в данном случае не приемлемо.

    #6644
    Артем Слаква
    Артем Слаква
    Хранитель

    Сори, пример с бамбуком тут не годится, потому как текстура то ложиться, но грань у нас пропадает. В общем я сделал так:

    alpha channel

    Как видно есть два материала, один просто цвет, второй текстура. Если изменить общий цвет, то нужно скопировать этот цвет в нод MixRGB. При наличии 20-ти объектов на это уйдет пол минуты.

    #6645

    frankslade
    Участник

    О! Спасибо! Это уже хороший вариант.

    #6646

    nikita evtefeev
    Участник

    А через группу нодов?

    #6648

    frankslade
    Участник

    Друзья, спасибо всем за идеи. У меня, кажется, получилось решить задачу.

    1. Сделал материал кубика (понятно, что материал может быть любой сложности – можно играть не только цветом). Объединил ноды в группу:

    2. Добавил ноды с текстурой. Итоговый материал:

    3. Собственно, всё. Ко второму (третьему, четвёртому, …) кубику применяем полученный материал и делаем его уникальным для этого кубика (это важно, на каждом кубе у нас будут свои текстуры). В ноде Image Texture конкретного куба выбираем нужный файл с текстурой, предварительно сделав UV-развертку.

    Профит в том, что теперь можно открыть материал ЛЮБОГО кубика, залезть в группу основного материала и менять его настройки так, как нужно. Результат будет применён ко всем кубам (группа-то у нас одна на всех!). При этом текстуры у каждого останутся персональными. Бинго!

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)

Для ответа в этой теме необходимо авторизоваться.


О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.