Секреты фотореализма в 3D для начинающих
Разбор техник для создания реалистичного окружения на примере анимационного фильма «История игрушек 4».
![](https://248006.selcdn.ru/main/iblock/7c2/7c2ce56e190116e7ddfd28c8c4a2e88b/c9cfbd9d649115cf02962ead7a1183f0.png)
![](https://248006.selcdn.ru/main/iblock/7c2/7c2ce56e190116e7ddfd28c8c4a2e88b/c9cfbd9d649115cf02962ead7a1183f0.png)
Иллюстрация: Wikimedia Commons / Colowgee для Skillbox Media
На сегодняшний день фотореализм остаётся самым востребованным направлением в области 3D. В рамках Blender Conference 2022 Эндрю Прайс, основатель онлайн-ресурсов Blender Guru и Poliigon, разобрал приёмы из «Истории игрушек 4», которые помогают специалистам повысить реалистичность сцен. Те же приёмы актуальны и при работе с 3D в игровой индустрии.
Редакция «Геймдев» Skillbox Media делится основными тезисами спикера.
В своём докладе Эндрю выделяет три основных составляющих фотореализма:
Работа со светом
Залог хорошего освещения — грамотный подбор оттенков для источников света. Универсальным решением станет сочетание тёплых и холодных тонов по шкале Кельвина, так как эти цвета существуют в природе. В большинстве сцен «Истории игрушек 4» художники использовали тёплые тона для осветительных приборов и солнечных лучей, а холодные — для тёмного неба и лунного света. Ближе к финалу картины контраст оттенков цветовой температуры плавно перетекал в царство неоновых вывесок парка аттракционов.
![](/upload/setka_images/12294911012023_a99761cae8b7c6700f6f32e64ee18adc249bbcb4.jpg)
Кадры: фильм «История игрушек 4»
![](/upload/setka_images/12294911012023_b629b7dc02fe6f5723da7d5f3dd63eb28fb5f3e4.jpg)
Кадры: фильм «История игрушек 4»
Использование контрастных тонов шкалы Кельвина нередко встречается и в других картинах. Например, во время работы над короткометражкой «Дурное путешествие» из третьего сезона анимационного сериала «Любовь, смерть и роботы» режиссёр Дэвид Финчер специально давал указания своей команде использовать фиксированную цветовую температуру: 1800 К для ламп и 4000 К для лунного света. Источники освещения с противоположными оттенками расставлены относительно далеко друг от друга. Такое сочетание придаёт CG-анимации больше реалистичности.
![](/upload/setka_images/12294911012023_181cbb31e4238c1c11b385d01e6dcc075479973d.jpg)
Кадр: Blender / YouTube
Чтобы активировать шкалу Кельвина в Blender — достаточно подключить нод Тепловое излучение (Blackbody) в настройках.
![](/upload/setka_images/12294911012023_aadc6dada1c2b47a57ee8a782537d4bcc1e79599.jpg)
Скриншот: Blender / Blender Foundation
Падающий свет
Существует и другой, не менее важный приём — падающий свет. Под ним подразумевается свет, который падает на объекты с определённого расстояния. По мнению Эндрю, этот приём самый недооценённый в сфере 3D: не каждый художник понимает, как можно обыграть такой тип освещения в своих работах.
Например, в сцене есть персонаж, над которым расположен источник света на расстоянии вытянутой руки. На макушку головы попадает 100% лучей, но до ног доходит примерно 1,2%.
![](/upload/setka_images/12330611012023_3a13088d023e9f50b6d7dd9d789d9ee05e51ab28.jpg)
В науке это явление известно как закон обратных квадратов, согласно которому мощность света будет обратно пропорциональна квадрату расстояния. Но художникам не обязательно углубляться в тонкости физики, так как современный 3D-софт автоматически производит все расчёты.
Важно лишь помнить, что большая часть света отсекается при столкновении с первой плоскостью и чем большее расстояние проходят остальные лучи падающего света, тем меньше их отсекается. В кадре ниже лицо и кончики пальцев героя ярко освещены пламенем спички, но, начиная с костяшек пальцев, света уже намного меньше. При этом нижняя часть торса и ноги освещены практически равномерно.
![](/upload/setka_images/12330611012023_a21449561049939422c6ccf788bc0c1c90d933e0.jpg)
Наша планета находится на расстоянии около 150 млн км от Солнца, поэтому мощность падающего солнечного света сама по себе достаточно низкая. По этой причине объект на вершине «Бурдж-Халифа» будет получать столько же света, сколько объект у подножия этой башни.
В «Истории игрушек 4» действие одной из сцен разворачивается на чердаке антикварного магазина. И на кадре ниже можно увидеть, как однородный солнечный свет проходит сквозь окна. Что касается падающего света, исходящего от ламп в помещениях, то его создавали с помощью направленных источников, работающих по принципу Прожектора (Spot) и Источника-области (Area) из Blender.
![](/upload/setka_images/12330611012023_67e34c602f3338613896d5e163d290f14fdaa52e.jpg)
Кадры: фильм «История игрушек 4»
![](/upload/setka_images/12345111012023_4bee5bc7607f7bd29ea700220550e2abce458536.jpg)
Кадры: фильм «История игрушек 4»
Рассмотрим пример использования падающего света в Blender. В сцене есть персонаж, на который направлен Точечный источник (Point), расположенный относительно далеко от объекта.
![](/upload/setka_images/12345211012023_a3b94f39d302de69071e0ddb4b99c14337af80c2.jpg)
На скриншоте видно, что большая часть модели освещена равномерно. Чтобы сделать акцент на лице персонажа, можно сделать снимок, открыть Photoshop и осветлить зону вокруг лица, немного поколдовав со слоями. Но если знать о существовании падающего света, о котором говорилось ранее, можно приблизить источник освещения к модели, выставить его чуть выше головы и уменьшить радиус освещения. После этого в сцене появится падающий свет, и композиция сразу заиграет новыми красками.
![](/upload/setka_images/12345211012023_cece785eb92cd643f5e788e5f37e3d933a76f56c.jpg)
Кадр: Blender / YouTube
Не менее важно подобрать правильный размер источника света. Чем меньше источник — тем чётче будут выражены тени, подчёркивающие все мелкие детали, что не очень выгодно для человеческих лиц: все дефекты кожи будут особенно заметны.
![](/upload/setka_images/12345211012023_2229e417950c39bd1ac90259b6c781a232a40430.jpg)
Но большой и рассеянный источник света скроет недостатки. Вот почему на съёмках голливудских фильмов используют различные светоотражатели даже на открытом воздухе. «История игрушек 4» балансирует между этими видами освещения: жёсткий свет для сцен на открытом воздухе и мягкий — в помещении.
![](/upload/setka_images/12345211012023_71b97f3681cfd481f98f8279e17d064ae63ea66a.jpg)
Кадры: фильм «История игрушек 4»
![](/upload/setka_images/12360411012023_b96f49b701f581862428f9c58e1a46c731d0aa89.jpg)
Кадры: фильм «История игрушек 4»
Обращайте внимание на расположение источника освещения относительно лица персонажа. Свет, падающий сверху, визуально сужает лицо, но если выставить его спереди — лицо станет шире.
Эти и другие приёмы работы со светом в 3D Эндрю Прайс подробно разбирает в своём курсе для начинающих. С текстовой версией можно ознакомиться, перейдя по ссылкам ниже.
Материалы
Когда свет падает на материал, происходит ряд физических явлений. Часть лучей сразу отражается, другая часть поглощается, сталкивается с частицами внутри материала, отскакивает от них, а затем выходит наружу. Этот процесс называется преломлением, или, по-научному, рефракцией. В свою очередь, 3D-художники называют его рассеянным отражением света или диффузным отражением. Данное явление помогает распознать цвет объекта, поэтому мы видим, что, например, красная машина покрыта красной автоэмалью.
![](/upload/setka_images/12360411012023_d75dd4921f9f5ca9dc828e1efafbd5a21dfa9c5d.jpg)
Кадр: Blender / YouTube
Большинство людей склоняется к мнению, что существует два типа объектов: с отражением и без, то есть с глянцевой и матовой поверхностью, как на изображении ниже.
![](/upload/setka_images/12360411012023_b76bc71fa80c20942ed01e19c21ead7b69ad6b89.jpg)
Но на самом деле эти объекты отражают одинаковое количество света. Всё дело в поверхности: гладкая отражает свет в сторону источника, а шероховатая — в разные стороны. В результате отражение получается настолько рассеянным, что человеческий глаз просто не воспринимает его.
![](/upload/setka_images/12360511012023_1c076733da30d01108464d85a8ffad1517acec59.jpg)
На коллаже выше представлены сканы кирпича c портала Poliigon. При взгляде на первое изображение может показаться, что материал объекта выглядит довольно пористым и не имеет отражающих свойств. Но второе изображение, снятое в режиме перекрёстной поляризации, это опровергает. А с помощью некоторых манипуляций в Photoshop можно создать карту отражения кирпича.
Из этого следует, что все объекты так или иначе отражают свет, просто у них разные свойства шероховатости. Поэтому, работая с материалами в Blender, никогда не убирайте значение Блик (Specular). Оставьте его на стандартном значении 0,5, а если объекту нужно придать эффект матового покрытия — достаточно увеличить значение Шероховатости (Roughness). Все эти настройки можно найти в ноде Принципиальный BSDF (Principled BSDF), который автоматически генерируется при создании материала.
![](/upload/setka_images/12415511012023_1cc7c7aaff1472b38801633d33e2f9e6221a290f.jpg)
Отражения примечательны тем, что они неравномерны. Чем меньше угол между линией луча и плоскостью объекта, тем сильнее свет будет отражаться от неё. В физике и 3D это явление называют эффектом Френеля: края объекта всегда будут отражать 100% лучей под прямым углом.
![](/upload/setka_images/12415511012023_62bf1942effdabf0107c530d35221fdf53489254.jpg)
Этот нюанс нужно учитывать при работе с нодом Микс-шейдер (Mix Shader), совмещая ноды Диффузный BSDF (Diffuse BSDF) и Глянцевый BSDF (Glossy BSDF), так как в этом случае эффекта Френеля не будет. Лучше обойтись одним нодом Принципиальный BSDF (Principled BSDF), уменьшить Шероховатость (Roughness), насколько это необходимо, и Blender автоматически сгенерирует эффект Френеля для объекта. Все эти рекомендации подойдут для работы с материалами без эффекта «металлик».
![](/upload/setka_images/12415611012023_ea2b2f998665356b094cbc9e4d99ecdc646b93d5.jpg)
Кадр: Blender / YouTube
Специфика металлов
Материалы с металлическим покрытием наделены совершенно иными свойствами. Они отражают свет на 100%, поэтому никакого преломления не происходит. Часть света поглощается, но перерабатывается в тепловую энергию. Поэтому, рассматривая металлический объект, мы видим только его отражение.
![](/upload/setka_images/12415511012023_b200d8bc76303a5287d3954213dd40d331052ae4.jpg)
В отличие от других материалов, которые могут отражать лишь цвет источника освещения, металлы способны оттенять отражение.
![](/upload/setka_images/12415511012023_178ae943fb180dbd85da113c997e71d410f43eb6.jpg)
Кадр: Blender / YouTube
На первой картинке под солнечным лучом деревянный корпус часов просто становится светлее, в отличие от золотого циферблата, который приобретает разные оттенки. Но с эффектом Френеля оттенки металлического покрытия становятся менее выраженными.
Все эти нюансы нужно учитывать при создании реалистичных металлов. Чтобы избежать ошибок, лучше взять за основу нод Принципиальный BSDF (Principled BSDF) и выставить в нём значение параметра Зеркальность (Metallic) на максимум, уменьшив Шероховатость (Roughness). При этом на материале не должно быть дополнительных диффуз-карт или шейдеров с похожими свойствами.
![](/upload/setka_images/12415511012023_acb3891951eada938d821fe8c18ea10c2884033f.jpg)
Кадр: Blender / YouTube
Разнообразие как часть реализма
В реальной жизни нам постоянно встречаются объекты с неоднородной поверхностью. Её можно увидеть практически везде, начиная от неровного асфальта со следами шин и заканчивая подтаявшей шоколадной глазурью эскимо.
![](/upload/setka_images/12430411012023_00ef4ecbef33723c9293d85ddb5e396ecc049496.jpg)
В сценах «Истории игрушек 4» очень много таких неоднородных фактур. Поверхность крыши, стена шкафа, доски ламината — все эти детали создают реалистичное окружение, несмотря на общую стилизацию.
![](/upload/setka_images/12430411012023_6ed0b04ccb1af0573cd045b2bd21a60938919582.jpg)
Кадры: фильм «История игрушек 4»
![](/upload/setka_images/12430411012023_d879e3a09b3d33248cfb9e16b5b5b31c5891b3f5.jpg)
Кадры: фильм «История игрушек 4»
Самый простой способ повысить реалистичность материала в Blender — создать нод Текстура шума (Noise Texture), выставить в нём значение Шероховатости (Roughness) в промежутке от 0,01 до 1 и подключить к одноимённому параметру в ноде Принципиальный BSDF (Principled BSDF).
![](/upload/setka_images/12430411012023_1b9538555bc8b6bb16a0625a682661edb953ea1c.jpg)
Кадр: Blender / YouTube
Эффект неоднородности можно усилить, если добавить нод Наложение (Overlay) с информацией о цвете и Карту неровностей (Bump) — в результате получится более сложный материал.
![](/upload/setka_images/12430411012023_5d2552f3c147808bd3c9149b748f69964400c85d.jpg)
Также можно использовать готовые наборы PBR-текстур, которые представляют собой готовую сборку карт с различными свойствами. Подобные текстуры можно найти на тематических ресурсах и площадках наподобие Poliigon или Quixel Megascans, а также на маркетплейсах.
Оптика
Не менее важную роль в фотореализме играет настройка камеры — в частности, экспозиция. Делая фотографии летним солнечным днём на смартфон, все мы сталкивались с тем, что объект съёмки часто оказывается темнее, чем фон. Но стоит навести фокус на тёмную часть, и задний план засвечивается.
![](/upload/setka_images/12451311012023_7b6ae682f40573d2c3c9364d21893c206fdb58bd.jpg)
Это и есть настройка экспозиции, которая необходима для получения оптимальной яркости при определённом освещении. Нельзя подобрать универсальную экспозицию для съёмки ярких и тёмных объектов, находящихся в одном кадре. Для этого придётся прибегнуть к постобработке HDR. Поэтому если позади персонажа находится открытое окно, из которого бьёт яркий свет, — лучше всего оставить пересвеченный задний план, так как это соответствует правилу экспозиции из предыдущего примера.
![](/upload/setka_images/12451411012023_3a951572a2150028f8727110976985967433bc44.jpg)
В «Истории игрушек 4» есть эпизод, в котором Вуди подбегает к машине и открывает коробку с пастушкой Бо Пип. Так как действие происходит ночью, свет от задних фар падает на лицо шерифа и засвечивает его — ровно так же, как это могло бы произойти в реальности.
![](/upload/setka_images/12451411012023_3b7708faf9e65ed911a092d713c25e363002f0d0.jpg)
Похожий приём можно увидеть в сцене на чердаке антикварного магазина, который освещают яркие солнечные лучи, проходящие сквозь окна крыши.
![](/upload/setka_images/12451411012023_1f995b601aba92748690c952130d3d6669d3fcca.jpg)
Возможно, другой режиссёр на месте Джоша Кули побоялся бы столь ярких контрастов в сцене и попытался бы выровнять экспозицию, уменьшив яркость солнечного света. Но Джош оставил всё как есть. Переэкспонированные кадры с засвеченными областями встречаются на протяжении всего фильма, словно их снимали настоящей камерой.
Треугольник экспозиции
В искусстве фотографии существует понятие так называемого треугольника экспозиции. Под ним подразумевают три основных элемента, которые учитывают при настройке кадра: выдержку, диафрагму и светочувствительность (ISO).
![](/upload/setka_images/12451411012023_174dab7e39076657c683b5ce7334147bbc186e9b.jpg)
Понимание этих трёх основ пригодится в работе с виртуальной камерой в Blender для улучшения качества финального рендера.
Диафрагма
Диафрагма в фотографии — это отверстие, через которое объектив пропускает свет на матрицу камеры. Чем больше оно во время съёмки, тем меньше F-stop и тем сильнее увеличивается глубина резкости. Эту настройку используют при портретной съёмке. Для снимка пейзажа потребуется большее значение F-stop.
![](/upload/setka_images/12451411012023_f6a03683afb636aed1c2d98a66b99d839599856a.jpg)
Кадры: Blender / YouTube
Но в Blender этот процесс гораздо проще. Достаточно выбрать камеру, зайти в настройки данных объекта, отметить галочкой Глубину резкости (Depth of Field) и в пункте Фокус на объекте (Focus Object) выбрать цель для фокусировки. Далее следует выставить желаемое значение фокусного расстояния в пункте Диафрагма (F) (F-stop). Всё остальное программа рассчитает сама.
Не забывайте, что фокус во многом зависит от размера объекта. В миниатюрных сценах глубину резкости придётся настраивать более тщательно. И наоборот, в масштабных сценах глубина резкости почти незаметна.
![](/upload/setka_images/12480011012023_f1dba46f5eb3018402b190ecf8fd0ee8a8f3b6eb.jpg)
Кадр: Blender / YouTube
Именно поэтому Эндрю рекомендует изначально выставлять реальный размер для всех объектов в сцене. Так намного проще подобрать правильный фокус.
«История игрушек 4» позволяет себе некоторые вольности с масштабированием — для того чтобы камера могла сфокусироваться на всех персонажах, так как герои фильма намного меньше окружения.
![](/upload/setka_images/12480011012023_c276ca8d399eee73a1c079a8558d4d7cc1304846.jpg)
Существует и более старомодный эффект глубины резкости, который представляет собой размытый и слегка вытянутый задний план. В фотографии такие кадры делают с помощью анаморфотного объектива. Чтобы получить аналогичный эффект в Blender, в настройках Диафрагмы (Aperture) выставьте Соотношение (Ratio) на 2,0.
![](/upload/setka_images/12480111012023_b2d44a98fb0ab389c6e9b7d88859ec7c32c16caa.jpg)
Кадр: Blender / YouTube
Выдержка
Чем больше интервал выдержки фотоаппарата, тем больше света попадает в объектив, при этом объект съёмки становится размытым. Этот эффект можно настроить и в Blender.
В меню настроек рендера ставим галочку напротив Размытия в движении (Motion Blur) и выбираем нужное значение для Затвора (Shutter), которое напрямую зависит от желаемого результата. Во многом здесь поможет понимание треугольника экспозиции, о котором упоминалось ранее: более сильное размытие в движении появляется в тёмных сценах.
![](/upload/setka_images/12480111012023_aac8ad733053ee9cbb56d28ab610f6284be1959b.jpg)
Кадр: фильм «Чунгкингский экспресс»
Светочувствительность (ISO)
Третий элемент экспозиции — последняя попытка добавить света сенсору камеры. Чем выше светочувствительность, тем светлее кадр.
![](/upload/setka_images/12480111012023_787cd23beca8deedb64c04891cba8e155a2f0297.jpg)
Повышение этого параметра сопровождается усилением шума. В свою очередь, шум бывает цифровым, состоящим из множества хаотичных цветных пикселей, и плёночным. Последний приятнее глазу за счёт более крупных и однородных частиц серого цвета.
![](/upload/setka_images/12492511012023_a7f41f7e241a23287e43cf7b32196328f3ee98f4.jpg)
Кадр: Blender / YouTube
Но не стоит думать, что эти разновидности шумов аналогичны шуму, который возникает на недоработанном рендере. Данный дефект не имеет ничего общего с фотореализмом. Сначала уберите шум с помощью Шумоподавления (Denoising), а уже затем наложите на готовое изображение фильтр зернистости в Photoshop. Если вы делаете анимацию, воспользуйтесь плагином Renoiser или добавьте соответствующий фильтр в видеоредакторе.
В заключение рассмотрим пару дополнительных приёмов.
Дисторсия объектива, или эффект «бочки»
Так называется искажение кадра, при котором изображение изогнуто по краям. Этот эффект легко сделать в Blender с помощью нода Искажение объектива (Lens Distortion) в режиме Compositing, увеличив значение Искажения (Distort). Другой способ — поэкспериментировать с соотношением диафрагмы, имитируя эффект анаморфотного объектива, о котором упоминалось ранее.
![](/upload/setka_images/12492511012023_01c985b720c9d485c3202f0fd3f67804db43c17c.jpg)
Кадр: фильм «История игрушек 4»
Блики
Этот приём используется в случаях, когда кадр предполагает наличие жёсткого света в очень тёмных сценах. Источник света смягчают, и он становится размытым, словно сенсор камеры не может на нём сфокусироваться. Блики также можно использовать в сценах, где есть яркий солнечный свет, а ключевой объект находится в тени.
В Blender за этот эффект отвечает нод Блики (Glare) в режиме Compositing. В настройках нода можно выбрать Полосы (Streaks), Свечение тумана (Fog Glow) или другие режимы, в зависимости от того, какой эффект нужен для текущей задачи.
![](/upload/setka_images/12492511012023_9525e600c00aed34bf6c2755bef38ff6475ec765.jpg)
Кадры: фильм «История игрушек 4»
Итог
Первая часть «Истории игрушек» вышла на экраны более 25 лет назад. С тех пор многое изменилось: компьютерное железо стало мощнее, а новые версии 3D-софта открыли ещё больше возможностей для художников.
![](/upload/setka_images/12492511012023_2c5403f1cd9ee1933cf532496fafb2ce478e0387.jpg)
Кадры: «История игрушек»; «История игрушек 4»
Но на самом деле именно ограничения делают фильмы реалистичными. И несмотря на то, что действие происходит в мире, где игрушки живут своей жизнью и общаются друг с другом, подобные элементы фотореализма есть далеко не в каждом блокбастере. По мнению Эндрю, именно благодаря этой особенности «История игрушек» стала одним из самых интересных, забавных и красивых анимационных фильмов за последние несколько лет.