Создание бутылки покрытой каплями воды
Здравствуйте, меня зовут Александр, мне 22 года, живу в городе Ташкенте, 3D занимаюсь около трех лет. В этом уроке я хочу рассказать вам о создании бутылки чая (Ice Tea), покрытой каплями воды. Все что нам потребуется это пол-литровая бутылка и терпение.
Я буду использовать 3DS Max 8 SP3, Vray 1.5, Power Boolean, Node Joe и Photoshop.
Моделирование.
Бутылка.
Сфотографируйте бутылку, подправьте ее в Фотошопе так, чтобы легче было моделировать, и сохраните с качеством получше. Создайте новую сцену в Максе и поставьте размеры сцены в сантиметры - Customize > Units Setup. Вставьте сохраненную картинку в окно Front - Alt+B (поставьте переключатель на Match Bitmap и Lock Zoom/Pan). Создайте Rectangle по контуру бутылки, сконвертируйте в Editable Spline выделите верхний и нижний сегменты и нажмите Divide, теперь удалите половину квадрата.
Таким способом я делаю все объекты, к которым в дальнейшем буду применять Lathe, объясню почему – дивайдом вы делите квадрат пополам, и ось Lathe будет точно посередине объекта, и вам не придется ее отдельно настраивать. Теперь из оставшейся половины квадрата, при помощи инструментов на панели Modify сделайте часть (до начала рожков на донышке) профиля бутылки.Во вкладке Interpolation поставьте Steps равное 2.
Выделите все вершины кроме нижней центральной и сдвиньте совсем немного к центру бутылки – позже поймете зачем. Добавьте одну вершину по середине нижнего сегмента.
Теперь примените к сплайну Lathe, включите Weld Core и поставьте 25 сегментов.
Сконвертируйте полученный объект в Editable Poly, выделите полигоны, как на рисунке и экструдируйте вниз, пока они не окажутся немного ниже дна.
Примените к объекту TurboSmooth c двумя итерациями и включите галку Isoline Display. В стеке спуститесь к подобъекту Polygon в Editable Poly и выделите полигоны как на рисунке и немного опустите вниз.
Нажмите кнопку Show end result и, выделяя нижние ряды вершин, при помощи инструментов Scale и Move, подгоните их по рисунку, чтобы получились рожки.
Высота моей бутылки 24 См, поэтому я уменьшаю ее до таких размеров. Затем примените поверх TurboSmooth’ а Shell, отметьте Override Inner Mat ID: 3, Inner Amount поставьте 0,03См, а Outer Amount - 0,05 См (помните, мы двигали в сплайне вершины к центру – теперь они встали на свои места, а у бутылки появилась толщина). Геометрия бутылки готова назовите ее как-нибудь, например Bottle.
Жидкость.
Выделите бутылку и нажмите Ctrl+V, в появившемся окне выберите Copy, дайте имя, например Tea и нажмите Ok – это и будет жидкость. Выделите жидкость и в стеке модификаторов удалите Shell. То, что жидкость оказалась немного внутри бутылки не логично, но это нужно для правильного рендеринга. Теперь нам нужно сделать границу жидкости, то есть немного срезать верхушку, я буду делать полную бутылку, поэтому буду срезать в начале горлышка. Первое что приходит в голову, это Slice, а поверх него Cap Holes, я так и попробовал, и все вроде было нормально, пока дело не дошло до рендеринга, в некоторых местах появились странного вида грани. Даже при переключении Operate On на Faces в Slice’е, все равно результат несильно изменялся, по-моему, Slice немного изменяет геометрию, а может, это я что-то не учел, короче в итоге я сделал вот так: Создайте Box, выровняйте его с жидкостью и переместите вверх как на рисунке.
Нижняя плоскость бокса и будет границей жидкости. Выделите жидкость и во вкладке Compound Objects, панели Create выберите ProBoolean, отметьте Subtraction, нажмите Start picking и выберите бокс. Если вы срезали слишком много или мало, то вы можете отрегулировать это на панели Modify. В стеке выберите Operands, во вкладке Parameters переключатель Display поставьте на Operands, и в окошке Sub-Object Operations выберите бокс, при помощи Select & Move поправьте бокс по оси Z как нужно. Кстати, если вы будете наклонять бутылку, то чтобы выровнять жидкость относительно горизонта просто поверните бокс по той же оси в противоположную сторону на такой же угол. Верните переключатель Display на Result. Жидкость готова.
Крышка.
Будем делать по тому же принципу, что и основу бутылки из Rectangle’a. Удалите половину, обведите профиль крышки вместе с внутренней стороной и примените Lathe, 48 сегментов будет достаточно.
Этикетка.
Скопируйте бутылку, удалите у копии TurboSmooth, в модификаторе Shell увеличьте Outer Amount на 0,02. Сконвертируйте объект в Editable Poly, в режиме редактирования полигонов в свитке Polygon Properties, в окно Select ID впишите 3, нажмите кнопку Select ID, а потом Delete на клавиатуре – все внутренние полигоны удалены.
Теперь удалите все полигоны, кроме выделенных на рисунке. На подуровне Border, выделите обе границы, и Crease сделайте равным 1.
Примените TurboSmooth c двумя итерациями. Этикетка готова.
Окружение и свет.
Я не стану подробно описывать этот раздел, по двум причинам во-первых, я думаю, что каждый делает окружение по своему, кто-то делает полусферу, кто-то комнату, кто то еще что-то. А во-вторых, есть немало хороших уроков на эту тему. Но если вам интересно, то я делал так. В виде сверху создайте плейн, примерно 25 на 25 см, примените к нему VrayMtl с текстуркой, это будет пол.
Создайте 2 планарных VrayLight’а как на рисунке и один Dome c голубой ХДРкой (например неба), для отражений. Основной свет будет VraySun.
Свою бутылку я делал на фоне природы, поэтому на Gi Environment (Renderer>Environment) я назначил природную ХДРку (откуда она у меня взялась, и почему у нее такое ужасное качество я не знаю).
На Reflection/refraction environment, я назначил ту же ХДРку, только немного изменил настройки.
Включаем GI – настройки немного меняем, также изменим Color Mapping:
Материалы.
Крышка.
Выберите крышку, спуститесь в стеке к Editable Spline, выделите сегмент как на рисунке, и назначьте ему ID 1, всем остальным – 2, если хотите сделать надпись или рисунок на крышке, то самому верхнему сегменту назначьте ID 3.
В Lathe включите Generate Material IDs и Use Shape Ids, сверху назначьте UVW Mapping и настройте.
В качестве редактора материалов я буду использовать Node Joe. Открываем Node Joe и создаем новый Multi/Sub-Object Material с двумя под материалами, называем его Cap. В первый слот кладем VrayMtl, называем Cap Bump, меняем настройки:Diffuse - 253, 223, 0, Reflect – 150, 150, 150, Refract – 100, 100, 100, Fog и Back-Side Color такой же как и Diffuse, и копируем во второй слот, называем No Bump.
Возвращаемся в Cap Bump и в слот бамп кладем текстуру Tiles и ставим влияние 150, это будут полосы на крышке. Меняем настройки Tiles’а и назначаем материал Cap крышке.
Этикетка.
Выделяем этикетку, назначаем UVW Mapping, с Cylindrical маппингом по высоте.
Создаем новый VRay2Sided Material, как-нибудь называем, в первый слот кидаем VrayMtl, меняем настройки и на слот Diffuse кладем изображение этикетки, правда, сначала его нужно нарисовать или можете воспользоваться моим файл Etiketka.jpg, (если это можно назвать этикеткой:)).
Во второй слот кидаем белый VrayMtl.
В VRay2Sided Material’е меняем цвет Translucency на R-65, G-65, B-65, теперь если смотреть на нашу этикетку с обратной стороны, то сквозь нее будет немного просвечивать лицевая сторона, и если сзади нее будет темный объект, то она станет темнее.
Назначаем материал.
Бутылка.
У бутылки в верхней части, с трех сторон, выдавлен рисунок, а вокруг него шероховатая поверхность. Допустим, рисунком у нас будет лимон. Нам нужно сделать этот рисунок, я буду рисовать в Максе, мне так удобнее, а вы как хотите.
Я сделал два объекта: первый контур, который будет выдавлен, (белого цвета), второй – весь объект без дырочек (черный).
Сохраняем с альфа каналом.
Если рисовали в Фотошопе или в Кореле, то чтобы сделать такой альфа канал, делаем следующее: открываем в Фотошопе, выделяем объект, добавляем к выделению внутреннюю часть объекта и сохраняем в альфа канал (нажимаем Save > Save selection как-нибудь называем).
Сохраняем картинку обязательно с альфа каналом, например в Tiff. Как-нибудь называем, например Bump.
Так как на нашей бутылке бамп не по всей поверхности, а местами, то проще всего было бы сделать Multi/Sub-Object Material, с двумя под материалами, один с бампом, а другой без. Но в нашем случае так не получится, потому что параметр Affect shadows не работает внутри Multi/Sub-Object Material’а, поэтому пойдем другим путем - через каналы текстур.
Выберите бутылку, вырежете у нее все модификаторы, в Editable Poly выберите полигоны как на рисунке, не снимая выделения, назначьте UVW Mapping, с Cylindrical маппингом, настройте его как на рисунке.
Сконвертируйте бутылку в Editable Poly и вставьте модификаторы.
Создаем новый VrayMtl, называем его Bottle. Меняем настройки: Diffuse –254, 255, 230, Reflect – белый, Refract – 240, 240, 240 и назначаем его бутылке.
Теперь шероховатость и рисунок – я решил делать ее бампом, создаем карту Composite и во второй слот кладем нашу картинку с лимоном, меняем настройки. В свитке Output Bump Amount поставьте 2.
А в первый слот композита кладем Cellular, настройки ниже, это будет шероховатость. В свитке Output Bump Amount поставьте 0,5.
Теперь нужно указать, где бамп будет, а где нет. Создаем карту Mask, привязываем к слоту Bump, в первый слот вставляем нашу карту Composite, а во второй Gradient Ramp, настраиваем как на рисунке (не забудьте поменять Map Channel на 2, это важно), включаем Show Map In Viewport. В материале Bottle параметр Bump поставьте 45.
Выделяем бутылку, назначаем ей UVW Mapping, с Cylindrical маппингом, меняем Map Channel на 2, настраиваем флажки в Gradient Ramp’е так, чтобы белый цвет был там, где должен быть бамп.
Вот что мы видим на просчете.
Материал жидкости.
Стандартная водичка, только Fog поменяем: 210, 196, 94.
Просчет с жидкостью.
Все бутылка готова, осталось сделать мелочь – капли :).
Мне хотелось сделать капли именно материалом, а не моделить каким либо способом. Бамп отпадает сразу, потому что на краях его видно не будет, остается дисплейс. В Вреевском дисплейсе есть замечательная штука Water level, она отсекает геометрию, основываясь на черно-белой карте. Если говорить просто черный отсекается, белый и оттенки серого – остаются. Короче нам не придется создавать материал Blend и все такое.
Выделяем бутылку, копируем, называем Drops, удаляем TurboSmooth, поверх Shell’a кладем Edit Poly, удаляем все полигоны с ID 3, всем остальным ставим ID 1.
Сверху кидаем UVW Mapping с Cylindrical маппингом по высоте, сверху TurboSmooth с двумя итерациями и VrayDisplacementMod, настройки ниже.
Создаем новый VrayMtl, называем Drops, меняем настройки: Reflect и Refract – белый, Diffuse – черный.
Если вам нужны капли в определенных местах, то сделайте развертку с объекта Drops и нарисуйте их, например в Фотошопе. А я попробую сделать текстуру капель в Максе.
Для экспериментов с каплями, я скопировал бутылку, назначил на нее VrayMtl, с настройками по умолчанию, и скрыл оригинал бутылки и жидкость, так и считает быстрее и капли на сером материале лучше видно.
Сначала сделаем основные капельки. В слоте Displacement материала Drops создаем карту Cellular, называем Main Drops, меняем настройки и кидаем ее в слот Texmap, VrayDisplacementMod’а как Instance.
На просчете – видим стеклянные прыщики.
Чтобы капли были реалистичнее надо сделать так, чтобы они снизу были немного толще, чем сверху. Создаем карту Mask, называем Main Drops Edit, в первый слот кидаем Main Drops, а затем копируем ее во второй слот и немного меняем: offset – чтобы капли немного поднялись вверх, Tiling – для того чтобы они были чуть шире, цвет – чтобы маска не скрывала карту Main Drops полностью.
Включаем в карте Main Drops Edit галку Invert Mask, кидаем ее в слот Texmap и считаем...
Вроде нормально, только капли сильно выдавлены, исправим: добавляем карту Output к карте Main Drops Edit, называем Main Drops Ready, уменьшаем Output Amount, опять считаем (не забывайте перед просчетом перебрасывать, последнюю карту в слот Texmap)...
Считаем...
Неплохо, теперь капли поменьше – создаем новую карту Cellular, называем Small Drops, настраиваем, заменяем в VrayDisplacementMod’е
и cчитаем
Теперь нужно совместить капли, создаем карту Composite, называем Drops Ready, в первый слот кидаем Main Drops Ready, а во второй - Small Drops.
Включаем в карте Small Drops галку Alpha from RGB Intensity, в свитке Output.
Теперь кидаем Drops Ready в слот Texmap и просчитываем.
Смотрим, чего-то не хватает?
Каустика.
Нажимаем F10, во вкладке Renderer спускаемся до свитка Caustics и нажимаем On. Немного поэкспериментировав, я поставил следующие настройки.
Также изменил всем источникам света значение Caustic subdiv. и Caustic multiplier, в свитке System.
Просчитываем..........................................................................
Теперь скройте копию бутылки, достаньте оригинал, жидкость, и можно считать.
Ну, вот и все на этом этот урок заканчивается. Надеюсь описал процесс довольно подробно. Если Вас интересует, почему я делал что-то именно так, а не по другому - наверно так мне удобней, также не утверждаю, что этот способ самый лучший – сколько людей столько мнений. Кстати если Вам нужны капли более неправильной формы их можно сделать другими процедурными картами (Noise, Stucco и т.д.).
P.S. Изначально этот проект делался для постера (или банера не помню), но так как я успел сделать только бутылку, а нужно было моделить что-то еще, (и все это за 4 дня, вместе с роликом где капли анимированы) короче все это осталось мне, поэтому вот Вам и финальная сцена.
Благодарю за внимание.
3dwatson@mail.ru