2 заметки с тегом

текстурирование

HDR освещение

24 января 2013, 23:59

Последнее время часто задают вопросы на тему HDRi, как я использую эти текстуры и где я их беру.

Итак, где я их беру.

Я уже писал, что я их нигде не качаю. Мы их создаем сами долгим, муторным способом (половину приходится выкидывать). Есть, конечно, способы проще, но в них надо вложить не один десяток тысяч рублей. Итак, как бы то ни было, панорамы мы создаем сами и даже продаем их на специально для этого созданном сайте sky-HDRi.net. Можно купить панорамы и в зарубежных магазинах, типа 3docean.net, но там они дороже на 6-8$ — это раз, и их нужно будет использовать вместе с другим источником света, типа VraySun — это два (а потом попробуйте повернуть HDR и солнце синхронно). И еще одна главная их проблема в том, что они там не светят нихрена, ну то есть чётких теней от объектов там не увидеть. Для примера, вот статья Бертрана Бенуа, где он описывает, как нужно извратиться, чтобы тени стали слегка чётче.

Мы же с Толей нашли способ делать наши HDRi-текстуры самодостаточными. Им не надо никаких дополнений и танцев с бубном, поэтому их очень просто использовать.

Как их использовать.

Я очень подробно постарался показать в этом видео. Для примера взята сцена, поставляемая с каждой нашей панорамой. Если вы не покупали наших панорам, можете скачать эту сцену, но там не будет текстур.

Как физически корректно настроить свет.

Никак. Но можно настроить его правильно и пропорционально. Для этого нужно сначала создать и настроить VrayPhysicalCamera. Настройки такие же как на реальном фотоаппарате — берете стандартные для нужного типа освещения настройки. Если солнечный день, настраиваю так: диафрагму f=8 или 5,6. Shutter Speed (выдержка) = 1/200. ISO в реальном фотоаппарате лучше не завышать, потому что это влияет на шум матрицы, поэтому оставляю по привычке не больше 200.

В Вирее нет понятия дроби, только десятичные знаки, поэтому поле для значения выдержки они уже заранее подготовили в -1 степени, поэтому нужно вбивать только знаменатель. Хотите выдержку 1/250 сек. — вбиваете 250 и т. д.

После того, как настроили камеру, вставляем VrayLight в режиме Dome, и там подбираем значение Multiplier так, чтобы смотрелось корректно для данных погодных условий и времени дня. Так как само по себе значение Muiltiplier — неведомая условная единица, а на силу света влияет качество текстуры, то настроить свет физически корректно невозможно.



Если возникнут вопросы, задавайте в комментариях, попробую ответить.

Послойное наложение текстур

20 марта 2011, 2:47

Допустим, нужно затекстурировать вот такое здание:


Одной из его особенностей является то, что при одном и том же покрытии швы (руст) имеют разных шаг, рисунок и толщину. На основной стене — кирпичная кладка, на пилястрах —горизонтальный руст с большим шагом. В данной заметке я опишу действия, которыми нанесу текстуру штукатурки и отдельно (поверх нее) нанесу сверху швы. Так будет удобнее и быстрее подобрать оптимальный шаг руста без перерисовки и масштабирования основной текстуры штукатурки.

Краткое содержание действий:

  1. Создание основного материала штукатурки
  2. Создание Bump-текстур: кирпичная кладка и руст на пилястрах
  3. Послойное наложение Bump-карты руста на Bump-карту штукатурки.
  4. Затемнение Diffuse-карты штукатурки в местах швов.
  5. Наложение модификаторов на объект.

Материал штукатурки не представляет собой ничего особенного. VrayMtl, на который назначены текстуры в слоты Diffuse и Bump.

В каждой из текстур необходимо поставить галку Use Real-World Scale и указать реальный размер текстуры (в данном случае 10000х5000 мм). Так же важно назначить канал этой текстуре (Map Channel), например 10.
Точно такие же действия проделываем для Bump-карты, Map Channel тот же — 10.

Изначально я делал его процедурной картой Tiles, но, несмотря на наличие параметра Noise, у меня не получилось создать правдоподобной карты.
Итак, нарисовано 2 карты — кирпичная кладка и широкий руст.

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

Как было сказано выше, я собираюсь наложить Bump только что нарисованного руста на уже наложенный Bump штукатурки, а так же сымитировать швы, затемнив ее Diffuse-карту Bump-картой руста. Причем в результате каждый из них будет управляться отдельно, своим модификатором UVW Mapping.

Этого можно добиться с помощью карты VrayCompTex. Эта карта-плагин работает так же как и режимы смешивания слоев в фотошопе, такие как Multiply, Screen и т. д. То есть умножает (AxB), складывает (A+B), вычитает каналы цветов. Ниже показан пример работы этого плагина.

Пока Bump-карту штукатурки вырезаем: ПКМ → Cut. Вместо нее назначаем VrayCompTex. Возвращаем вырезанную карту в первый слот (это будет основа): ПКМ → Paste (Instance). В нижний слот назначаем нарисованную карту руста. Указываем ей свой канал, отличный от того, что указан штукатурке (я указал 11). Исходя из вышеперечисленных примеров работы карты VrayCompTex понятно, что в данном случае стоит указать режим смешивания текстур Minimum.

Обращу внимание на то, что на рисунке в слоте Source A назначена карта Color Correction. Это сделано для того, чтобы сократить количество используемых текстур, а значит и используемой памяти. Из Diffuse-карты штукатурки, например, можно сделать Bump-карту или просто отредактировать ее яркость, не открывая никаких графических редакторов и не сохраняя дополнительных карт. Управление этой картой-плагином очень простое, поэтому я не буду описывать параметры.

Получилась такая схема материала:

Для читателей, у которых еще не вскипел мозг, имеется бонус. Чтобы сгладить углы пилястр, я применяю метод, описанный в предыдущем уроке — наложение дополнительным слоем процедурной карты VrayEdgesTex. Этого можно добиться, смешав ее с только что созданной «группой слоев». Смешивать будем опять же картой VrayCompTex.

Для этого вырезаем эту созданную группу из слота Bump: ПКМ → Cut.

Назначаем на ее место новый VrayCompTex. Вставляем в слот «Source A» вырезанную группу ПКМ → Paste (Instance). А во второй слот «Source B» назначаем карту VrayEdgesTex. В ней указываю World Units: 10. Режим смешивания — Maximum:

Так выглядит итоговая схема слота Bump:

Такие же шаги (за исключением бонусной части) проделываем для Diffuse-карты, чтобы затемнить швы руста. Каналы (Map Channel) должны соответствовать назначенным ранее, то есть для текстуры штукатурки — 10, для текстуры швов — 11. Так же можно попробовать разные режимы смешивания текстур, например, Multiply.

Материал готов, осталось назначить по модификатору UVW Mapping для корректировки положения каждого из слоев. Первый — с параметром Map Channel 10 и активной галкой Real-World Map Size (так как мы заранее указали ее размер), он будет контролировать положение текстур штукатурки. Второй — модификатор с параметром Map Channel 11 и регулируемым размером в режиме Box. Такой режим выбран потому что я хочу подобрать оптимальный размер текстуры.

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

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

Примечание.
В ЖЖ мне подсказали, что вместо VrayCompTex карты проще и функциональнее использовать стандартную (с 2009-й версии 3dsmax) карту Composite. Работает так же, как режимы смешивания как в Фотошопе.