В данном уроке показан способ использования различных текстур одним материалом. С его помощью можно работать как с одним изображением (текстурой) так и с несколькими.
Результат
Для достижения данного результата использовалось лишь данное изображение:
С помощью нода ColorRamp генерируется 9 различных цветов. В данном примере это оттенки серого цвета:
К входу Fac нода ColorRamp подключается выход Random нода Object Info. Таким образом для каждого объекта генерируется случайный цвет.
Далее выполняется UV-развертка объекта (в данном примере куба), изображение с текстурой загружается в нод Image Texture и с помощью нода Mapping указываем какую часть текстуры использовать (изменяя значения Location X и Y):
Повторяем процедуру еще 8 раз, чтобы создать 9 изображений:
Затем с помощью нода Mix происходит смешивание текстуры и случайного цвета нода ColorRamp.
Также к входу Fac нода Mix подключаем Alpha канал текстуры.
Теперь необходимо для каждого объекта определить одну из девяти пар.
Для этого создается еще 8 нодов ColorRamp и 8 нодов Mix. Первый нод ColorRamp имеет константную интерполяцию разбитую на 9 частей. Первая часть закрашена черным цветом, остальные 8 — белые (соотношение 1:8). И так с шагом в единицу, количество черного цвета увеличивается до 8:1.
К входам Fac нодов ColorRamp снова подключается выход Random (нод Object Info). Выход нодов ColorRamp подключается к входу Fac нода Mix. К первому ноду Mix подключаются две первых пары, а далее результат работы Mix + следующая пара.
Последний нод Mix подключается к входу нода Diffuse:
Финальная настройка нодов:
круто
очередной полезный урок, молодцы! Я ваш сайт уже даже не закрываю, он у меня постоянно открыт, всегда что то новое, или вспомнить старое, что забывается….
А вы можете дать развернутый комментарий по такому уроку http://cgcookie.com/blender/2013/10/10/compositing-smoke-simulations-cycles-renders/, я думаю он будет полезен для людей?
Данный урок станет не актуальным с выходом Blender 2.71 (ожидается в середине-конец мая).
P.S. Спасибо за похвалу (:smile:)
Я что-то пропустил? Почему не актуален?
По сабжу: будет трудно делать рампы для больших размеров. Проще сделать так:
1) random даёт число от 0 до 1.
2) random — (random mod 0.(3)) даёт случайно либо 0, либо 0.(3), либо 0.(6). (mod — взятие остатка от деления). Это число используем для смещения текстурных координат по X.
3) (random mod 0.1) * 10 даёт другое случайное число. Это число пропускаем по второму шагу и получаем смещение для Y.
В твиттере CGCookie читал, что в 2.71 будет нормальная поддержка огня и дыма в Cycles.
Ну насчет трудно не знаю, но то, что есть другие способы, то это только плюс. А там каждый определится для себя, что ему удобнее/проще.
Недавно начал осваивать ноды и только сегодня пытался представить, как бы заставить случайным образом располагаться текстуры на объектах. Вопрос не праздный, так как ситуация довольно часто встречается при моделировании интерьера: укладка кафельной плитки, поклейка обоев, укладка ламината и т.д. Спасибо за урок. Обязательно будут пробовать.
Для интерьеров есть дополнений с похожим функционалом, вот в любительском журнале FPS стали публиковать интересные дополнения к Blender, в последнем номере есть несколько интересных
http://fps-magazine.cf
Что за нод Object Info? Где его взять?
О! Нашел!
да где он?????
да где он???
Просто нужно разобраться с настройками BLENDER – выбрать правильное меню перед началом работы, и поставить галочки где нужно в режиме редактора нодов. Поищи уверен что найдешь. Я нашел за 10 минут, так как с нодами работаю редко.
я пока только это сделал :)
Красиво ))
Понравилось то, что сделал n.vtym — решил сделать что-то похожее))
Cмотрите, как сделать гораздо проще:
Получилось! Артем и Миша спасибо!
можно и так
Жаль, нельзя просто ноду рандом на координату текстуры повесить :(
А еще вопрос. В программировании, метод рандом выдаёт число от 0 до 1 (с :
если требуется получить случайное целое число в интервале от a до b, то формула выглядит так random() * (max — min) + min
Можно ли это как то использовать для случайного выбора текстуры/материала?
Сам спросил, сам и отвечаю.
Сделал нодами. Координата ювишки двигается по Y от 1 до 8
Текстура для теста прилагается.
Проверил — работает.
Таким макаром и по X можно сделать.
В отличии от урока, нодов раз в 10 меньше )
Вот файл
https://yadi.sk/d/0LQr73YJ3JPzrn
http://pixs.ru/showimage/SnimokPNG_4907345_26267227.png
Мой вариант. К сожалению смещение координат работает только по x и y одновременно, тоесть 1-1,2-2,3-3. Object.random в нескольких нодах возвращает одно и то же значение. Подождем, может seed добавят в этот нод. Поэтому текстуру нужно использовать с горизонтальным расположением картинок. Для случайного цвета все просто.
добавил на вход «масштаб» текстуры «волна»