Здравствуйте, коллеги.
По просьбам заинтересованных я написал скрипт, упрощающий создание IES на основе каустики, описанный здесь . Теперь всё гораздо проще!
Качаем скрипт и перетаскиваем его в окно макса. Далее надо добавить его на панель инструментов. Заходим Customize -> User Interface ... -> Toolbars -> Category = #PankovScripts -> перетащить на панель "IES from caustics generator" -> запускаем:
(Внимание!!! обновилась версия скрипта. Теперь версия 1.2b . История изменений здесь . Статья написана на старую версию скрипта 1.0bК сожалению проект остался не завершённым, но для выполнения задач вполне приемлемо)
Теперь я рассмотрю создание IES скриптом для встроенного светильника с отражателем и хрустальными свесами . Хочу отметить, что алгоритм действий может варьироваться в зависимости от ситуации и требуемого результата. Есть простор для экспериментов. Возможно я сам спустя некоторое время изменю методологию, но пока так:
Здесь есть некоторые особенности. Нам необходимо сделать расчёт каустики вместе со светильником и отражателем, и убрать все непрозрачные детали на свесах (они потом в сцене добавят свои тени, хотя можно и тени запечь, тогда светильник прийдётся вообще исключать из отбрасывания теней). Потом скрыть светильник, сохранить каустику в файл и запустить скрипт на выполнение.
Делаем по-шагово (описывать сцену буду менее подробно, если будут вопросы читать здесь ):
1. Качаем светильник или похожий
2. Запускаем скрипт. Жмём Load scenes -> Render Caustic Scene -> Соглашаемся с изменением гамма коррекции "Adopt file's gamma..." -> удаляем тестовый образец светильника в сцене.
3. Мерджим светильник в сцену. Оставляем только один.
4. Выравниваем в начало координат таким образом, что бы камера оказалась в серединке стекляшек. А источник света необходимо поднять на место лампочки в отражателе.
5. У светильника оставляем только хрустали и отражатель. Отражатель выделяем из editPoly путём выделения по materialID=3 -> Инверсия выделения (Ctrl + I) -> Удаление.
6. Назначаем на них 2 материала соответственно один полностью прозрачный другой полностью отражающий. Они уже есть в редакторе материалов, можно просто перетащить на нужные объекты. На прозрачном материале НЕ должно стоять галочки "Affect Shadows"
7. Рендерим. При необходимости добиваеся приемлемого результата путём изменения параметра IOR в прозрачном материале и рендерим еще раз. Теперь не надо беспокоиться о пересветах. Карта рендерится с широким диапазоном.
Обращу внимание на яркий "забор" сверху рендера. Это отражатель, нам он не нужен в ИЕСке иначе можем получить в финале зайцев по сцене от чрезмерного освещения рефлектора. Поэтому танцуем с бубном:
8. Сохраняем карту каустики Render Setup -> GI -> Caustics -> Save To File...
Сразу отмечу, что такие манипуляции с сохранением каустики необходимо проделывать только в том случае если есть не прозрачные объекты. Для поностью прозрачных, можно сразу ренедрить в IES
9. Тут же меняем Mode = From File... и ниже указываем куда сохранили файл.
10. Скрываем всё кроме сферы и источника света. Выделяем сферу и ИС -> Инвертируем выделение Ctrl+I -> Правой кнопкой -> hide selection
11. В скрипте:
- по желанию забиваем/меняем данные светильника: Производитель, Модель, Тип лампы, Потребляемая мощность, Общий световой поток в люменах, Размер светильника в миллиметрах
- по желанию меняем детализацию IES файла, то есть разрешение рендеринга. Желательно в пропорциях 2:1, но можно произвольно.
- Жмём Create IES... -> указываем куда сохранить -> ждём завершения.
ГОТОВО!!!
Теперь протестируем как удачно у нас получилось. Желательно открыть новый макс.
В скрипте: Load scenes -> Render Test Scene
1. В источнике света указываем нахождение файла IES. Пробуем...
Теперь посмотрим как будет смотреться с геометрией:
2. Из скаченного архива снова добавляем светильник, снова выравниваем в начало координат, чуть скорректировав высоту потолка под светильник.
3. Теперь источник света должен быть на месте где была камера, то есть не в отражателе, а по серединке хрусталиков. Иначе не получится нужного эффекта.
4. Рендерим и смотрим. Если что-то не нравится, возвращаемся в незакрытый макс и корректируем. Менять можно IOR хрусталиков, степень отражения рефлектора, геометрию, положение и размер ИС и т.д.
Для сравнение с простым источником света
Таким образом видим, что отражатель сформировал пучёк света на полу.
Если блики кажутся слишком контрастными, можно поиграть с размером ИС, сожержащего IES. Например на рендере ниже я увеличил размер с 5мм до 30мм (В отличии от короны, в вирее, это повлияет только на тени, карта IES при этом размываться не будет. Поэтому придётся варьировать размер светильника при расчёте каустики):
Всех заинтересованных прошу тестировать и рапортовать о багах в комментариях или в личку. А так же высказывайте свои пожелания.