Введение¶
Освещение – очень важная тема в визуализации, наряду с моделированием, созданием материалов и текстур. Прекрасно смоделированные и затекстурированные сцены без соответствующего освещения будут выглядеть очень неважно, в то время как самая простая модель может быть очень реалистичной при правильном освещении.
Ограничения просмотра¶
Цвет объекта и освещение сцены зависят от:
- Вашей способности видеть различные цвета (довольно распространена частичная цветовая слепота);
- Носителя, с которого вы просматриваете изображение (например, смотрите вы на ЖК-панель или на глянцевую печатную бумагу);
- Качества изображения (например, jpeg с уровнем сжатия 0.4 или же с уровнем сжатия 1.0);
- Окружения, в котором вы просматриваете изображение (например, яркий ЭЛТ-монитор в тёмной комнате или в залитой ярким солнцем голубой комнате);
- Восприятия вашим мозгом цветов и их интенсивности по сравнению с цветами окружающих объектов и фона, которые ещё и могут меняться с помощью методов изменения цвета, предоставляемых узлами композитинга Blender’а.
Глобальное влияние¶
В Blender’е вы можете управлять следующими элементами, которые влияют на освещение:
- Цвет рассеянного освещения окружающей среды. , которое окружающее освещение отбрасывает на объект.
- Степень, с которой окружающее освещение окрашивает материал объекта. , когда цвет одного объекта передаётся другому. в сцене.
The physics of light bouncing around in the real world is simulated by Ambient Occlusion (a world setting), buffer shadows (which approximate shadows being cast by objects), ray tracing (which traces the path of photons from a light source). Also, within Blender you can use Indirect lighting . Ray tracing, ambient occlusion, and indirect lighting are computationally intensive processes. Blender can perform much faster rendering with its internal scan line renderer, which is a very good scan line renderer indeed. This kind of rendering engine is much faster since it does not try to simulate the real behavior of light, assuming many simplifying hypotheses.
Настройки освещения¶
Только после рассмотрения перечисленных выше глобальных воздействий, вы можете начать добавлять свет от ламп в свою сцену. Здесь вы можете влиять на:
- Тип используемого источника света (Солнце, Прожектор, Лампа, Полусфера и прочие);
- Цвет источника света;
- Позицию источника света и его направление;
- Настройки источника света, включая его энергию и затухание.
Затем можно вернуться к тому, как шейдер материала реагирует на свет.
В этой главе делается попытка рассмотреть все вышеперечисленные вопросы, в том числе вопрос взаимодействия источников света в оснастках (ригах, rigs) для освещения вашей сцены. В этой главе мы проанализируем доступные в Blender’е различные типы источников света и их поведение; обсудим их сильные и слабые стороны. Также мы опишем множество связок источников света, включая наиболее популярную трёхточечную схему освещения.
Освещение в рабочем процессе¶
В данном руководстве пользователя мы разместили раздел «Освещение» до раздела «Материалы», поскольку вы должны настроить освещение до назначения материалов своим полисеткам. Так как шейдеры материалов реагируют на свет, без соответствующего освещения они будут выглядеть неправильно, вы будете сражаться с ними в попытках исправить плохое освещение и это будет сулить вам нескончаемую головную боль. Ни один пример изображения в этом разделе не использует никаких материалов ни для шара, ни для куба, ни для фона.
Переопределение материалов для сброса освещения¶
Поле «Материал» на панели «Слои визуализации»
Если вы сначала пошли по пути назначения материалов и в настоящее время возитесь с освещением, мы предлагаем вам создать умолчательный серый материал – без цвета вершин, без текстур граней, без затенения, просто старый добрый серый серый цвет с RGB(0.8, 0.8, 0.8). Назовите его «Gray» («серый»).
Затем перейдите на вкладку Слои визуализации. На панели Слои в поле Материал выберите свежесозданный материал «Gray». Так вы переопределите все установленные материалы и при визуализации всегда будет использоваться серый цвет. Теперь, используя этот материал, вы можете начать настраивать освещение. Чтобы вернуться к изначальным материалам, просто очистите это поле.
© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License.
6 советов для лучшего освещения в Blender
Часто, разницу между скучным изображением и выдающимся образом может создавать лишь правильно настроенное освещение.
Но освещение это настолько сложная и редко обсуждаемая тема, что многие художники оставляют ее без должного внимания.
В данной статье будут рассмотрены некоторые самые распространенные ошибки при настройке освещения в Blender и будет предложено 6 способов для лучшего освещения.
Можете загрузить модель Бена Симондса, если хотите поэкспериментировать.
№1 Изменяйте размер тени
Размер лампы очень сильно влияет на итоговый результат.
Мягкие тени могут создавать спокойную атмосферу или создавать пасмурное освещение (пример), в то время как жесткие тени могут выделять детали или создавать резкий дневной свет (пример).
Изменение размеров лампы может полностью преобразить Вашу сцену. Поэтому экспериментируйте с ним!
№2 Не переусердствуйте
Попытка осветить все в сцене является одной из самых распространенных ошибок среди новичков.
Переосвещение сцены устраняет тени, которые играют важную роль. Без этих теней модель выглядит плоской, как на примере выше.
Поэтому, вместо того, чтобы избегать теней, подумайте где они могут пригодится и подчеркнуть основные моменты или скрыть второстепенные.
№3 Используйте цвета
Если Вы не собираетесь создавать черно-белое кино, то почему все Ваши лампы должны быть одного цвета?
Цвета не только передают сильные эмоции, но и являются неотъемлемой частью нашей жизни.
В реальной жизни практически не существует идеально белого света, который, как ни странно, наиболее часто используется в компьютерной графике. Температура света измеряется в градусах Кельвина, настроить которые очень легко с помощью нода Blackbody в Cycles.
Можете скачать набор материалов света для Cycles созданных с помощью нода Blackbody.
№4 Подчеркните основной объект
Освещение играет важную роль в сосредоточении внимания зрителя. Если все освещено одинаково, то значит ничего не важно.
Поэтому следите за тем, чтобы важные объекты в сцене получали больше света, чем второстепенные.
№5 Добавьте текстуры для Вашего света
Данная возможность очень редко используется 3D-художниками, однако может придать дополнительный интересный эффект Вашей сцене.
№6 Анимируйте Ваш свет
Очевидно, что это применимо лишь к анимации, но даже в ней это редко используется несмотря на отличные возможности по ее улучшению.
Изменяя размер теней, цвет, положение и силу света ламп, можно добиваться различных результатов. Вы можете менять настроение и атмосферу в Вашем ролике с течением времени, сосредотачивать внимание на основных моментах или скрывать не нужные.
Настройка света в Blender. Часть 2
Таким же образом (“Shift+A”) создаём источники света. Их у нас 4 вида на выбор:
Point — свет этого источника распространяется из одной точки равномерно во все стороны, с постепенным затуханием.
Sun — источник направленного света с параллельными лучами, без затухания.
Spot — источник , излучающий свет из одной точки, но область свечения ограничена направленным конусом, который мы можем настраивать.
Area — источник света, при использовании которого излучение происходит из плоскости, форму и размер которой мы можем настраивать.
Чаще всего я использую в работе последние два, иногда — Point. Всё потому чтоSun слишком “прямолинейный” и не подходит для тонкой настройки освещения.
Итак, создаём Spot, который автоматически добавляется в активную коллекцию. Изменяем положение источника света относительно модели, выбрав его мышью и нажав хоткей G для перемещения
Переходим во вкладку настройка света (значок “зелёная лампочка”). Здесь мы можем выбрать цвет и интенсивность света. По умолчанию значение последнего параметра (Power) — “10W”. Назначаем “1500W” и тут же видим в окошке, как это будет выглядеть на рендере.
Ещё один параметр источника света, который мы можем настраивать, — размер (в случае Spot). Чем он больше, тем мягче падающие тени. Следовательно, если мы хотим получить супержёсткие тени с чётким контуром, ставим значение «0».
На отображение теней в Eevee также влияет количество сэмплов. Из-за того, что у нас во Viewport стоит значение “16”, мягкие тени разбиваются на отдельные части. Чтобы это исправить, поднимаем значение. Однако, в этом случае мы несколько жертвуем производительностью, и скорость рендера замедляется.
В качестве примера, — скрин отображения при 256 сэмплах.
Как я уже говорил, в случае Spot и Area можно выбрать направление источника света. Чтобы изменить угол падения света, зажимаем жёлтую точку либо хоткей “Shift+T”. А взаимодействуя со стрелкой можно отрегулировать угол фонарика.
Таким образом можно, например, сконцентрировать свет на конкретной части тела, чтобы сделать акцент.
Кроме того, мы можем настроить край воздействия света и градиент от области максимальной интенсивности света к полностью чёрному. Чем больше значение Blend в настройках источника света, тем более плавным будет переход.
Говоря об Area, отметим один из параметров источника — габариты. Здесь мы можем выбрать форму источника: квадрат, прямоугольник, диск либо эллипс. Диск и квадрат имеют один параметр для изменения — радиус и сторону, соответственно. Прямоугольник — длину и ширину.
После того, как прикинули в Eevee базовое расположение источников, переключаемся в Cycles, чтобы получить более приближенную к итоговому рендеру картинку.
Как выставить свет
Теперь поговорим о принципах, в соответствии с которыми выставляется свет. И здесь большую роль играет определение задачи: должна ли модель максимально отражать наш навык или же перед нами стоит цель поставить сцену так, чтобы чётко считывалось настроение.
В зависимости от этого выделим условные 2 вида:
1.«Недраматичная» или скульптурная подача — когда нам нужно показать хорошо считываемые формы и детали.
В этом случае мы берём в качестве основного источника Area, выставляем значение Size “5м”. Получаем эффект, схожий с освещением в пасмурную погоду: равномерное освещение, мягкие тени, плавный переход от света в тень.
Важно: чем больше угол между направлением «взгляда» камеры и направлением света, тем лучше считываются детали. В противном случае они «съедаются», и мы получаем эффект «лобовой вспышки».
Помимо основного источника мягкого света, можно также использовать дополнительный, который будет расположен за объектом либо вне кадра, подсвечивая саму тень. Таким образом удаётся подчеркнуть детали и выставить “студийный” свет.
Я предпочитаю пользоваться минимумом источников, но при желании можно добавить и третий — дело вкуса. Главное — не переборщить и избежать засвета модели со всех сторон, иначе мы потеряем ощущение объёма модели.
Совет: не забываем о свете, который отражает «пол». Порой достаточно лишь изменить его тон, чтобы добавить или убрать рефлексы.
Вот так выглядит готовый turntable со скульптурной подачей:
2. “Драматичная” подача — противоположна скульптурной и предполагает, что мы готовы пожертвовать некоторым уровнем детализации ради достижения эмоционального эффекта.
Чем больше контраст между светом и тенью, тем большей “драматичностью” обладает кадр.
Добиться максимального эффекта можно, расположив источник света за объектом напротив направления взгляда камеры.
Ниже — наглядный пример. Эти сетапы я рассматривал в процессе работы.
В конечном итоге я хотел добиться ощущения случайной фотографии, поэтому подал модель в “драме”: жёсткие тени, источник света расположен не намного левее камеры, чтобы отчасти сохранить детализацию и в то же время создать эффект вспышки камеры. Общее настроение кадра: тревога от встречи с монстром в темноте, ощущение неизвестности и напряжение.
Так выглядит наш кадр уже после рендера и обработки. О них поговорим в следующий раз.
CGI Media
2.2K постов 5.6K подписчиков
Правила сообщества
• Посты должны соответствовать тематике cообщества.
• Не допускается спам и нарушение правил сайта pikabu.
Гифка со спотлайт глючно записалась
Сейчас проверяю свои проекты (рендерю в 2.83 — cycles). Проекты делались в 2.79. В 2.83 получаются более жёсткие тени, не знаете на сколько нужно изменить силу света, размер источника света чтобы получить результат аналогичный 2.79?
Правильный замер температуры
3D принтер: ANYCUBIC Photon Mono X
Высота слоя 35 мкм.
Фотополимер Harzlabs, INDUSTRIAL ABS.
3D скульптинг, печать и роспись: Amforma
Модель персонажа по референсу в Blender
Недавно я сделала этот 3D фанарт.
Девочка — главный персонаж комикса "Four Leaf" (на Webtoons). Автор комикса @luzcolumaga.
Так она выглядит в самом комиксе:
А вот и моя модель в полный рост:
Если кого интересует, здесь процесс с нуля (timelapse):
Ответ на пост «О игрушках и осторожности»
А договаривались мужиками посидим
Меня часто ругают, что моделирую много женщин, да еще и фигуристых. Мол не бывает таких.
Ну, вот получайте. Брутальный мужик из серии «Андреевские бани, мужской день». Сама серия готовится к выходу и будет состоять из шести мужчин, в основном среднего возраста, разного телосложения и комплекции, но объединенная тематикой из названия.
Второй персонаж уже увидел свет, пока не воплоти: ссылка. На мой взгляд, тоже довольно таки колоритный.
Моделировался товарищ в программе zbrush, печатался на принтере Anycubic Photon Mono X с высотой слоя 35 мкм полимером Harzlabs, INDUSTRIAL ABS.
Грунт праймерами от The Army Painter и Vallejo телесных цветов. Непосредственно росписи самый минимум: лицо, тапки и тазик, остальное взял на себя аэрограф.
Масштаб (1:12) для 3D печати я выбрал исходя из удобства росписи лично для меня, и так как фигурка выполнена не на заказ, ограничений в этом никаких нет.
В печать и литьё серия пойдёт уже в масштабе 1:43.
Ps. Если персонаж на кого-то похож, то прошу прощения. Моделировался он как условный, без привязки к реальным референсам.
Звуковая карта Behringer U-Phoria UMC404HD — переделываем гнездо наушников
Обратился один из постоянных клиентов с вопросом: а звуковые карты Вы делаете? Я редко беру в ремонт что-то, кроме ноутбуков, компьютеров и видеокарт, но в данном случае задача была простой и в то же время интересной. Итак, ситуация следующая: стало плохо контачить гнездо наушников, которое используется для мониторинга в звуковой карте Behringer U-Phoria UMC404HD (клиент занимается написанием музыки и ее сведением). На фото гнездо уже выпаяно:
Оно и не могло не повредиться, так как впаяно в плату всего тремя выводами и держится на них. Выводы достаточно хлипкие, а гнездо массивное, да еще и не лежит на плате, а находится в воздухе. Довольно странное решение с учетом того, что остальные гнезда под Jack 6.3 мм другой конструкции и закреплены нормально.
Естественное желание закупиться на Али несколько поутихло, когда выяснилось, что единственный лот с гнездами этой конструкции — аж на 50 штук стоимостью 1200+ рублей, да еще и платной доставкой:
А ведь еще и ждать… К тому же выяснилось, что клиент использует наушники со штеккером 3,5 мм через переходник. Отсюда и родилась идея сделать 3D-печатный вставыш, который позволит использовать простое гнездо (для FrontAudio-панели компьютера) и не потребует никаких переделок конструкции, что позволит в случае необходимости вернуться к стоковому гнезду. Так что берем штангенциркуль, включаем SolidWorks, и вскоре рождаем вот это:
Это изображение конечного варианта, а сначала была ошибка в замерах, потом еще кое что придумалсь, потом гнездо не входило, потом уже не помню что, в итоге напечатана правильная деталь была только с пятой попытки. И да, мне было не лень. :))))) На фото первый вариант:
В окончательном варианте вставыш установился, как родной:
Соединения сделаны проводом МГТФ. Вставыш заменил также и латунную стойку, которая служит опорой для субплаты с кнопочными выключателями:
Ну и всё это дело в собранном виде:
Осталась также кучка неудачных образцов:
На днях придется эту приблуду, однако, разбирать. Я сразу предупредил клиента, что каналы могут быть перепутаны, и только что от него пришло сообщение, что таки да, опасения подтвердились. Что ж, откроем, перепаяем проводки.
Есть у меня подозрения, что у этих звуковых карт гнездо наушников — типовая болячка, шибко уж оно неумно сделано. Поэтому для желающих оставлю STL-модель для печати в своем магазинчике — ЗДЕСЬ.
Это копия статьи в моем блоге. Вот ее оригинал.
Если хотите отправить мне на ремонт ваше устройство — внимательно читать.
Карты детализации: зачем они нужны и как их использовать
Создание 3D-персонажа начинается с этапа скульптинга — это процесс, когда художник лепит в ZBrush высокодетализированную модель. Такие модели могут содержать миллионы полигонов, поэтому с ними крайне сложно проводить какие-либо операции — например, создавать риг и анимацию.
Для решения этой проблемы был придуман способ, как перенести детализацию с высокополигональной модели (Highpoly) на низкополигональную (Lowpoly). Это делается с помощью особых текстурных карт, которые позволяют сократить многомиллионный полигонаж до нескольких сотен тысяч для кино и нескольких десятков тысяч для игр. А о том, какими бывают карты детализации и как они работают, рассказывает художник по персонажам и преподаватель курса XYZ School Movie Man Артём Гансиор.
Карты детализации
Карты детализации бывают четырёх видов — displacement, vector displacement, bump и normal. По принципу работы их можно разделить на две группы. Карты displacement и vector displacement честно меняют геометрию модели, добавляя ей необходимые рельефы и детали. Карты bump и normal, в свою очередь, никак не влияют на геометрию и вместо этого имитируют наличие деталей путём смещения нормалей, то есть просто изменяют поведение света на поверхности модели.
Давайте рассмотрим каждую карту по отдельности.
Карта displacement
Displacement — это чёрно-белая текстура, каждый пиксель на которой имеет значение от 0 до 255. Когда вы накладываете её на модель, эти значения используются для определения высоты каждой точки на поверхности объекта. Высота может быть нулевой (когда точка остаётся на своём месте), положительной (когда точка выдавливается из объекта) и отрицательной (когда точка вдавливается в объект).
Карта displacement детализирует модель на этапе рендеринга. Сначала запускается процесс тесселяции — каждый полигон модели делится на четыре равных полигона, а затем ещё раз и ещё, в зависимости от заданного количества сабдивов. После этого рендер-движок берёт информацию о значении пикселя с displacement-текстуры и выдавливает или вдавливает реальные полигоны на объекте.
Главное преимущество такой системы — она даёт возможность усложнять геометрию во время рендеринга и при этом не повышать полигонаж в сцене во время работы с мэшем.
Результат наложения карты displacement на лоуполи
Другое преимущество — это возможность работать с SSS-эффектом (подповерхностное рассеивание света как у кожи, молока, гранита, воска и т.д.). Эффект SSS опирается на расстояния между полигонами, поэтому displacement дает наиболее реалистичный результат, полученный без «фейков».
Карты displacement используются преимущественно в VFX-индустрии. В VFX главная цель — это наивысшее качество и достоверность картинки. Displacement-текстуры позволяют легко этого добиться, поскольку они честно детализируют модели и меняют их силуэт. В игровой индустрии displacement встречается редко, так как тесселяция и расчёт смещения — это довольно ресурсоёмкий процесс, и оптимизировать его для игровых движков пока очень проблематично. Но это вопрос времени.
Важно понимать, что в карте displacement смещение происходит только по одной оси — вдоль нормали каждого полигона (другими словами, перпендикулярно каждому полигону). Это может стать проблемой, если вы захотите запечь какую-то деталь, которая смещается не только вверх, но и в сторону. Для таких случаев понадобится карта vector displacement.
Карта vector displacement
Vector displacement — это тот же displacement, только он позволяет смещать полигоны не по одной оси, а по всем трём. Это значит, что формы типа гриба, уха или рога можно запечь в текстуру и не моделить их на лоуполи. Как и displacement, эта карта взаимодействует с реальной геометрией, то есть по-честному добавляет детали в процессе рендеринга. Это даёт более реалистичный расчёт освещения и трассировки лучей.
Результат наложения карты vector displacement на объект
Для сравнения — попытка добиться той же детализации с помощью карты displacement
Так выглядит карта vector displacement для уха. Источник
Vector displacement — это довольно специфическая текстура. Её редко используют в продакшене даже несмотря на то, что она невероятно мощная и открывает поле для экспериментов. Дело в том, что она требует огромных вычислительных мощностей. Чаще всего это нецелесообразно — такого же результата, который даёт vector displacement, можно добиться менее энергозатратными способами.
Bump — это чёрно-белая карта со значениями пикселей от 0 до 255. Эти значения, как и в случае с displacement, задают смещение высоты на объекте. Разница в том, что bump не меняет геометрию, а просто имитирует изменение направления нормалей. Луч света, сталкиваясь с поверхностью объекта, берёт информацию о направлении нормали из текстуры и меняет свое направление. Это изменение фиксируется относительно камеры, и таким образом создаётся иллюзия рельефа.
Результат её наложения на объект
В целом эта система работает неплохо, но есть две проблемы. Во-первых, эта текстура работает только по одной оси и не может корректно отображать более сложные рельефы.
И, во-вторых, она никак не влияет на геометрию, а значит, на силуэт. Если мы посмотрим на поверхность модели под углом, то станет очевидно, что это лишь имитация детализации.
Главное преимущество карты bump — это низкий вес текстуры и возможность комбинировать её с другими чёрно-белыми картами (metalness, roughness, ambient occlusion и т.д.). Bump можно с успехом использовать для создания микрорельефов или для ассетов заднего плана, но с более сложными задачами она уже не справится.
Результат её наложения на объект
Карта нормалей (normal map)
Normal map — это карта, у которой во всех трёх RGB-каналах хранится информация о направлении нормали каждого пикселя. В процессе рендеринга эта информация используется для коррекции поведения света. То есть карта нормалей никак не влияет на геометрию объекта — вместо этого она имитирует неровности на его поверхности, заставляя свет вести себя так, как будто он взаимодействует с реально существующими деталями.
Результат её наложения на объект
Карта нормалей не увеличивает полигонаж модели, но при этом создаёт вполне реалистичный эффект рельефа. Также она позволяет избежать сильной нагрузки на CPU и GPU при просчёте финальной картинки, что сильно оптимизирует процесс и позволяет смотреть на результат в реальном времени.
Главный недостаток карты нормалей в том, что она не влияет на силуэт — по этой причине она никогда не сможет заменить карту displacement для VFX, где требуется максимальная правдоподобность. Но именно эту карту чаще всего используют в играх — в геймдеве она является стандартом индустрии.
Форматы текстур
Отдельно стоит поговорить про битность и форматы карт детализации.
Битность в картинках — это количество уникальных оттенков в палитре изображения, которые используются для представления каждого цвета. Основная масса текстур использует значение 8 бит, то есть 256 цветов (8 для R, 8 для G и 4 для B — синий обделили из-за слабой чувствительности человека к синим оттенкам). Карты diffuse, bump, reflection, roughness и другие текстуры могут использовать 8-битную систему безо всякой потери качества.
16 бит используют для карт displacement, vector displacement, normal map и вообще любых текстур, где нужна очень крутая градация цветов. Ведь 16 бит — это аж 65 536 возможных вариаций цветов, так что качество displacement напрямую зависит от битности. Также 16 бит используются для карт diffuse + alpha, когда нужен отдельный канал с прозрачностью.
32 бита используются только для карты displacement и для композитинга финальных изображений. Такое огромное количество цветов позволяет тоньше настраивать оттенки во время сборки рендерпассов. Также 32 бита используют в текстурах освещения — так называемых HDRI-картах.
В общем, 32 бита пригождается везде, где нужен огромный диапазон информации. Хороший пример — HDRI-карта с ярким солнцем. Если мы снижаем экспозицию, то всё равно видим яркую точку, а градиенты меняются. Если попробовать провести этот опыт с 8-битной текстурой, то вы получите вот это:
Каждая из вышеописанных карт детализации имеет свои преимущества и недостатки, поэтому часто их используют вместе. В real-time движках displacement используют для придания фактуры средним формам, а normal map — для мелкой детализации. В VFX вся детализация чаще всего создается за счёт displacement, хотя для мелкой детализации bump и normal тоже используются.
Поиск правильного решения и подхода — всегда творческий процесс, поэтому удачи!