Да, оказывается, действительно есть секретный ингредиент, которым в настоящее время пользуется лишь небольшая часть Blender сообщества.
Возможно вы уже смотрели видео, в котором рассказывается о фундаментальных принципах фотореализма. Но в сегодняшней статье речь пойдет о чем-то новом: динамический диапазон.
Перевод урока с сайта BlenderGuru
Вы можете не знать что это такое и как это влияет на ваши работы, но на самом деле это является причиной того, почему некоторые рендеры все еще не дотягивают до фотореализма, несмотря на точное моделирование и корректно настроенные материалы. Также вам приходится использовать различные читы для достижения реалистичного освещения.
Краткое описание сути
Если говорить о фотореализме, то стоит поговорить о камерах. В частности о том, как эти самые камеры видят свет.
Вы не можете сделать снимок камерой настроив экспозицию как для светлых, так и для темных областей одновременно. Вместо этого вы выберите что-то одно в качестве точки экспозиции, а также будете настраивать диафрагму, выдержку и ISO до тех пор, пока эта точка не будет находится где-то по средине (middle grey).
По этой причине, если вы кого-то сфотографируете и он будет выглядеть достаточно темно на фото, то выбрав его лицо в качестве точки экспозиции фон станет слишком ярким.
Либо вы производите настройку для фона и получаете темный передний план, либо настраиваете передний план и получаете слишком яркий фон.
Камера может видеть области за пределами выбранной точки («middle grey»), но только до определенного момента.
Количество света, которое она может видеть по обе стороны называется динамический диапазон (Dynamic Range) камеры. Чем больше диапазон, тем лучше изображение.
Различные камеры имеют различные объемы динамического диапазона, но лучше всего с этой задачей справляется ваше зрение. Ориентировочно мы видим от 15 до 20 (f-Stops).
Хуже всего с этой задачей справляется Blender. Он видит лишь 8… но, к счастью, мы можем это исправить!
Как динамический диапазон влияет на ваши рендеры
Представьте, что вам захотелось воссоздать сцену ниже в Blender:
Вы замоделили сцену, настроили материалы. А затем, когда дело дошло до освещения, вы выполнили все в точности, как и на референсе: один источник света — Солнце. Вы регулируете силу солнечного света, до тех пор, пока сцена не будет выглядеть достаточно ярко, а затем выполняете рендер, чтобы увидеть это:
Если сравнить рендер с эталонным фото вы можете увидеть, что визуализация значительно темнее, чем фотография.
На данном этапе большинство из нас начнет выполнять некоторые «уловки». Например, добавить дополнительные лампы внутрь помещения, чтобы компенсировать недостаточное освещение, или можно увеличение силу света неба, чтобы заполнить комнату светом.
Но это не имеет никакого смысла.
В эталонном фото, комната освещается только солнечным светом. Не требуется никаких читов. Так почему это не работает в Blender?
Это не работает из-за плохого динамического диапазона:
- В комнате темно, потому что солнечный свет не отскакивает от поверхности достаточное количество раз.
- Солнечный свет не отскакивает от поверхности достаточное количество раз, потому что он не достаточно яркий.
- Солнечный свет не достаточно яркий, потому что на стене уже и так сплошное белое пятно (куда еще ярче).
- Белое пятно на стене, потому что мы работаем в диапазоне 8 stops.
Поэтому, если вы можете увеличить динамический диапазон, то вы можете увеличить и силу солнечного света, что позволит увеличить количество отраженного освещения, которое даст нам идеальное освещение без каких-либо обходных путей!
Причина столь плохого динамического диапазона
К счастью, скудность динамического диапазона в Blender не связана непосредственно с ним самим. И если на то пошло, многие другие рендеры страдают от той же проблемы.
Причиной этого является конфигурация управления цветом (Color Management), которую использует Blender.
Также, как и фотоаппарат (цифровой, конечно же), когда Blender что-то создает, эту информацию нужно сохранить в виде 0 и 1. Для того, чтобы затем увидеть данную информацию на дисплее, она должна быть преобразована. И для этого он использует алгоритм преобразования цвета.
Но проблема заключается в том, что Blender использует трансформацию цвета sRGB. sRGB был изначально разработан с целью получения лучшего результата при использовании ЭЛТ-мониторов. Он никогда не был предназначен для рендеринга и никогда не должен использоваться для создания чего-то фотореалистичного.
Решение: Filmic Blender
Решение состоит в том, чтобы заменить стандартную конфигурацию sRGB на другую, под названием «Filmic Blender».
Filmic Blender был создан Troy Sobotka, профессионал и энтузиаст, который увидел эту проблему в Blender и захотел исправить ее. Поэтому, он написал Filmic Blender — аналогичную конфигурацию управления цветом для ACES, который является отраслевым стандартом для VFX.
Filmic Blender позволяет перейти с 8 до 25 f-Stops!
Это даже лучше чем звучит, на самом деле, так как каждое увеличение F-Stop является удвоением количества света. Это своего рода переход от набора из 256 мелков до 33 554 432 мелка :)
Это дает вам огромное количество дополнительной информации об освещении, чтобы играть с ней.
Так что теперь вы можете увеличить силу света до значений которые вам действительно нужны (в этом случае я поднялся до 130, вместо предыдущих 20)!
К этому всему Filmic Blender является абсолютно бесплатным. Я бы с удовольствием заплатили $200 за это, но Трой хочет помочь сообществу, поэтому он любезно сделал это бесплатно.
Даже лучше: Ненасыщенная экспозиция
Помимо 25 f/stops динамического диапазона Filmic Blender делает кое что еще: он дает вам ненасыщенную экспозицию.
Это позволяет имитировать эффект, присущий фильмам: по мере увеличения экспозиции, цвета будут становиться все более и более ненасыщенными.
Вы можете назвать данный эффект «техническим ограничением», но на самом деле это очень приятно для глаз. Многие производители фотокамер специально внедряют обесцвечивающие фильтры в прошивку аппарата, чтобы воссоздать этот эффект.
Вам не нужно ничего делать, чтобы убедиться в этом, просто используйте Filmic Blender и это произойдет автоматически :)
Установка Filmic Blender
- Скачайте Filmic Blender (выберите Download → ZIP)
- Извлеките содержимое архива
- для Windows: C:\Program Files\Blender Foundation\Blender\2.xx\datafiles
- для MacOS: blender.app/Contents/Resources//datafiles
- для Linux: /home/$user/.blender//datafiles
- Переименуйте существующую папку colormanagement на colormanagement_oldbackup
- Переименуйте только что разархивированную папку на colormanagement
- Откройте Blender и убедитесь, чтобы в меню Color Management у вас был следующий результат:
Использование Filmic Blender
- В меню View выберите Filmic Log Encoding Base
- В меню Look выберите Base Contrast (или low/high в зависимости от личных предпочтений или требований сцены)
- Наслаждайтесь более широким динамическим диапазоном!
Советы по использованию Filmic Blender
Совет №1: Используйте режим False Color, чтобы визуализировать экспозицию в вашей сцене.
Больше не нужно гадать, вышли вы за рамки диапазона цветов или нет. Цветовая карта даст вам четкое представление о происходящем в сцене:
- Черный: нижний предел
- Фиолетовый: -10 EV
- Синий: -7 EV
- Бирюзовый: -4 EV
- Зеленый: -2 EV
- Серый: 0 EV
- Зеленый: +2 EV
- Желтый: +4 EV
- Красный: +5.5 EV
- Белый: верхний предел
Совет №2: Забудьте о креативных видах которые вы раньше использовали в меню Look. Их не стоит использовать, так как они искажают данные о цвете в вашей сцене.
Вместо старых видов используйте нод Color Balance в режиме Offset/Power/Slope. Режим по умолчанию (Lift/Gamma/Gain) также искажает данные о цвете в вашей сцене.
Совет №3: Чтобы сохранить информацию о цвете, не используйте режимы смешивания: Multiply, Screen, Overlay, Darken, Lighten, Overlay, Dodge, Burn, HardLight, SoftLight или Difference.
Что?! Почему?
Да все по той же причине. Они исказят информацию об истинном цвете пикселя.
Вот такой вот Filmic Blender! Я собираюсь использовать его во всех своих уроках в обозримом будущем. Поэтому убедитесь, что вы установили его! :)
Если вам понравилась статья, пожалуйста, поделитесь ею с друзьями.
P.S. Вполне вероятно, что Filmic будет встроен уже в следующий релиз Blender (2.79).
Спасибо за оперативность! Буду пробовать.
А есть ли какие-то минусы у Filmic Blender? Или рендер с такими настройками в любом случае и при любых источниках освещения будет более проработанным и цветокорректным?
Если не нужен фотореализм, то и Filmic не нужен, ибо «[i]Ненасыщенная экспозиция[/i]» вряд ли кому-то нужна.
фотореализм это классно, спасибо за интересный урок.
Спасибо за перевод и подачу!
Артём, а ты будешь постоянно использовать Filmic Blender?
Как в уроках, так и для личных нужд? Или тебя этот момент малоинтересен?
Посмотрим, пока планирую, почему бы и нет. Штука действительно полезная.
Артем, я сделал как ты сказал, но фильмика нет((
Так же как у меня было. В общем ZIP папку прям из архиватора направляй, получится. У меня вышло
Артем, посмотри может я что сделал не так? версия 2.78
[i]»я сделал как ты сказал»[/i]
Ану, расскажи мне, как ты делал 4-й пункт?
ааааа… точно)))) сейчас попробую)))
Артем, все получилось))) видимо уже сплю))) внимательность на нуле))) кстати я тут как-то что-то спрашивал у тебя на канале. но вроде пока ответа не видел. с тобой еще как-то связаться можно? я чуть больше года в блендере, и в основном твоя заслуга. ну и метод тыка не прошел мимо)))
а..нее..эт не у тебя спрашивал))) сейчас посмотрел))) кстати тот вопрос уже решил. это по запеканию нескольких имейджей на одном меше в суслике
Артем, а еще вопросик динамический диапазон где выставлять?
Нигде.
— /home/$user/.blender//datafiles
++ ~/.config/blender/2.78/datafiles/colormanagement
Спасибо! Попробовал с Filmic
Подскажите пожалуйста по поводу первого совета, как включить режим False Color и увидеть карту освещенности?
Абзац Использование Filmic Blender данного урока.
Пункт 2. В меню Look выберите False Color.
И отрендерить.
делал, рендерится обычная картинка как при Base contrast
разобрался, в Ubuntu папка colormanagement лежит в /usr/share/blender//datafiles, с правами root 755, а я не на все файлы выставил нужные права.
И еще
Во, теперь отлично всё))
Это просто БОМБА!!!
Спасибо
Я видел исходник на английском, но не осилил.. Теперь всё понятно.
А в чём отличие от обычного понижения контрастности путём манипуляций с экспозицией и гаммой?
Можно добиться воистину больших размеров хдра (ведь в рендерах нет понятия динамики уровня, там чистые цифры без рамок)
И кстати о обесцвечивании — как минимум «RTT» и «Плёнка» его имеют.
Всем здрассте…
После просмотра видоса у Гуру, было решено провести эксперимент. Результат прикрепил.
Для «особо замечательных» поясню, создал подобную сцену, поставил Filmic без контраста чтоб получить симуляцию RAW. И тот же эффект дало уменьшение экспозиции + увеличение гаммы (в моём случае -4/+4) на стандартном sRGB. Удивительно, но факт! Дык зачем чёта устанавливать? Или я чего-то не понял?
Эксперимент проводился на одновременно открытых 2.78a(установлен Filmic) и 2.78b(sRGB стандарт).
тоже ВСЕМ привет!!!
АНОНИМ — разработчику плагина не пробовали задать вопрос? интересно, что ответит и F-Stop Blender — чем замерить?
Нет, разработчику не писал. У Гуру под его видео писал, но видимо из-за ссылки на эту картинку мой пост удалили.
Видимо не хотят вступать в полемику по типу фотографов — на что снимать лучше на пленку или на цифру ))
В любом случае Blender развивается, в нем появляются новые инструменты и это замечательно.
Чет все мыльным становится с этим фильмиком.
[q][i]Совет №3: Чтобы сохранить информацию о цвете, не используйте режимы смешивания: Multiply, Screen, Overlay, Darken, Lighten, Overlay, Dodge, Burn, HardLight, SoftLight или Difference.
…
Они исказят информацию об истинном цвете пикселя.[/i][/q]
Возможно ли использовать их в связке с узлом «[b]Gamma[/b]» для восстановления истинного цвета пикселя? Если да, то как (расположить «[b]Gamma[/b]» до/после «[b]MixRGB[/b]» и какое значение указать)?
Что мешает самому проверить? Ведь несколько секунд нужно, чтобы разместить нод до/после и посмотреть на цвет пикселя.
Артем — огромный респект вашей выдержке
это и про пиксель и про то, что все мыльное становится после Filmic Blender со слов Юрия Небесного, рендеры видать им лень делать, на буквы в постах время ток есть.
Артём, объясните, пожалуйста, в чём собственно заключается искажение цвета пикселя? Поэкспериментировал с двумя узлами (рекоммендуемым и нерекоммендуемым)… вроде цвет неискажён.
[i]»Артём, объясните, пожалуйста, в чём собственно заключается искажение цвета пикселя?»[/i]
Цвет будет обрезан при достижении верхнего или нижнего порога (0 или 1). Это произойдет потому, что формулы, по которым работают перечисленные режимы при определенных значениях цвета дадут значения больше 1 или меньше 0.
К сожалению, более точно сейчас ответить не могу, так как нет под рукой собственной книги по Cycles. Там есть все формулы работы данных режимов.
Очень полезная статья.
Никак не мог решить эту проблему.
Но благодаря этой статье всё стало понятно.
Спасибо за перевод. Смотрел видеоурок на английском, но на родном языке гораздо приятнее было прочитать
Попробовал на примере урока с лампочками, реально крутая вещь! Раньше приходилось убавлять силу света, т.к. получалось просто белое пятно, зато теперь можно выставить столько, сколько нужно и еще запас остается!
Подскажите, пожалуйста, что я делаю не так? Очень темно получается. Изменение exposure и gamma ничего не даёт (( Я грущу.
Увеличь свет в несколько раз
Спасибо, все получилось.
Спасибо за совет. Все хорошо работает
А есть ли какие-то минусы у Filmic Blender? Или рендер с такими настройками в любом случае и при любых источниках освещения будет более проработанным и цветокорректным?
Если не нужен фотореализм, то и Filmic не нужен, ибо «[i]Ненасыщенная экспозиция[/i]» вряд ли кому-то нужна.
Спасибо за оперативность! Буду пробовать.
Спасибо за перевод и подачу!
Артём, а ты будешь постоянно использовать Filmic Blender?
Как в уроках, так и для личных нужд? Или тебя этот момент малоинтересен?
Посмотрим, пока планирую, почему бы и нет. Штука действительно полезная.
Артем, я сделал как ты сказал, но фильмика нет((
Так же как у меня было. В общем ZIP папку прям из архиватора направляй, получится. У меня вышло
Спасибо! Попробовал с Filmic
Артем, посмотри может я что сделал не так? версия 2.78
[i]»я сделал как ты сказал»[/i]
Ану, расскажи мне, как ты делал 4-й пункт?
ааааа… точно)))) сейчас попробую)))
Артем, а еще вопросик динамический диапазон где выставлять?
Нигде.
— /home/$user/.blender//datafiles
++ ~/.config/blender/2.78/datafiles/colormanagement
Артем, все получилось))) видимо уже сплю))) внимательность на нуле))) кстати я тут как-то что-то спрашивал у тебя на канале. но вроде пока ответа не видел. с тобой еще как-то связаться можно? я чуть больше года в блендере, и в основном твоя заслуга. ну и метод тыка не прошел мимо)))
а..нее..эт не у тебя спрашивал))) сейчас посмотрел))) кстати тот вопрос уже решил. это по запеканию нескольких имейджей на одном меше в суслике
Подскажите пожалуйста по поводу первого совета, как включить режим False Color и увидеть карту освещенности?
Абзац Использование Filmic Blender данного урока.
Пункт 2. В меню Look выберите False Color.
И отрендерить.
делал, рендерится обычная картинка как при Base contrast
разобрался, в Ubuntu папка colormanagement лежит в /usr/share/blender//datafiles, с правами root 755, а я не на все файлы выставил нужные права.
А в чём отличие от обычного понижения контрастности путём манипуляций с экспозицией и гаммой?
Можно добиться воистину больших размеров хдра (ведь в рендерах нет понятия динамики уровня, там чистые цифры без рамок)
И кстати о обесцвечивании — как минимум «RTT» и «Плёнка» его имеют.
И еще
Во, теперь отлично всё))
Это просто БОМБА!!!
Спасибо
Я видел исходник на английском, но не осилил.. Теперь всё понятно.
Чет все мыльным становится с этим фильмиком.
Очень полезная статья.
Никак не мог решить эту проблему.
Но благодаря этой статье всё стало понятно.
[q][i]Совет №3: Чтобы сохранить информацию о цвете, не используйте режимы смешивания: Multiply, Screen, Overlay, Darken, Lighten, Overlay, Dodge, Burn, HardLight, SoftLight или Difference.
…
Они исказят информацию об истинном цвете пикселя.[/i][/q]
Возможно ли использовать их в связке с узлом «[b]Gamma[/b]» для восстановления истинного цвета пикселя? Если да, то как (расположить «[b]Gamma[/b]» до/после «[b]MixRGB[/b]» и какое значение указать)?
Что мешает самому проверить? Ведь несколько секунд нужно, чтобы разместить нод до/после и посмотреть на цвет пикселя.
Артём, объясните, пожалуйста, в чём собственно заключается искажение цвета пикселя? Поэкспериментировал с двумя узлами (рекоммендуемым и нерекоммендуемым)… вроде цвет неискажён.
[i]»Артём, объясните, пожалуйста, в чём собственно заключается искажение цвета пикселя?»[/i]
Цвет будет обрезан при достижении верхнего или нижнего порога (0 или 1). Это произойдет потому, что формулы, по которым работают перечисленные режимы при определенных значениях цвета дадут значения больше 1 или меньше 0.
К сожалению, более точно сейчас ответить не могу, так как нет под рукой собственной книги по Cycles. Там есть все формулы работы данных режимов.
Артем — огромный респект вашей выдержке
это и про пиксель и про то, что все мыльное становится после Filmic Blender со слов Юрия Небесного, рендеры видать им лень делать, на буквы в постах время ток есть.
Всем здрассте…
После просмотра видоса у Гуру, было решено провести эксперимент. Результат прикрепил.
Для «особо замечательных» поясню, создал подобную сцену, поставил Filmic без контраста чтоб получить симуляцию RAW. И тот же эффект дало уменьшение экспозиции + увеличение гаммы (в моём случае -4/+4) на стандартном sRGB. Удивительно, но факт! Дык зачем чёта устанавливать? Или я чего-то не понял?
Эксперимент проводился на одновременно открытых 2.78a(установлен Filmic) и 2.78b(sRGB стандарт).
тоже ВСЕМ привет!!!
АНОНИМ — разработчику плагина не пробовали задать вопрос? интересно, что ответит и F-Stop Blender — чем замерить?
Нет, разработчику не писал. У Гуру под его видео писал, но видимо из-за ссылки на эту картинку мой пост удалили.
Видимо не хотят вступать в полемику по типу фотографов — на что снимать лучше на пленку или на цифру ))
В любом случае Blender развивается, в нем появляются новые инструменты и это замечательно.
Спасибо за перевод. Смотрел видеоурок на английском, но на родном языке гораздо приятнее было прочитать
Спасибо, все получилось.
Попробовал на примере урока с лампочками, реально крутая вещь! Раньше приходилось убавлять силу света, т.к. получалось просто белое пятно, зато теперь можно выставить столько, сколько нужно и еще запас остается!
Спасибо за совет. Все хорошо работает