Автор: Aleksandr1
Всем привет, это снова я ). Я тут недавно вспоминал как я был
новичком, и сколько времени потратил на неправильные и не удобные
способы моделирования. Вот решил поделиться своими знаниями. Не так
давно вы могли видеть мой Making of,
где я рассказывал про один из способов создания автомобиля, но там всё
было очень поверхностно, а в этом уроке я расскажу по подробнее про
этот способ, а также про всякие опасности и хитрости моделирования.
Думаю урок будет больше расчитан на новичков.
Для работы я использую 3ds max 8 и V-Ray
1.5 RC3. Вначале я хочу рассказать про интерфейс Макса. Дело в том,
что его можно настроить гораздо удобней чем по умолчанию. Например с
помощью нового Toolbar, в который можно поместить всякие полезные
функции которые обычно находятся в очень не удобных местах. Для того
чтобы сделать новый Toolbar делаем следующее.
Названия кнопок можно поменять или поставить на них значок. Toolbar можно прикрепить куда угодно. У меня всё это выгладит вот так.
А самые часто используемые функции можно поставить на клавиши
У меня клавиатура настроена вот так
С такими настройками Макса удобней работать. Все движения сводятся на минимум и работа идёт быстрее. Если у вас Макс совсем недавно, то я вам не советую просто так клацать по клавишам. Действия некоторых кнопок могут вам не понравиться. Потом долго будете искать, как вернуть всё обратно. Вот примеры некоторых подобных клавиш.
Итак, начнём. А начать стоит с поиска чертежей автомобиля который будете моделить. Хороших чертежей мало. В основном попадаются подделки. Некоторые из них можно отличить на глаз. Вот несколько примеров таких чертежей. Тот чертёж справа, это не чертёж. То есть выглядит он как чертёж, но судя по всему, он сделан из фото. А то, что слева, это и есть фото.
Такие чертежи использовать для работы не рекомендую. Несоответствие с оригиналом может быть очень заметно. К тому же работать по таким чертежам сплошное мучение. Но, даже если вы раздобыли с виду правильные чертежи, это ещё не означает, что они правильные. Про то, как проверять чертежи я рассказывал в моём making of. Обязательно найдите фотографии вашего автомобиля в разных ракурсах. А также фото различных частей автомобиля крупным планом. Например, салон, кресла, диски, а главное фотографии фар. Все эти детали на чертежах изображены очень плохо. По этому чем больше разрешение фотографий, тем лучше. Всё это можно достать тут www.netcarshow.com. Фон искать можно там же. Теперь заходим в Макс, сразу же отключаем маленькое окошко с бесполезной информацией, которое всплывает при рендере. Просто в настройках рендера заходим во вкладку System, убираем галочку возле show window. И перед тем, как приступить к моделированию, я хочу рассказать про способы защиты от неожиданных, непонятных, бессмысленных, тупых глюков Макса, которые могут подстерегать нас на каждом шагу. Основной способ защиты, это папка autoback, в которую Макс каждые пять минут сохраняет вашу работу. И если он глюкнет, то просто откройте его снова, зайдите в file / open, в папке с Максом находим папку autoback, и жмём там на последний файл. То есть выходит, что вы в результате потеряли лишь пять минут работы. Но сначала убедитесь, что эта функция включена.
Также, периодически, на разных этапах, сохраняйте вашу работу в
отдельный файл. К примеру, вы испортили какую-нибудь деталь. В таком
случае эту деталь не обязательно делать заново или исправлять, её можно
взять из предыдущего сохранения. Открываем меню file, выбираем merge,
жмём на предыдущее сохранение, в появившемся окне выбираем эту деталь и
вы спасены. И разумеется нельзя забывать про hold. Это как возврат
действия, только круче. Перед тем как сделать какое-нибудь сомнительное
действие, жмём edit / hold, и если действие, которое задумывали, нас
разочаровало то, тогда опять открываем edit и жмём fetch, который
вернёт нас на то место, где нажали hold. Но помните, отменить fetch
нельзя. Кстати hold можно открыть как сохранение. В той же папке
autoback жмём на файл с именем maxhold.mx.
Ну вот теперь можно спокойно приступать к моделированию. Начинаем с
расстановки чертежей. Думаю лучше всего работать с прозрачными.
Для моделирования кузова я использую способ со сплайнами. То есть, сплайнами выкладываю сетку, применяю модификатор surface, а остальное делаю в editable poly. Сплайнами я выкладываю лишь самые основные линии, что бы получилась начальная форма, всё остальное мы будем делать в editable poly, так-как там больше инструментов. Не стоит сплайнами делать сложную сетку, а то модификатор surface может запутаться и выдавать не правильные результаты. Соблюдать особую точность на этом этапе тоже не обязательно. Должно получиться что-то подобное.
На этапе сплайнов главная цель, добиться сетки состоящей из четырёхугольников и треугольников, по тому, что surface не работает больше чем с четырьмя углами. Линии в сплайнах делаются так.
Затем применяем модификатор surface. Тут вы сразу и увидите, где забыли сделать четырёхугольники )). Обязательно treshold переставьте на ноль, что бы он не сваривал близлежащие точки. Steps тоже переставьте на ноль. Возможно ещё придётся нажать на flip. Затем следует модификатор symmetry. Иногда он может размещать центр не там где надо. В таком случае поможет инструмент Align, который совмещает центры объектов.
Можно ещё другим способом сделать. Тоже нажимаем на mirror в symmetry, а потом в икс вводим ноль. Сразу же добавляем и MeshSmooth. В нём во вкладке subdivision amount в первом Iterations всегда ставим двойку. Iterations это количество сглаживаний, по этому не вздумайте ради эксперимента ставить туда какие-то большие цифры. Оно капитально нагрузит копм, и он зависнет. Если у вас скопилось много модификаторов лучше соедините их. Жмём на последнем модификаторе правую кнопку и выбираем collapse all. Или если хотите свернуть всё только до определённого модифкатора, наводим на него курсор и жмем collapse to. В нашем случае сворачиваем line и surface. После этого увидим модификатор editable poly, в котором и будет проходить вся работа. В editable poly во вкладке polygon properties отключаем первую группу сглаживания. Так проще работать. Про группы сглаживания расскажу позже. Начинаем проводить дополнительные линии и вырисовывать на кузове все подробности. Лини тянуть можно с помощью кнопки cut в editable poly. Можно провести прямую линию кнопкой quick slice. Не забывайте, что quick slice пройдёт через весь кузов. Если он вам нужен только на определённом участке, выделите этот участок полигонами, а потом уже проводим quick slice. Образовавшаяся линия не выйдет за пределы выделенных полигонов. Избавляться от линий можно с помощью кнопки target weld, которая присоединит точку к одной из соседних. Ещё можно выделить линию и нажать кнопку remove. Только после такого удаления, останутся точки которые лежали на этой линии.
Конечно, эти точки можно удалить и вручную, но часто бывает так, что они находятся в очень сложных местах и выделять их вручную долго. Поэтому после того как выделили линию, жмём правую кнопку, выбираем convert to vertex, а потом уже возвращаемся в режим редактирования линий и удаляем эту линию. Потом заходим в режим редактирования точек. Видим, что точки после удаления линии остались выделенными, и остаётся только нажать remove. Таким образом формируем более или менее правильную сетку. И пока что приблизительно выравниваем весь кузов по чертежам. Теперь про группы сглаживания. Группы сглаживания - это когда одним полигонам присваивается одна группа, а вторым другая. Линия которая является границей разделяющей эти группы, после сглаживания останется острой.
Но использовать группы повсюду нельзя. Во-первых, такая линия будет идеально острой. А во-вторых, часто острые линии на кузове должны плавно исчезать, то есть переходить в плоскость. Способ с группами сглаживания в таком случае не годится. Чтобы линия после mesh smooth осталась острой, обычно её раздваивают с помощью chamfer. Не рекомендую делать chamfer меньше чем 0,03, а то с линией будет неудобно работать. Также, линия может оказаться не достаточно острой, даже если на ней самый мелкий chamfer. Это зависит от соседних линий, идущих вдоль раздвоенной. Чем ближе соседние линии, тем острее будет раздвоенная.
После того, как раздвоили все необходимые линии, начинаем окончательно формировать сетку. Не делайте слишком сложную сетку, старайтесь всё упростить, чтобы потом было легче выровнять кузов. Также есть определённые правила размещения линий. Вот некоторые из них.
После того, как определились со всеми линиями, начинаем окончательно выравнивать кузов. Некоторые места в автомобиле могут состоять из абсолютно прямых линий. Их можно выровнять с помощью кнопок X, Y, Z в editable poly. Также в editable poly есть один очень интересный инструмент, который очень поможет выровнять кузов. Если например взять точку и потянуть её в какую-либо сторону, то она остановится там, где вы её отпустите. Но если, во вкладке Edit Geometry напротив constraints в выпадающем меню выбрать режим edge, то точка будет двигаться строго по линиям которые от неё отходят.
Откройте Макс и сами посмотрите как будет двигаться точка. Вот некоторые примеры где эта функция будет полезна. Допустим вы провели линию, как на рисунке слева, а хотите переместить её по центру как на рисунке справа.
Для этого выделяем точки этой линии в constraints выбираем edge, и просто двигаем эти точки вниз до нужного вам места. Все точки будут двигаться строго по линиям. Следующий пример. Допустим у вас есть прямая линия как на левом рисунке, а вы хотите её повернуть, но чтобы линия оставалась прямой, как на правом рисунке.
Также в constraints выбираем edge, и просто поворачиваем как нам надо. По той же самой схеме можно пользоваться кнопками X. Y. Z. где угодно. Режим edge в constraints обладает ещё одной особенностью. Точка двигается строго по линии до тех пор, пока не наткнётся на соседнюю точку. Дальше этой соседней точки она не двинется. Эту особенность можно использовать. Допустим вы провели с помощью cut линию. Но она оказалась немножко кривой как на левом рисунке. А вы хотите чтобы она была параллельна соседней ровной линии, как на правом рисунке.
Опять же в constraints выбираем edge, выделяем все точки этой линии, и просто тянем их к соседней линии до тех пор пока все точки не сравняются со своими соседями, а потом обязательно отпускаем левую кнопку мыши. После такого действия, точки сбрасывают информацию о изначальном своём расположении. Дальше, не снимая выделения с этих точек, тянем их обратно вверх. Вы увидите, что наша линия выровнялась за счёт соседней, и теперь абсолютно параллельна ей. Еще помимо edge в том списке есть face. Это тоже самое, только точка двигается не по линии, а по прилегающим полигонам. В некоторых местах это тоже может быть полезно. Есть ещё кнопки snaps. Их можно использовать по разному. Я их использую на этапе выравнивания кузова. Например у вас есть линия как на левом рисунке, а вы хотите разместить её по середине, как на рисунке справа.
Для этого делаем следующее
И так каждую точку. Это не долго, все эти действия делаются за несколько секунд. Но помните. Если перед editable poly находится ещё какой то модификатор, то snaps может работать не правильно. Есть ещё один интересный приём. Если тоже включить snaps и привязку к центру линии, и попробовать с помощью cut провести линию, то мы увидим, что она проходит ровно по середине. То есть на равном расстоянии от соседних линий. При выравнивании кузова, может пригодится функция named selection sets.
Сюда нужно вводить имя, которое хотите присвоить группе точек линий или полигонов. То есть, если вам опять надо будет выделить эти точки, не надо снова вручную выделять каждую из них. Просто в named selection sets выбираем то имя которое им присвоили, и они выделятся сами. Но если вы после присвоения имени как-то изменили кузов то эта функция может не сработать. Ещё пригодятся модификаторы FFD.
Также некоторые линии на кузове будет проще согнуть с помощью FFD, чем передвигать каждую точку линии. Правда, если все точки линии будут лежать в одной плоскости, FFD может не сработать. Также эти модификаторы можно использовать не только на кузове. Они могут пригодится абсолютно на всех деталях. После того как мы выровняли кузов по чертежам, сверили всё с фотографиями, то нужно проверить его ровность. То есть чтобы все линии были ровными, а на плоскостях не было никаких вмятин. Модель может казаться абсолютно ровной, но если поставить светильник и сделать тестовый рендр, то мы увидим, что она не такая уж идеальная. Все неровности и вмятины будут влиять на отражение. По этому их нужно убирать. Делайте тестовые рендеры с разных ракурсов и меняйте расположение светильника чтобы можно было увидеть все неровности. Вот один такой пример.
Только приступайте к редактированию в mesh smooth, лишь после того, как всё закончили в editable poly. Если вы после редактирования в mesh smooth вернётесь в editable poly и как-то измените геометрию кузова, то mesh smooth неправильно деформирует кузов. Далее у нас следуют действия, которые идут уже после mesh smooth. А это значит, что после этих действий вернуться назад уже будет нельзя. По этому, пока мы их не начали делать, можно присвоить некоторым участкам кузова свой номер ID, чтобы потом их легко можно было отделить. Допустим вам нужно отделить днище.
Приглядитесь к кузову, подумайте, какие ещё детали можно отделить таким же способом. После того, как всё закончили, жмём collapse all, который должен свернуть всё в один editable poly, в котором мы и продолжим работу. Теперь отделяем остальные элементы авто. Обычно я это делаю с помощью shape merge .Shape merge - это такой инструмент с помощью которого можно на кузов нанести контур любого сплайна. Допустим нам нужно сделать углубление под дверную ручку.
При помощи shape merge можно отделить все - стёкла, решётки, фары и некоторые другие детали. Но, есть определённые правила. Например, Shape merge не работает с не замкнутым сплайном. Также не разрывайте замкнутый сплайн. Даже если вы его потом соедините, это ничего не изменит. Ещё если повернуть сплайн, shape merge выдаст неправильный результат. Если вам не понравилось расположение контура на кузове, его можно легко переместить.
Чтобы кузов окончательно был готов, осталось сделать только швы. Для этого, я использую сплайны и boolean. Но сначала расскажу кое-что про boolean. Он не заменим в случаях, когда нужно сделать дырку или углубление в виде сложной формы.
Вы наверное думаете, что boolean неправильно работает и в нём много правил. Я тоже так думал. Но недавно перепроверил информацию, и, оказалось, что правил всего несколько. Например boolean не работает с незамкнутой поверхностью. То есть если в объекте есть дыра, boolean выдаст не правильный результат. Исключением является только режим cut. Вы можете и не знать, что в вашем объекте есть дыра. Она может быть настолько мелкой, что вы её просто не увидите. Для того, чтобы проверить объект на наличие дырок, существует модификатор STL Check.
Также, boolean не работает после режима cut. То есть, если вы использовали в boolean режим cut, то второй раз boolean с этим объектом работать будет не правильно. И что бы вы ни делали с этим объектом, всё равно boolean с ним работать не захочет. Ещё boolean не распознаёт сплайны. Имеется ввиду сплайн настройки которого переставили так, чтобы он имел вид трубки. Чтобы boolean с ним работал, сплайн нужно конвертировать в editable poly или применить к нему модификатор edit poly. Теперь можно приступить к швам. Для этого я сплайнами выкладываю линии которые повторяют линии швов по всем четырём чертежам. В этих сплайнах меняю вот эти настройки.
Как вы видите, все сплайны размещаются так, чтобы они наполовину
заходили в кузов. Советую сначала сделать сплайн только для одного шва и
сразу определиться с его толщиной. Таким образом, все следующие
сделанные сплайны будут такой же толщины как и первый, и не надо будет
выставлять толщину отдельно у каждого. То есть, как вы уже поняли, у
меня каждый шов - это отдельный сплайн. Если всё объединить в один
сплайн, то некоторые отрезки могут повернуться на неправильный угол и вы
ничего с этим не сможете сделать. В некоторых сплайнах во вкладке
interpolation можно значение steps сделать меньше шести. Так просто
сплайны оставят на кузове меньше точек, и вероятность появления всяких
косяков уменьшается.
Все мы знаем, как трудно бывает попасть по сплайну, хотим выделить
сплайн, а выделяется кузов. Поэтому, для удобства работы используйте
selection filter.
Затем конвертируем один из сплайнов в editable poly и присоединяем к нему с помощью attach остальные сплайны. Перед тем, как приступить к boolean, нажмите на всякий случай HOLD про который я рассказывал вначале. Теперь нажимаем на наш кузов, заходим в boolean, выбираем в нём режим cut / refine, жмём на кнопку pick operand b, и нажимаем на наши сплайны. Потом конвертируем в editable poly. Зайдя в нём в режим редактирования полигонов, мы увидим, что все полигоны внутри швов выделились сами.
Также в некоторых местах могут быть большие скопления ненужных точек. Для этого мы, не снимая выделения с полигонов, нажимаем правую кнопку, выбираем convert to vertex, и видим, как полигоны конвертировались в точки. После этого применяем weld со значением 0,01. Можно и чуть больше, в зависимости от толщины швов. Возвращаемся в режим редактирования полигонов. Полигоны швов по прежнему выделены. Дальше делаем следующее.
На этом моделинг кузова закончен. Далее идёт моделинг всех остальных деталей. Начать я хочу с салона. Но перед тем как начать его делать, советую определиться с фоном, ракурсом и настройками камеры. Это нужно чтобы не делать лишнюю работу. Например в некоторых ракурсах могут быть не видны задние кресла, руль, внутренняя часть двери и, возможно, некоторые другие детали салона. То есть, сначала ставим фоновое изображение на вид из камеры.
Скрываем стёкла и делаем рендер. Смотрим какие части салона видны, а какие нет. Также не спешите фотошопом убирать ту машину, которая стоит на фоне. Это можно сделать уже после того, как выберем ракурс. То есть, когда определились с ракурсом и настройками камеры, скройте все объекты кроме автомобиля, а у автомобиля скройте только стёкла. Поставьте на все эти объекты VRayLightMtl, в нём ставим галочку возле emit light onback side, и делаем рендер.
Сохраняем его в формат PNG. При сохранении всплывёт окно PNG Configuration.
Открываем это изображение в фотошопе, под него ставим наш фон, и зарисовываем все те части фонового автомобиля, которые вылазят за пределы нашего белого кузова. Теперь можно приступить к моделингу салона. Его я делаю сплайнами.
Не забывайте про constraints и snaps.
Почти всегда на чертежах не обозначены кресла, по этому эту деталь
салона вам придётся делать на глаз из примитива box. Очень сложно
угадать с пропорциями кресел, для этого и пригодятся те фотографии
салона про которые я говорил вначале. По моделингу кресел ничего
конкретного сказать не могу. Никаких хитрых способ тут нет. Сложность
лишь в том, что нужно потратить много времени чтобы сделать правильную
форму. С фарами тоже самое. Они также плохо обозначены на чертежах.
Подбирать нужную форму тоже придётся по фотографиям. Обычно они делаются
по тому же принципу, что и салон. Теперь про колёса. Протектор можно
делать и с помощью displacement. Так гораздо проще и быстрее, а
результат почти тот же. По этому моделинг резины максимально простой.
Далее следует сделать развёртку колеса. Долго думал стоит ли рассказывать про развёртку, ведь эта тема вообще заслуживает отдельного урока. И все-таки решил написать, по тому, что может понадобиться развёртка кузова, а там без определённых знаний, вам будет очень трудно. Сначала расскажу про предназначение всех кнопок. Правда некоторые из них мне до сих пор непонятны по этому я их пропущу.
Теперь рассмотрим окно edit UVWs
Если в окне редактирования развёртки нажать правую кнопку мыши, то появиться меню в котором тоже есть некоторые полезные функции
Также, в меню mapping есть ещё три способа развёртки. Это flatten mapping, normal mapping и unfold mapping. Не знаю где можно применить последние два, но вот flatten mapping может пригодиться. Допустим у вас есть довольно сложный объект и на нём будет стоять мелкая повторяющаяся текстура. Не обязательно тратить время на создание правильной развёртки для этого объекта.
У этих фрагментов правильные пропорции. Тесть повторяющаяся текстура
на таком объекте будет лежать равномерно. Не будет такого, что в
некоторых местах текстура будет больше, а в другом меньше. Все эти
фрагменты можно разместить как угодно. Можно вынести их за пределы
квадрата а можно вообще наложить один на один, на результат это не
повлияет.
После того, как сделали все необходимые развёртки у вас могут остаться
фрагменты, которые вам не нужны, но они есть и на них тоже будет
отображаться текстура. Тут два варианта решения. Можно все эти элементы
уменьшить и выделить им место в квадрате. А когда будете рисовать
текстуры просто на том месте ничего не рисуете. И второй. Выносим эти
части за пределы квадрата и в настройках текстуры, которая будет стоять
на объекте, просто снимаем галочки с tile.
Ну вот так вот и делаем все развёртки. Только не забывайте, что если
на кузове вашего автомобиля должна быть развёртка, то лучше сделать её
до сглаживания.
Рендер развёртки находиться в окне редактирования развёртки. Там
открываем tools, выбираем render UVW template. В появившемся окне
выбираем размер, рендерим, сохраняем и рисуем по этому изображению
текстуры. Теперь можно продолжить про развёртку колеса. Удобней всего
для работы использовать вот такую.
Текстуры надписей на колесе можно найти вот здесь www.auto-3d.com . А можно нарисовать и свои. И не обязательно рисовать их по кругу. Нарисуйте всё на прямой, а согнуть эту текстуру в кольцо можно и с помощью Макса.
Наша текстура готова. Теперь нужно применить VRayDisplacementMod.
С резиной закончили, можно заниматься диском. Диски у меня делятся на две категории - симметричные, как на левом рисунке и несимметричные, как на правом.
Симметричные, в большинстве случаев, можно начать делать с примитива tube. Из него мы формируем одну спицу диска. А точнее даже половину спицы.
С несимметричными дисками сложнее. Сначала тоже делаем одну спицу, но трюк с симметрией тут не пройдёт, по этому мы делаем остальные копии с помощью array. Но сначала я немного про него расскажу. Array - это копирование, но только с возможностью сразу расставить эти копии на нужные места.
При копировании спиц диска, обязательно выберите тип копирования instance. То есть изменяя одну копию спицы, будут точно также изменяться и другие копии. Теперь берём одну копию и делаем следующую.
Далее на дисках нужно сделать отверстия. Их можно сделать при помощи boolean.
Остаётся только нажать на boolean с соответствующим режимом. Я не
буду рассказывать про все мелкие детали колеса, а также про все
оставшиеся детали автомобиля. Они довольно простые, думаю вы и сами
разберётесь как их делать.
Обычно, даже в самой простой работе материалов получается больше, чем
может вместить material editor. Для этого существует материал
multi/sub-object, про который я говорил вначале. Он способен содержать
столько материалов, сколько нам надо. Для этого мы берём группу деталей и
объединяем их в один объект при помощи attach. Не советую объединять
всё в один объект. Ну лично я, например к кузову автомобиля вообще
ничего не присоединяю. Из всех деталей выбираю те, на которых будет
развёртка, и соединяю их в первый объект. Из остальных выбираю те, на
которых будет симметрия и соединяю их во второй объект. Колёса в третий.
А оставшиеся детали в четвёртый. Дальше нам нужно каждой из деталей
присвоить номер ID.
В multi/sub-object есть поле для ввода имени материала, но оно очень короткое, а материалов может быть очень много. Конечно можно каждый раз с помощью списка в editable poly нажимать на номер и смотреть, к какой детали он принадлежит. А можно выписывать всё на бумагу. То есть номер ID, а рядом описание детали. Так гораздо проще и быстрее. После того, как всё готово, применяем симметрию, там где необходимо, и можно сказать, что модель готова. На этом этап моделирования заканчивается, а значит и мой урок тоже. Всем спасибо за внимание. Надеюсь вы не уснули ))).
Автор: Aleksandr1
Интервью с автором