Список разделов » 3D Уроки » 3D Making of
LemonCup: MakingOff от AndRiEL
Автор: RIDDICK | LemonCup: MakingOff
Для начала хотел бы отметить один важный момент. Это описание не является единственно правильным путём получения лучшего результата. Кто-то возможно найдёт его полезным но кое что обойдёт или дополнит, кто-то вообще может посчитать ошибочным в корне. Я же подчёркиваю, это просто моя серия решений поставленной задачи и возникших по ходу работы проблем. Вспоминая себя лет 5 назад, вглядываясь в чужие работы, я спрашивал себя - как проходит работа в целом, на сколько автор точно знает что у него должно быть в финале и как идёт к этому? Возможно кто-то из новичков задаётся тем же вопросом, вот ради этого я и опишу здесь не только положение финальной сцены, а и то как пришёл к ней.
Так же, в тексте в целях компактности упущены разные мелочи вроде смещения PivotPoint или объяснения принципов действия тех или иных модификаторов.
Логически всю работу можно разделить на три условных части: 1. Основа - моделируем собственно сам стакан, кусочки льда, лимоны. Настройка временных материалов, окружение. Тестовые рендеры. 2. Ковка композиции - компоновка системы освещения сцены, работа с массивами объектов VrayScatter. Первые рендеры с пост-обработкой. 3. Рендер & Пост-обработка - детализирование модели лимонов, настройка материалов и рендера для финальной версии. Пост-обработка во Fusion.
Часть 1. "Основа". Для начала я на скорую руку, но довольно точно, передал основные элементы сцены по тому образу что был в голове и небольшом фото референсе. Первым был сам стакан.
Моделирование стакана. Line контур + Lathe модификатор и небольшая доводка в Edit Poly. Всё просто и быстро, стакан нужен был самый простой. Line с вершинами Bezie и Corner Bezie имел 6 ступеней сглаживания, а модификатор Lathe задал 32-ух сегментное вращение.
Получилась сетка с довольно хорошим полигонажем, осталось только снять пару фасок на кромках и немного "уплотнить" сетку и чуть чуть скорректировать толщину стекла на донышке. MeshSmooth с 2 интерациями завершает стак модификаторов.
Моделирование льда. Делать идеальные кубики подтаявшего льда я не захотел, нужно было что-то с формами по сложней. Метод моделирования подсмотрел в одном известном уроке моделирования скалы, напомню основные этапы. Создаём несколько замкнутых рубленных Spline-форм с Corner вершинами, расставляем их примерно как на изображении и применяем Extrude.
В итоге мы должны добиться небольшого пересечения геометрий между собой. Конвертируем в Editable Mesh и аттачим друг к другу через один, чтобы получились два объекта. Это упростит операции с булином. Собственно теперь через простой Boolean в режиме Union "склеиваем" одну серию сплайнов с другой и сразу полученное конвертируем в Editable Mesh снова и накладываем модификатор Subdivide.
Далее добавим деталей дисплейсом. Накладываем модификатор UVW Mapping в режиме Box, и сверху кидаем модификатор Displace. В настройках последнего отмечаем галочкой Luminance Center, в слот Map поля Image мы кладём битмапу любого растрового изображения (ч/б) скалы, гранита, мрамора - можно экспериментировать, и что понравится то и оставлять. Силу дисплейса так же подбираем по своему усмотрению. Далее накладываем MeshSmooth, Noise - в моём случае было три пары этих модификаторов, создавая детали всё мельче и мельче.
В результате таким чудным методом родились два кусочка льда для стакана. В последствии добавилось ещё несколько кусочков по той же технологии.
Последним были дольки лимона. Первые версии были совсем простые, Sphere с слайсом на 14 градусов, развёрткой UVW Unwrap для корректного маппинга и две текстуры найденные без труда в интернете.
Далее я немного поигрался с вариациями закладки всех моделек льда и лимонов. Более удачным со второй попытки, оказалось примерно то что и можно увидеть в финальном изображении. Сразу после закладки я решил что буду заливать стакан жидкостью на половину.
Жидкость. Всё очень просто, выбираем стакан, выделяем в центре окружность полигонов на внутренней стороне донышка, и нажимая кнопки [Grow] и [Shrink] примерно подбираем уровень жидкости и делаем копию выделенных полигонов в отдельный объект. Последними штрихами был оператор [Cap] из Edit Poly чтобы создать поверхность жидкости и тут же через [Bevel] продавливаем немного поверхность имитируя эффект поверхностного натяжения воды. MeshSmooth второй интерации.
Отмечу один нюанс о жидкости и стакане. Жидкость наша должна немного заходить под поверхность стекла исключая "воздушную прослойку" между моделью стекла и жидкости. Так как жидкость создавалась на основе сетки стекла, т.е. вершины стенок стакана совпадают с вершинами сетки жидкости, нам достаточно на объект "жидкость" наложить Shell с совсем маленьким влиянием и отмеченной галочкой "Straighten Corners". Цель - в одном из боковых окон проекции, увидеть что объект жидкость начала "экспансию" под поверхность внутренних стенок модели стакана.
Затем накладываем Edit Poly модификатор и в режиме редактирования Element выделяем "внутренний контур" образовавшийся после модификатора Shell, и удаляем его, оставив только контур который входит под поверхность стенок модели стакана. Проверяем ориентацию полигонов модели жидкости, после всех изменений и по необходимости пользуемся модификатором Normal либо кнопкой [Flip] при Edit Poly.
И так, на данном этапе у нас уже есть стакан, внутри него уложены модели льдинок и лимона, а так же залита жидкость. Сама сцена для первых тестов очень простая - плейн размерами чтоб покрывал вид из камеры и один VrayLight светящий на стакан из-за "спины" камеры, собственно сама камера - VRayPhysicalCamera. В качестве заполнения вакуума окружающей среды я воспользовался, довольно цветастой с тёмными почти чёрными пятнами, ХДРкой. Как ни странно, это карта метро, ничего похожего на клуб или бар найти не получилось.
Её я прогрузил в слоты GI Enviroment (skylight) override и Reflection/refraction override с Multiplier по 30. Для GI связка Brute+Brute (люблю его за простоту настроек и лёгкость контроля качества), Антиалиазинг отключен, Image Sampler переключен на DMC.
Материалы объектов на первых порах так же совсем простые и ничего особенного. Плейн подложка стандартный серый виреймат c картой царапин в канал Bump, стакан VrayMtl белого цвета, практически белый колорбоксы для Reflect и Refract, glossiness в обоих полях 1.0, для рефлекшн отмечена галочка Fresnel и значения на первых тестах варьировались от 1.8 до 4. IOR (он же "индекс преломления") для поля refraction я взял табличный для стекла - 1,51714. Галочка Affect shadows так же была отмечена. Материал для лимонов VrayMtl, в Maps дифьюз текстура среза лимона, Opacity такая же текстура черно-белого цвета. Для корочки лимонов материал VrayMtl, и только растровое изображение в Diffuse. Материал жидкости схожий с материалом стекла, отличия только в немного меньшей силе отражений а IOR я взял так же табличный для жидкости 1,333. Материал льда стал моим первым камнем преткновения в работе. В начале первые тесты я пытался его настроить методом тыка и тестов на рендере. Что из этого вышло видно на последующих картинках, в последствии я скачал один из понравившихся мне готовых материалов льда на сайте vray-materials.de и лишь немного его адаптировал под мою сцену. Скриншоты не привожу, всё на самом деле очень примитивно, всё ради скорости рендера и наглядности.
Вот несколько из первых тест-рендеров, которые конечно сейчас выглядят полнейшим ужасом но тогда они довольно неплохо вдохновили на дальнейшую работу над сценой. По сюжету сцены на картинке должен преобладать сильнейший DOF с фокусом на толщи жидкости в стакане. Так для рендеров с начала я подключил и настроил в черновом качестве "живой" DOF от VRayPhysicalCamera, т.е. просчёт глубины резкости самой камерой во время рендера.
На этом тест-проходе, я решил уже добавить мокрый след от стакана на поверхности столешницы. На деле это совсем немного изменённый в Edit Poly объект Tube не замкнутый с слайсом на 250 градусов и очень малой высотой. Так же добавил ещё один источник света под 45 градусов к первому стоящему за камерой. И решил немного усложнить модельку лимона добавив заусеницу на срезе.
Тёмное пятно выше и слева от стакана, это стоящий за гранью ГРИП ещё один стакан не придумал ничего лучше как разнообразить пустой хоть и размытый задний план.
Где-то после этой стадии, что называется "Остапа понесло...".
Часть 2. "Ковка композиции". Следующая часть проведённой работы не поддаётся никакому анализу и систематизации, т.к. велась абсолютно бесконтрольно, на волне удовольствия получаемого от расцветающей на глазах сцены.
Свет. Первое и пожалуй определяющее для этой работы, что было сделано - так это постановка сложной системы освещения. В финальной сцене присутствует 13 источников света различных типов, цветов, светосилы, назначений и зон влияния.
Группа основных, задающих тон всей сцене, состоит из 5 VrayLight сферической формы и насыщенными цветами, два левых холодных синих тонов, три справа различных градаций красного.
Больший из вирейлайтов пришлось исключить из списка влияний на модель стакана, т.к. давал очень большой и некрасивый резкий блик. Однако чтобы гамма стакана не выбивалась из общего ритма, недостаток света после исключения вирейлайта был компенсирован простым TargetSpot того же цвета и примерно равной силы с зоной влияния [только стакан]. В целом многие источники света приходилось исключать из влияний на определённые части сцены и заменять альтернативными.
Массивы моделей каплей и пузырьков газа. Следующий шаг в работе над композицией был решением дополнить окружение каплями жидкости на столешнице и на поверхности сухой части стенок стакана. Так же решил добавить подтёк жидкости в области соприкосновения столешницы и донышка стакана. Первое было решено осуществлять посредством плагина VrayScatter. Для этого я подготовил две модели каплей, одна чуть чуть вытянутая, для размещения на стакане, и одна в форме сплюснутой сферы для столешницы. Самые обыкновенные Sphere на 18 сегментов, слегка помятые через FFD и немного Noise - по вкусу.
Основные настройки скаттера для капель на столешницу - максимальное число 20`000, распространение через маску по карте Noise (Fractal, Size:10, Hi 0.835, Lo 0.355, Lvls 10), радиус для коллизий 1см, обе галочки о получении и генерации коллизий отмечены, рандомизированное вращение на 360' по оси Z, разница в скалировании от 6 до 30 по карте аналогичной распространению. Для капель на стакан всё аналогично за исключением максимального числа в 1500 и скалирования от 13 до 24%. Материал для капель, VrayMtl с чёрным дифьюзом, практически белым цветом в колорбоксе рефлекта и рефракта, глоссинесс по 1.0, IOR 1,6 и отражения френелевские. Галочка Affect Shadows так же отмечена.
После этого тест-прогона рендером я решил добавить ещё и ровные сферки пузыриков газа на "мокрую" поверхность стенок стакана имитируя оседающий СО2 газ. Настройки VrayScatter для них схожи с двумя предыдущими за исключением максимального кол-ва к которому я пришёл после нескольких пре-тестов - 9`000 и скалирование от 5,2 до 7% и радиус к столкновению в 0,5. Забегая на перёд, на предпоследних стадиях доводки сцены, практически когда работа уже велась только над пост-обработкой, я решил добавить ещё и четвёртый VrayScatter который бы имитировал скопление выдавленных большего размера пузырьков газа со стенок к поверхности. (красного цвета на изображении ниже)
Настройки практически идентичные настройкам для пузырьков газа на стенках сосуда (3ий вирейСкаттер) с одним важным отличием. В слот Mask поля Scale я загрузил карту Gradient Ramp с простым и стандартным чёрно-белым переходом вертикально ориентированным (белый сверх). Это дало возможность настроить размеры пузырьков газа по мере их приближения к поверхности. Более крупные пузырьки воздуха сильней выталкивает к поверхности.
Вообще конечно газ должен оседать не только на стенках сосуда но и на помещённых в жидкость предметах, например ложка или как в моём случае льдинки и лимоны, но мне показалось что это сильно перегрузит сцену, и зона фокуса будет сильно пестрить.
В качестве объектов-баз или "эмиттеров" я использовал копии объектов на поверхности которых нужно было создавать массивы VrayScatter, с удалёнными частями полигональной сетки где распространение массива нужно не было. Так например для создания наружных капель на стакане, я скопировал стакан и удалил полностью внутреннюю поверхность, полностью донышко и верхнюю кромку. В качестве эмитера пузырьков газа использовал опять же копию стакана но из сетки от него осталась лишь часть внутренней поверхности которая сопоставима с уровнем жидкости в стакане. Для пузырьков газа около поверхности, я использовал совсем тоненький ободок сетки внутренней поверхности стакана. На изображении ниже, Emitter 1, 2 и 3 соответственно.
Сразу после работы над скаттерами я пришёл к мысли сделать ещё одно небольшое улучшение моей "гидро системы" и добавить мокрое соприкосновение кусочков льда со стеклом выше уровня жидкости. Тут всё просто, по сути это большая вытянутая капля.
После этих всех дополнений я решил первый раз в этой работе сделать пробный пост. Пост-обработка выполнялась в пакете Eyeon Fusion 6, и сводилась к работе с цветностью и уровнями контраста, в конце дополнялось уже постовым DOF`ом. К описанию процесса пост-обработки я далее вернусь более подробно. Вышло что-то примерно такое.
Когда сошёл восторг и эйфория, я пришёл к мысли что это полнейший ужас и настоящая работа над "продуктом" только начинается.
Часть 3. "Рендер & Пост-обработка". Подготовка к финальному рендеру оказалась не такой уж и быстрой, было около 16 "финальных" версий пока я не пришёл к искомому. Начать я решил с доработки лимонов. Для начала я изменил сами модели лимонов, добавив проработку геометрией через Editable Poly а так же серией модификаторов такими как Twist, FFD и Noise.
Так как я был крайне не доволен материалом лимона на рендере я решил попробовать VrayFastSSS2 материал вместо простого VrayMtl. Кстати это стало толчком перейти с VRay 1.5sp2 на sp5 версию Практически ничего не зная об этом материале и с нулевым опытом работы в нём, я почитав немного официальный мануал, смог накрутить довольно неплохой эффект на рендере. Во всяком случае куда лучше чем предыдущий материал.
Дополнил ещё несколькими кусочками льда композицию и доработал материал льда.
Материал стакана
Жидкость
Столешница
Рендеринг финальной версии шёл в TGA формат с глубиной в 32 бита из Render Elements понадобился только пасс zDepth. Собственно сами настройки рендера таковы, ничего особенного...
Пост-обработка. Как я уже отмечал, пост-обработка изображения проводилась в Fusion 6.14. Разбирать RGB пасс на составляющие я посчитал лишним, не интерьер всё таки постим, по этому треад компоуза начинается сразу с цельной картинки из рендера.
Дабы не рассусоливать каждый оператор компоуза и не просвещать в возможно свои же ошибки я пройдусь кратко по основному что стоит внимания.
Первым оператором я подчистил изображение - sharp, силу выставил совсем незначительную, т.к. сам очень не люблю "перешарп" BrightnessConstrast - поднимаю до 1,1 параметры Gain и Gamma ColorCurves - работая с каналом Red я слегка поднимаю кривую синего цвета, добавляя "холода" в сцену. Влияние оператора я сделал избирательным, исключив маской область с льдом, лимонами и до самого донышка. ColorCorrect - слегка затеняю зону с лимонами опуская brightness, gamma и gain параметры а так же поднимаю Saturation Brightness - высветляю правый верхний угол с красноватым свечением Depth of Field (frischluft) - работая по каналу zDepth выбираю в зону фокуса область в которую попадает толща жидкости в стакане, по вкусу настраиваю боккэ. Тут пожалуй я дольше всего игрался с настройками, хотя это возможно просто потому что из тут полно и мне хотелось всё покрутить. WarpChroma (sapphire) - тут всё просто, это абберации. Дальше всё ещё проще, Glow придать блума изображению, ColorCorrect с маской для имитации виньетирования, фларик на край стакана, ещё один CC с повышением сатурейшн (основное подкрашивание картинки) до 1,4 и немного + контраста и всё это с исключением маской стакана по всей высоте. Ещё один CC для усиления виньетирования с чуть другими параметрами маски. Gain работающий по zDepth`у шумящий только вне зоны ГРИП и последний CC подкрашивающий лимончики.
В заключение расскажу об одном казусе случившемся на самых последних уже минутах работы над изображением, когда выдержка уже совсем сдавала и хотелось по скорей закончить всё. Загружая loader`ом в фьюжен начальное изображение, я совсем забыл заглянуть в закладку Import и проверить в какой битности программа предлагает работать по умолчанию. Т.к. рендерилось всё в широком спектре на 32 бита, имело бы смысл использовать на посте все эти возможности, но я об этом всём забыл и программа по дефалту "подрезала" всё под 8 бит. По ходу работы над постом я наблюдал как растёт "лестничный" эффект на градиентах и ничего не мог с этим поделать. Когда всё таки исправил эту досадную ошибку, из-за которой пришлось отзывать свою работу с галерей куда уже было загружено изображение, я был очень удивлён увидев на своём примере как сильно влияет на качество работы 8ми битный спектр. Сравнительное изображение ниже
Надеюсь кому-то эта куча текста помогла разобраться дав ответы на некоторые вопросы
Блог автора: |
Автор: Teref | . Мне еще долго в 3Д эволюционировать придется до такого уровня. |
Автор: AndRiEL | Всё ж расписано, можете повторить по шагам)) |
Автор: Nikola | А можно узнать почему пост-обработка делалась во Fusion ? И есть ли у него преимущество для обработки статики в отличии от фотошопа?
Извиняюсь если вопрос тупой, я только начинаю учить 3d. |
Автор: AndRiEL | Просто перехожу с фотошопа на фьюжн в плане постобработки. Мне удобней с нодовой системой чем со слоями. Преимущество фью в том что он может работать с анимацией.
Весь пост сделанный в этой работе, с незначительными отличиями можно сделать и в фотошопе. Никакой особой магии во фьюжине нет, просто инструмент немного другого вида |
Автор: Nikola | Большое спасибо. Прикольная эта штука 3d max, правда очень сложная. |
Автор: sha ming | Спасибо |
Количество просмотров у этой темы: 10606.
← Предыдущая тема: Making of ‘Twins’(Peter Guthrie)|Этапы создания ‘Близнецы’