Моделирование и текстурирование дома (3d max)

Моделирование и текстурирование дома (3d max)

Всем привет! Начнем урок с этой популярной фразы. Меньше слов и больше дела!

Для начала создадим box с размерами по вкусу.

Я просто подогнал под первый этаж моего «наброска». Набросок я сделал в редакторе, для сохранения пропорций и пр ерунды. Вы же можете сделать по своему вкусу и размерам. Будем верить что все смогут сделать бокс и с этого создания начнутся миры! Да будет так, ибо из параллелепипеда можно сделать от анатомии до сверхсложного объекта, названия которому еще нет. Мы остановимся на домике.

Кубик конвертируем в editable poly. Можно сделать так: либо применить модификатор Edit Poly, либо нажать по объекту правой кнопкой мыши и в открывшемся меню выбрать Convert To: — Convert to Editable Poly. Или как на картинке ПКМ (пкм-правая кнопка мыши, лкм-левая) в стеке модификаторов и выбираем Editable Poly.

Справка: Editable Poly, он же редактируемый полигон. Инструмент для работы с объектом и очень удобная вещь.


Затем выделяем верхний полигон и применяем к нему bevel в ЕП (Editable Poly, привыкаем, мне лень писать полностью). Высоту(height) не трогаем, только outline amount. Затем применяем Extrude.

Справка: Bevel – это выдавливание полигона с дальнейшим его увеличением. Он находится в edit poligons. Extrude – это выдавливание полигона без всяких премудростей.

Этими манипуляциями мы расширили верхний полигон и «выдавили» его наверх, тем самым образовав второй этаж.

Теперь обозначим фундамент. Для этого перейдем в режим редактирования ребер (edges) (можно использовать быстрые клавиши 1,2,3,4,5 в еп) и выделяем все угловые ребра:

Затем применяем к ним connect, появляется «опоясывающее» ребро, которое мы опускаем до нужного нам уровня. Затем получившиеся нижние полигоны мы выделяем и выдавливаем(extrude):

Затем выделяем нижний полигон, который затем удаляем. Верхний полигон тоже, за компанию. Напомню, мы делаем лоу-поли модель, поэтому любые лишние полигоны нам только помеха. Стараемся оптимизировать и делать все качественно.

Теперь сделаем одну из балок, для этого выделяем ребра второго этажа(как на картинке):

Выделив, мы применяем чудную вещь (для таких ленивых как я, которым лень заходить в другую панель) как Create shape from selection (сделать форму из выбранного):

Называем балкой. Так же советую подписывать все элементы, во-первых для себя, во-вторых, если вы, к примеру, работаете в команде и решили скинуть модельку для дальнейшей работы с ней, человеку, то этот человек очень сильно захочет вас назвать очень нехорошим словом, когда увидит сотню «box’ов» и прочей ерунды, в которой ему придется разбираться. Уважайте других :)

Однако продолжим. Полученный сплайн(spline) заворачиваем в editable spline и проводим манипуляции над ним:

Теперь создадим немного комфорта. Щелкаем пкм по нашему сплайну и выбираем hide unselected(скрыть невыбранные):

Ну и в дальнейшем пользуемся этим разделом (выделено синим), очень удобно.

Затем «конвертим» наш сплайн в ЕП и выделяем внутренние полигоны:

Которые непосредственно удаляем, так как они видны не будут. Теперь копируем нашу балку, поднимая её до верхнего края здания.

Справка: Скопировать можно двумя способами, выбрать любой инструмент трансформаций и использовать его с зажатой клавишей «shift». Либо пкм по объекту и выбираем «copy».

Перемещаем нашу балку по оси z с зажатым shift’ом. Высвечивается окно параметров копии, указываем параметр «copy» и количество 1. Нажимаем ок.

Уже можно сделать unhide all и работать дальше. Поправляем балку относительно здания и выделяем полигоны, которые потом удаляем (см картинку)

Удалив, переходим в режим редактирования вершин и выделяем те, которые показаны ниже:

Затем инструментом масштабирования «раздвигаем» по оси «y» чтобы вышло вот так:

По идее можно было бы создать новые боксы, поставить их и тому подобное, но этот способ точнее, а потом мне лень делать всякие такие манипуляции, так как всё, что сделано выше практически полностью осуществляется «горячими» клавишами. Например, клавиши «q» «w» «e» «r» отвечают за выбор выделения, перемещения, вращения и трансформации.

Примерно тоже самое (create shape from selection) проделываем с угловыми ребрами. Мы можем заметить, что центры трансформаций объектов после их создания находятся фиг знает где зачастую очень далеко от самого объекта, поэтому настроим «пивоты»:

Теперь все отлично, можно накопировать балок где нам необходимо. Затем объединим их все в один объект инструментом в ЕП «attach»:

И удалим полигоны, которые в дальнейшем не будут видны. Вот что у нас вышло:

Небольшой совет:

Чтобы модель приятно смотрелась во вьюпорте, я обычно назначаю ей черный цвет и применяю стандартный серый материал (нажимаем клавишу М или кнопку в верхней панели инструментов, затем выбираю первый материал(серый шарик, который является предпросмотром материала) и нажимаю кнопку при выделенном объекте)

Теперь займемся крышей. Для этого создаем бокс проходящий по центру здания, с множеством сегментов по высоте:

И применяем модификатор bend(сгиб). Скорей всего вам может понадобиться сместить ось сгиба, для этого раскрываем свиток модификатора bend в стеке модификаторов и выбираем center, который затем поднимаем вверх. Корректируем значение angle(угол) и выбираем нужную ось сгиба. В моем случае это ось y. Если у вас есть желание и время, то можете покрутить остальные параметры модификатора для достижения различных эффектов.

Теперь копируем нашу половинку крыши и можем развернуть, отразить, одним словом добиться вот такого результата(пусть это будет самостоятельное задание, даю подсказку mirror, symmetry и можно еще как нибудь):

Приаттачиваем(attach) половинки друг к другу и переходим в режим редактирования вершин. Выделяем и немного опускаем:

Затем выделяем полигоны и применяем инструмент bridge(мост):

Затем переходим в режим работы с вершинами и выделяем верхние. Затем их «склеиваем» инструментом «weld»:

В итоге у нас выйдет на верхушке крыши шесть вершин и ничего лишнего.

Теперь изучим инструмент как Slice Plain. Поверьте, это очень удобная вещь и выручает постоянно. Посмотрим, что он делает:

Можно без комментариев :) Дальше вырезаем ненужную геометрию и переходим в режим выделения ребер(edges):

Выделяем наш «свод» и превращаем в сплайн(get shape from selection). Конвертируем в ЕС(editable spline) и инструментом connect соединяем нижние вершины:

Затем применяем модификатор Cap Holes(закрыть дыры, отверстия, кому как нравится), ставим галочку Smooth with old faces и конвертируем в еп. Насчет этого способа не уверен, для уверенности я вместо Cap Holes применил Extrude и просто в еп удалил ненужное. Одним словом я добился результата подручными средствами.

Не забываем сконвертировать, выделяем наши балки, переходим в режим выделения элемента (красный кубик или горячая клавиша 5) и просто копируем её наверх:

Затем применяете к ней detach в еп, называете и снова копируем немного выше:

Теперь будем делать балкон. Многие приемы я уже рассказал, поэтому запечатлею серией скриншотов:

Ну теперь сделаем окошки. Я решил рискнуть воспользоваться булеанами.

Справка: Логические операции Boolean

К логическим операциям относятся объединение, разница и пересечение. В операциях всегда используются только два объекта, их называют операндами (операнд А и операнд В).

Необходимы булевские операции для того, чтобы вырезать из одного объекта отверстие формой второго объекта. Например, нужно смоделировать обычную пуговицу с двумя отверстиями для пришивания.

Имеется несколько ограничений для применения Boolean.

1. Для этой операции подходят только объекты с замкнутой поверхностью (например, плоскость или чайник не подойдут).

2. Объекты должны пересекаться.

Режимы Boolean:

Union (Сложение);

Intersection (Пересечение);

Subtraction (A-B) (Вычитание из главного объекта ), по умолчанию;

Subtraction (B-A) (Вычитание наоборот).

Cut (Разрез), используется для работы с полигональной сеткой.

Для начала наделаем боксов под размер окон:

И воспользуемся инструментом cut.

ВНИМАНИЕ! Сохраняйтесь! Сделайте резервную копию! А потом уже продолжайте.

Немного посквернословив поработав с булеанами, мы получаем аккуратные разрезы. Не забываем законвертировать в ЕП и вздохнуть с облегчением .

Вообще булеанами можно достичь прекрасных результатов, которых тяжело добиться другими способами. Но по себе знаю, что в старых версиях макса они не очень стабильны. Говорят что в 2013-14 максах они удобны и неожиданных сюрпризов с изуродованной геометрей не преподносят.

Теперь внешняя модель здания полностью готова. По плану этот дом будет содержать в себе внутренности, то есть интерьер.

Берем нашу основную часть дома:

И масштабируем с зажатым shift’ом, тем самым создаём уменьшенную копию нашей «оболочки»:

Поправляем все вершины, ребра, полигоны, так чтобы они не выходили за границы нашей основы и при этом ни в коем случае не пересекались. Хорошо проверьте, только затем скрывайте нашу основу. Работаем с интерьером.

Удаляем «навес» и крайние ребра будущего потолка, сшиваем:

Затем выделяем все полигоны(ctrl+a) и применяем к ним flip. Если вы заметили, то внутренняя часть интерьера черная. Это значит что нормали полигонов «смотрят» наружу. Нам их надо вывернуть. Так же есть аналогичный модификатор «normal», что будете использовать, решайте сами (в зависимости от ситуации), а я воспользуюсь флипом:

Теперь займемся полами и потолками. Удаляем ненужные полигоны:

Создаем потолок для первого этажа:

И пол для второго:

Слайс плейном нарезаем проем для лестницы:

В соответствии с первым этажом в полу второго прорезаем вот такой проем:

Выделяем полигоны и «сводим мосты»:

Избавляемся от пережитков фундамента, опускаем нижние вершины и «сшиваем» пол тем же bridge:

Теперь займемся окошками. Как только мы к ним приблизимся и перейдем в режим работы с вертексами, то нас может ожидать сюрприз, это лишние вершины. Объединяем их с угловыми инструментом «weld».

Проводим те же манипуляции что и с дверью:

Надеюсь, Вы сможете смоделить окошко до конца :) Могу лишь посоветовать, при изготовлении стекол используйте боксы, причем в каждом окне должно их быть четыре. При экспорте в движок для корректной работы бьющегося стекла. Если Вам это не нужно, то делайте как хочется или как задумано.

Теперь основательно поработаем в внутренней частью. Можно увидеть такую неприятную вещь, как черные стены из-за смотрящих внутрь дома нормалей. ПКМ по внутрянке, object properties:

Затем сделаем лестницу. Спасибо максу за помощь, у него это есть:

Как растянете лесенку, где нужно, можно поправить различные детали в настройках:

Где Length длинна,

Wight ширина,

Overall вроде как высота (поставил кнопочку заблокировать этот параметр)

Riser Ht высота ступеньки, а Riser Ct количество.

Thickness это толщина ступенки, а Depth глубина. Там множество параметров, я привел лишь мне необходимые. Настроить можно даже перила и пр принадлежности и устройства подъема ленивых существ. Одним словом покрутите (не забудьте сохраниться!) параметры и добейтесь нужного эффекта. После завершения строительных работ конвертируем в ЕП:

И удаляем «невидимые» полигоны:

Теперь можно заняться стенами интерьера. Используйте slice plain, cut и bridge.

Прорежьте дверные проемы и пр пр что Вам необходимо.

Проверьте вашу модель на «косяки» и пр неприятности. Настоятельно рекомендую это сделать.

Теперь приступим к «текстурингу». На личном опыте я убедился, что многие 3дешники боятся этого слова как огня, в основном из-а недостатка опыта и знаний в этой области. Собственно для этого и заварил я эту кашу с уроком :)

Ну для начала немного теории. Давно я нашел очень хороший урок и чтобы в дальнейшем его не потерять, закинул к себе на сайт:

Ну а теперь из опыта. Нам нужно по отдельности развернуть части здания. Это все то, что снаружи и то, что внутри. Я здания разделяю именно так. Теперь внимательно читаем тот урок, испытываем на отдельной модельке.

Вампонадобится модификатор «Unwrap UVW», выбираем режим выделения «faces» и нажимаем большуууую кнопку Edit. Подробнее расписано в уроке выше.

Дальше дело вашего вкуса и могу лишь дать пару советов:

-Экономьте место. Некоторые детали можно накладывать друг на друга, например две стены или стороны балок и пр.

-Используйте flatten mapping для того чтобы текстура не искажалась

Справка:

Flatten Mapping – это автоматическая раскладка выбранного участка по 6-ти плоскостям. Чаще всего разбивает объект на некоторые чести. Два остальных пункта делают то же самое, только не по плоскостям.

Старайтесь придерживаться соотношения и приоритетов деталей. Например, развертка гвоздя ну никак не может занимать половину пространства, когда другую половину занимает весь дом.

Последовательности действий тут практически нет, кроме ключевых моментов, тут придется решать вам самим.

Рендерим развертку:

Теперь можно снять карту АО

Справка:

Ambient occlusion (AO) — модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности.

Для чего нам это нужно? Для красоты. На нашу текстуру мы наложим запечённую карту АО и наша текстура станет в углах и прочих местах темнее.

В настройка рендера(f10 или rendering/render setup) устанавливаем Mental-Ray:

Затем идем в редактор материалов. Выберае свободный слот и вместо типа материала «Standart» поставте «mental ray»

В слоте Surface поставьте Ambient/Reflective Occlusion:

Отрегулируйте Max Distance. Параметр зависит от размеров объекта. Чтобы избавиться от непонятного зерна и шума увеличиваем Samples. Чем он выше, тем качественнее картинка. Я ставлю около 100. Применяем материал на наш дом, рендерим картинку(shift+q), смотрим на красивые затенения и открываем Render to texture (клавиша «0»).

Projection mapping > Enabled

Mapping coordinates:

Object: use existing channel

Sub-Object: use existing channel

Selected element Common Settings

Add>Diffuse Map

Разрешение по вкусу (у меня в соответствии с разверткой 2048х2048) и нажимаем render.

Вот эта бело-серая фиговина текстура и есть карта АО.

Большое спасибо за урок по запеканию АО от некоего DeadMaroz, сайта не помню.

Теперь покупаем Adobe Photoshop и ждем когда он, за такую цену, нарисует текстуру сам.

Ну или находим раздачу и хвалим торент гуд за то что он отбирает у богатых и отдает бедным.

Перейдем к делу. Открываем нашу развертку и нашу карту АО. В фотошопе работают замечательные комбинации как ctrl+a и ctrl+v. Воспользуемся ими. Скопируем все из ао и вставим на нашу развертку.

Устанавливаем режим слоя ао на умножение (в англ версии вроде как Multiply)

Создаем новую группу слоев diff. Старайтесь подписывать все слои и группы.

Включаем слой с разверткой. Теперь идем в Выделение>Цветовой диапазон. Выделяем черный цвет. Создаем новый слой под ао, инвертируем выделение комбинацией shift+ctrl+i, теперь выделение>модификация>расширить и ставим значение около трех пикселей. Теперь заливаем любым цветом, сохранаем, ставим в новом материале как дифуз, применяем на наш кусок дома и смотрим что получилось.

Теперь небольшой совет:

Подпишите элементы развертки на отдельном слое.

Теперь мы видим, что у нас «кверху ногами» :)

Теперь запасаемся, накачиваем, собираем бооольшую коллекцию текстур. Моя к примеру занимает около 10Гб :D (это еще мало, я нашел раздачу на 37Гб, скоро она будет моя *злой смех*)

Советую сайт cgtextures.com

Для начала Вы должны иметь представление о том, как ваш объект будет выглядеть. В моем случает это уже не новый дом, мох, грязь, потеки от дождей и прочие прелести домика у берега моря следы от бомбардировок чаек, так что задумайтесь те, кто мечтал о таком романтичном домике

Теперь воспользуемся священными комбинациями ctrl+c и ctrl+v.

Открываем подходящую текстуру, выделяем то что нам нужно. Если нужно все, то нажимайте ctrl+a и удовлетворяйте свою жадность, если вы скромный человек и вам нужен лишь кусочек, то воспользуйтесь прямоугольным выделением или каким-нибудь из лассо.

Справка:

Rectangular Marquee Tool (Прямоугольное выделение). Создаёт выделение в виде прямоугольника. Полезен в случаях, когда нужно выделить квадратную или прямоугольную область.

Если при создании прямоугольного выделения вы зажмёте клавишу Shift, то выделение получится в форме идеального квадрата.

Elliptical Marquee Tool (Эллиптическое выделение). Создаёт выделение в виде эллипса или круга.

Single Row Marquee Tool (Выделение одиночного ряда) и Single Сolumn Marquee Tool (Выделение одиночного столбца). Эти 2 инструмента создают выделение одного ряда или столбца пикселей. Иногда очень удобная вещь.

Lasso Tool. С его помощью создаётся выделение произвольной формы.

Polygonal Lasso Tool. Полигональное лассо – форма выделения создаётся прямыми линиями.

Magnetic Lasso Tool (Магнитное лассо). Принцип работы заключается в том, что границы выделения как бы притягиваются к объекту, который вы хотите выделить. Инструмент хорошо справляется с контрастными областями, но начинает ошибаться, когда границы объекта нечёткие или практически одного тона с фоном. Всё, что от вас требуется для выделения объекта – провести по его контуру.

Quick Selection (Быстрое выделение). Основан на том же самом принципе контраста, что и Magnetic Lasso, однако выделение производится с помощью специальной кисти (размер которой настраивается).

Magic Wand (Волшебная палочка). Работает по принципу выделения похожих по цвету и тону пикселей. Имеет особый параметр Tolerance (Допуск), который определяет степень схожести цвета пикселей. Чем больше его значение, тем больше пикселей будет выделено.

Комбинируйте, объединяйте выделения, чтобы выделить только то, что вам надо. Больше о выделениях в фотошопе (а способов множество!) вам расскажет дядя Гугл. А теперь приступим к текстурированию. Не забывайте про клавишу delete и ластик, они уничтожат то, что ваш взор не желает лицезреть.

Скопируем то, что мы выделили и перейдем на нашу развертку. Просто вставляем текстуру, затем отмасштабируем до нужных нам размеров. Слой с текстурой «подложите» под наш слой с амбиентом.

Отмасштабировав, развернув, переместив, нажмите клавишу enter, чем подтвердите трансформацию (об этом тоже в поисковик, а то урок в книгу превратится).

Теперь с клавишей ctrl щелкните лкм по миниатюре слоя в разделе слоев. У нас выделится весь слой. Теперь зажимаем ctrl+alt и перетягиваем, тем самым копируя то что мы выделили.

Заполняем стену здания:

Чтобы убрать швы воспользуйтесь штампом.

Справка:

Stamp (инструмент штамп) используется в основном для дублирования фрагментов изображения или для устранения таких дефектов на изображении как пыль, царапины, пятна. Для использования клонирующего штампа нужно переместить курсор мышки в место, которое вы хотите продублировать, и нажать Alt + лкм. При этом программа запомнит точку, начиная с которой вы будете копировать изображение. Далее нужно переместить мышку вместо дефекта и, нажав левую кнопку, произвести закрашивание дефекта изображением из области, которую вы скопировали. Величина закрашиваемой области зависит от выбранного вами размера штампа.

Затем уменьшаем непрозрачность слоя и удаляем ненужное:

Включаем непрозрачность слоя на 100% и сохраняем нашу текстуру. Смотрим в максе:

Красивые доски! Которые нужно застарить и испачкать!

Воспользуемся «Цветовым тоном/Насыщенностью» в Изображение-Коррекция и уровнями:

Так же используйте инструмент Burn (затемнение)

Регулируйте Диапазон (Range) и параметр Exposure (экспозиция).

Теперь сделаем пакость, потеки. Для этого ищем, скачиваем, фотографируем или как вам угодно, потеки. Вот хорошая png текстура с уже настроенной прозрачностью:

Да, это ржавчина, но мы её «отфотошопим» так, что никто об этом не догадается :)

Накладываем поверх досок и ставим режим слоя Затемнение Основы (Color Burn)

Аналогично можно добавить мох, грязь, кровь, кишки.

Смотрим результат в максе:

Аналогично можно сделать для других стен:

И текстуры в целом:

Теперь приступим к интерьеру. Ничего особенного, снимаем АО, накладываем его умножением или перекрытием, соль по вкусу, и начинаем протекстуривать все остальное. Если карта получается слишком темная, то в настройках материала, черный делаем светлее. Либо в самом фотошопе корректируем уровни.

Вот сама развертка и амбиент:

Ну и конечно подпишем части, чтобы в дальнейшем не путаться:

Теперь усилим эффект ао, добавим грязи и пр ерунды в углы:

В том же духе, в ритме вальса:

Цвет дерева я регулировал «цветовым тоном/насыщенностью» ну и тонировал под один цвет.

Теперь крыша. Всю крышу можно приаттачить в один объект, элементы которые повторяются можно удалить, потом просто после текстурирования их скопируете. Так же две половинки самой крыши можно наложить друг на друга в самой развертке:

Дальше я накидал текстуры, добавил потеков и пр ерунды, вот что вышло:

Теперь самое страшное, это лесенка, балки и оконную раму, остальные можно удалить, потом просто накопируем (стекла пока не трогаем):

Дальше некоторые вещи покажу в картинках:

Потом я обнаружил косяк, лестница то у нас современная :) Без паники, просто отдублируем балку:

Ну и по старой схеме текстурим:

Как то так :) Честно, хотелось в этот урок нафигачить поместить инструктаж по созданию бампов и пр, так же экспорт в игровой движок CryEngine3, но честно, урок уже большой и даже сильно, поэтому остановимся на текстуринге и в следующем уроке постараюсь поместить и этот материал. Очень хочется верить что кто-то нашел для себя что-то полезное и урок помог в начинаниях и азах 3д. Спасибо за просмотр :)

По материалам сайта: http://gamesetup.ru