Уроки: 3ds Max

Создание и настройка персонажа в 3ds Max. Часть 1: Моделирование. Бесшовное текстурирование

Создание и настройка персонажа в 3ds Max.

Часть 1: Моделирование. Бесшовное текстурирование

Приветствую всех, меня зовут Фоктов Дмитрий aka Josef. Я работаю графическим дизайнером, а свободное от работы время провожу в горах. Думаю, у каждого из вас иногда возникает непреодолимое желание задвинуть в дальний угол все эти бесконечные интерьеры и сделать что-нибудь для себя, для души, так сказать. Моя работа никогда не была связана с «персонажкой», но я всегда мечтал сделать своего персонажа от А до Я, от идеи до анимации. Это, конечно, глобальная задача, которую я еще сам не довел до конца, поэтому пока представляю на ваш суд первую часть, надеюсь, дойдут руки и до следующих. Сразу оговорюсь, что людям, работающим в геймдеве, и уж тем более на ниве постпродакшена, мой урок может показаться дилетантским. Я покажу некоторые приемы, которые придумал сам, возможно, кто-то решает ту же задачу проще. Урок рассчитан на средний уровень знаний Макса. Буду рад любой конструктивной критике. Итак, приступим.

1. Идея. Референсы

В качестве «жертвы» я выбрал персонажа замечательной сказки Туве Янссон — Муми-тролля. Почему именно его? Не знаю, наверно потому что надоело в ВИПах видеть сплошное засилье нечисти, орков да гоблинов. Захотелось сделать кого-то доброго и «симпатишного».

Любая работа конечно начинается с изучения референсов. Накачав кучу картинок наподобие этой, посмотрев отечественные мультфильмы про Мумиков, я начал «мозговой штурм».

Прежде всего я пришел к выводу, что если в лоб воспользоваться 2Д-илюстрациями в качестве рефов к 3Д модели — ничего хорошего не выйдет. Все дело в пропорциях. Крохотные гротескные ручки и ножки Мумиков, какими их нарисовала сама Янссон, совсем не подойдут для 3Д-анимации. Они, конечно, придают особое обаяние персонажу, но, если я захочу, чтобы Мумик надел шляпу или просто почесал нос, руки просто не дотянутся. Насколько мне известно, во «взрослой» 3Д-анимации часто делают риггинг с настройкой растяжений конечностей и системой сохранения объема. Но, на мой взгляд, это очень трудоемко, к тому же моих скромных познаний пока недостаточно для такого рига. Поэтому я решил на начальном этапе просто изменить пропорции муми-тролля в сторону большей «анатомичности». Я увеличил руки до длины, достаточной для каких-либо манипуляций над головой, а размер ног просто подогнал так, что бы смотрелось гармонично. Кроме того, я решил сделать его немного более пузатым. При этом существо получилось больше похожим на прямоходящего бегемотика, чем на канонического Муми-тролля, но я и не ставил задачи точного совпадения с оригиналом.

2. Моделирование

Итак, я определился с тем, что хочу увидеть в результате. Теперь нужно получить этот референс во вьюпорте Макса. Можно, конечно, нарисовать на планшете от руки и подложить плашку с текстурой, но мне быстрее было просто набросать сплайнами в самом Максе. Соответственно во вьюпортах front и left рисую примерные контуры своего существа.

Сразу высоту модели выбираю равной приблизительно 110 см. По книге муми-тролли совсем крохотные, но я решил сделать его размер соизмеримым с ростом реального человека. Конечно, можно моделировать в любом масштабе, главное не забывать после скалирования использовать утилиту Reset XForm и колапсить стек модификаторов. 

Сразу замечу, что нарисованный на референсе рот, я потом убрал. Покрутив уже смоделированную голову персонажа, я увидел, что рот видно только с нескольких невыразительных ракурсов (в профиль), а возится с настройкой артикуляции и липсингом на данном этапе не хотелось. Это отдельная сложная задача, надеюсь и до ее изучения когда-нибудь дойдут руки.

Скажу немного о позе. Классическая Т-поза, так любимая гейм-девелоперами, не всегда оптимальное решение. Я решил воспользоваться советом уважаемого гуру Бориса Кулагина, который рекомендует изменить Т-позу следующим образом. Руки моделируются поднятыми не под 90, а под 45 градусов к вертикали. При этом они немного согнуты в локтях, а ладони развернуты вперед. В этом случае отпадает необходимость учитывать в топологии сетки скручивание предплечья, неизбежно возникающее при положении «руки в стороны, ладони вниз». Ноги также немного согнуты в коленях и чуть-чуть расставлены. Такое положение позволит легче настроить мускульный риг и легче избежать «заломов» в суставах при скининге.

Моделировать я люблю методом «поли бай поли», начиная с контуров глаз. Создаю небольшой plane, конвертирую в editable poly и помещаю в уголок глаза. Затем, вытягивая эйджи с зажатым шифтом и перемещая вертексы, делаю первый контур полигонов вокруг глаза. Выделив внешний контур эйджей, скалируя так же с зажатым шифтом, создаю последующие «лупы» (от анг. Loop – замкнутый контур).

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

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

Я не буду подробно рассказывать о каждом шаге моделирования, уверен, это и так все знают. Остановлюсь лишь на некоторых нюансах, помогающих моделировать быстрее и удобнее. Как вы видите на скриншоте выше, я не моделирую подряд сплошную сетку от носа до кончика хвоста. В противном случае на определенном этапе может оказаться, что все получилось плохо, пропорции нарушены, лупы куда-то ушли. То, как я делаю, можно условно назвать методом «опорных лупов». То есть я на каждом из видов провожу «ленточку» из полигонов, огибающих самые характерные участки геометрии, например, лупы вокруг «анатомических отверстий» (смайл) или внешний контур. А уже затем заполняю пространство между ними. Конечно, иногда плотность сетки на различных частях получается разной, и приходится кое-где добавлять или убирать лишние эйджи, но зато можно в любой момент покрутить модель и посмотреть, все ли в порядке с объемом. Обратите внимание, что характерные выпуклые округлые места, в моем случае щеки, нужно сразу сделать в форме 6-и или 8-уголника , а потом уже строить полигоны от них в стороны. Иначе потом на равномерной сетке с квадратными полигонами сделать ровненькую выпуклость будет сложно. Это относится так же к коленям, локтям и т.п.

Сложные детали, требующие проработки внутренностей, например, уши и ноздри, я делаю отдельно. Для этого выделяю бордер отверстия, нажимаю «Create shape from selections», и из этого контура строю ухо.

Затем применяю модификатор Shell, конвертирую в поли, удаляю ненужные полигоны на торце в месте стыка, ставлю ухо на место, аттачу его к голове, потом велдю вершины и «дорабатываю напильником». Получается просто и быстро.

После недолгих манипуляций в том же духе я получил вот такую голову.

Правую половину модели я делаю просто инстансом, который периодически хайдю и анхайдю для контроля. Многие любят модификатор Symetry, но мне он не удобен, т.к. часто приходится подлезать к какому-нибудь вертексу с тыльной стороны, и вторая половинка тогда мешается.

Упомянутый мной метод опорных лупов я использую и на более высоком уровне, т.е. на уровне всей модели. Поясню, что я имею в виду. Если сейчас я бы продолжил строить модель последовательно от головы вниз, то, когда я дошел бы до плечей, у меня возникли бы проблемы с выбором сечения конечностей. Скольки уголньми сделать сечения рук? Если делать наобум, то когда ты дойдешь до кистей, может оказаться что для пальцев очень мало «полигонов осталось». Тогда придется на кистях сильно бить сетку, делать нелогичные разбиения полигонов. А я люблю когда плотность сетки равномерная, и вообще люблю когда все красиво и логично. Поэтому после головы я начинаю делать кисти рук (или передних лап, если будет угодно). Потом ступни ног, а уже потом все это соединяю.

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

Из 8-гранного цилиндра, методом резки и склейки получаем один палец. Не забываем вокруг костяшек заранее делать кольцевую топологию, чтобы получить выпуклости. Закончив палец, я увидел, что в уголках у ногтя, образовались треугольные полигоны. Превращение их в квады, потребовало бы увеличения полигонов, и долгой возни. Накинув meshsmooth, легко убедится, что в этом месте треугольники никак не портят сглаживания, и масштаб настолько мелкий, что никаких «потянутостей» на рендере видно не будет. В итоге я оставил все как есть.

Расположил 4 копии пальцев и поиграв с их длиной и толщиной я с чистой совестью соединил их.

Затем, чтобы удобнее было моделировать саму ладонь, я повернул пальцы так, чтобы ладонь встала вертикально и все теми же нехитрыми действиями вытянул еще несколько рядов полигонов (ладонь и пальцы делаю немного согнутыми для более удобного риггинга).

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

Ступни ног я сделал начиная с тех же самых пальцев, что и на руках, предварительно укоротив их и сделав потолще.

С остальной ногой тоже никаких сложностей быть не должно.

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

Не буду вас утомлять унылыми скриншотами моделирования остального тела. Отмечу лишь пару моментов. Во-первых, округлое пузико я сделал отдельно из обычной сферы, повернув, отрезав лишнее и присоединив к остальному телу. Это гораздо быстрее, чем подгонять полигоны к сфере. Во-вторых, получив готовую модель, мне не понравились пропорции нижней части тела. В итоге, чтобы долго не гонять полигоны, я отдетачил нижнюю часть (примерно по грудь), применил модификатор FFD Box, и, скалируя контрольные точки, немного все поплющил. Затем приаттачил обратно и свелдил вершины. Хвост, как и уши сделал отдельно. Выделив бордер вокруг отверстия, откуда растет хвост и нажав «Create shape from selections», получил профиль, который потом использовал в лофтинге. Деформирующими кривыми в самом лофте придал ему форму и сконвертировал в полики. В итоге получили готовую к дальнейшей работе модель весом 6,5 тысяч полигонов.

С моделированием почти закончили, осталось сделать глаза. Глаза мы будем делать псевдо-человеческие по строению, а степенью мультяшности я буду рулить, подбирая текстуру радужной оболочки. Ошибочно думать, что у мультяшного персонажа глаза — это просто сферы. Реалистичных бликов можно добиться только правильно смоделировав глаз. Открываем анатомический атлас и видим, что роговица не является продолжением сферы глазного яблока, а выступает вперед (это достаточно подробно описано во многих уроках). Делаем глаз из трех частей: глазного яблока с радужной оболочкой, прозрачной роговицы и глазного дна. Некоторые авторы делают глаз из четырех частей т.к. моделируют отдельно радужную оболочку и назначают ей материал, отличный от материала глазного яблока. Я, поиграв с разными матами, не смог добиться существенного увеличения реализма бликов от такого разделения, поэтому делаю их вместе. Все три части делаю из сфер разных диаметров, удаляя лишние полигоны.

Назначим каждой части планарный мапинг и простейшие вирейские материалы.

Естественно, для получения бликов нужно, чтобы было чему отражаться, поэтому для тестового рендера я сделал простейшую студию с двумя прямоугольными вирей-лайтами и включил ГИ.

Муми в полный рост.

3. Мапинг

Теперь самое время заняться мапингом. Естественно, такую сложную модель мы будем разворачивать модификатором Unwrap UVW. Но правилом хорошего тона считается сначала положить на модель UVW Map с любым типом мапинга (я использовал box в размер модели). Казалось бы — ненужное действие, но оно облегчит жизнь, если вы не сможете добраться до какого-то вертекса в редакторе анврапа. Как гласит народная мудрость: «лучше неправильные текстурные координаты, чем совсем никаких». После колапса стека применяем собственно Unwrap UVW. Разворачивать надо несглажиную модель, поэтому смус долой. С восьмой версии в Максе появился мега-удобный инструмент Pelt maping. Если вы закостенелый ортодокс, сидящий на более ранней версии, чем восьмерка (а я таких знаю), срочно выкиньте ее. Если же вы любитель тулз вроде Unfold 3D — туда вам и дорога, мы займемся максовским анврапом.

Входим в подобъекты модификатора и выделяем фейсы, строка при этом подсветится желтым (1). Чтобы не мешали зеленые линии автоматической разбивки, ставим радиокнопку в положение Show no Seams (2). Далее, нажав кнопку Point to Point Seam (3), начинаем резать наше тельце на куски (как маньяки прямо). Кликаем по вертексам, через которые должна пройти линия реза, при этом разрез окрашивается синим. В каждый вертекс на пути кликать не обязательно, Макс сам прокладывает путь между двумя точками, иногда даже корректно (смайл). Главное в этом деле, собственно, определить, на какие куски резать. Нужно четко представлять как Pelt будет растягивать нашу сетку. Сетка текстурных координат будет растягиваться наподобие куска резины, по периметру которого закреплено много веревочек. Т.е. куски надо выбирать, руководствуясь двумя противоположными правилами: они должны быть достаточно небольшими и плоскими, чтобы растяжение было равномерным, и при этом достаточно большими, чтобы было меньше швов. Естественно, куски должны быть в принципе растяжимы хотя бы в одной плоскости без самопересечений. Ну и швы лучше располагать на малозаметных местах: под мышками, с задней стороны ног и т.д. О том, как совсем избавится от швов, я расскажу в следующей главе, а пока нарезаем нашего персонажа вот таким образом. Забыл сказать, что мапим мы по первому каналу (7). Если вы ошиблись и нарезали не в том месте, то можно убрать лишнее, перейдя в режим Edit Seams (6) и кликнув по ребру с зажатым альтом.

Итак, нарезка готова. Теперь выделяем любой фейс на модели и нажимаем кнопку Exp. Face Sel To Pelt Seams (4). Выделятся все фейсы принадлежащие данному куску. Если выделилось больше чем нужно, значит где-то не дорезали. Затем нажимаем кнопку Pelt (5). Во вьюпорте появляется желтая плоскость, в которой будет происходит растягивание нашего куска.

Эту плоскость можно и нужно вращать, правильное ее положение сэкономит время в дальнейшем, т.к. Макс по умолчанию не всегда ее правильно располагает. Теперь нажимаем кнопку Edit Pelt Map (8). При этом вывалится 2 окна: основное окно Edit UVWs и окошко настроек пелт мапинга.

Подождите симулировать, ведь «веревочки», за которые будем растягивать, перекручены. Можно, конечно, растянуть и так, но получится криво. Нужно сразу воспользоваться кнопочками вращения и зеркального отражения в верхнем левом углу (9) и добиться такого положения красных точек, при котором пунктирные линии как можно меньше пересекались бы между собой. Иногда без зеркального отражения по какой-либо оси просто не обойтись. Как только точки растяжения заняли свои места, начинаем симуляцию кнопкой Simulate Pelt Pulling (10). Нажимаем ее несколько раз, пока результат растяжения нас не устроит. Если в каких-то местах растянулось слишком сильно (это определяется наложением тестовой текстуры типа Checker), можно это подкорректировать кнопками Relax.

Как только результат нас устроил, закрываем окно Pelt Map Parameters и отжимаем кнопку Pelt (5) модификатора (пока она нажата, никакие манипуляции в окне Edit UVWs невозможны). Теперь, не снимая выделения с нашего куска, отодвигаем его в сторону в окне Edit UVWs так, чтобы он ни с чем не пересекался.

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

Когда все части готовы, располагаем их в квадрат и уменьшаем скалированием. Я предпочитаю скалировать все вместе. Если вы не применяли скалирования к точкам растяжения в процессе симуляции, то и части самой развертки должны получиться в одном масштабе. Так легче будет подгонять текстуру. Воспользовавшись плагином Texporter (после установки он живет в Utilities/More) получаем вот такую заготовку.

 

4. Текстурирование

Я не стал делать шерсть фуром, это отдельная большая задача, выходящая за рамки данного урока. Вместо этого я сымитирую нечто шерстеподобное текстурой. Покопавшись в широко известных «тоталах», берем кусочек шерсти (не смотрим на противный коричневый цвет, его мы потом исправим) и накладываем послойно на наши кусочки развертки. При этом пока совершенно не заботимся о стыках, главное соблюсти направление роста шерсти. Масштабируя, поворачивая и используя Warp, получаем вот такую текстуру для карты дифуза. Кисти рук и ступни я решил сделать без шерсти, как у крысы.

Смотрим что получилось на рендере. А получилось довольно сносно, если не считать ужасных швов от развертки.

5. Бесшовное текстурирование

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

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

Для этого нам придется развернуть модель заново, но по второму текстурному каналу. Поверх первого назначаем второй модификатор Unwrap UVW и в поле Map Channel ставим цифру 2. Теперь нам надо вырезать узкие длинные полоски вдоль швов первого канала, выступающие примерно на ширину одного полигона в каждую сторону от шва. Естественно, я не помню точно, где проходит шов первого канала, а переключатся каждый раз между анврапами занимает много времени, поэтому я приготовил вот такую временную текстуру

Сделать ее можно очень быстро. Я снял принтскрином окно редактора Edit UVWs первого модификатора Unwrap UVW. Инструментом color range в фотошопе выделил по зеленому цвету внешний контур, сделал его пожирнее инструментом Stroke, а остальное залил белым. На это ушло не больше пяти минут, зато теперь можно сэкономить много времени на разрезании новых швов. Назначаем на модель временный материл с этой текстурой на дифузе, включаем отображение текстуры во вьюпорте, входим в подобъекты face во втором модификаторе Unwrap UVW и быстренько нарезаем наши полоски вокруг зеленых швов. Нужно стараться чтобы не было ребер, где зеленые и синие швы совпадают. Нарезаем вот так.

Теперь точно также, как в первый раз, разворачиваем наши части. Я пользовался везде также пелт-мапингом, хотя, наверно, в некоторых местах можно было обойтись флатен-мапингом, это не так важно. Еще я на всякий случай развернул все части модели, хотя по идее можно было развернуть только те части, что накрывают швы первого канала, а остальное свалить в кучу, сжать во много раз и задвинуть в самый угол квадрата. Нам по этим полоскам предстоит рисовать градиентную маску, а рисовать ее по кривой крайне неудобно и долго. Поэтому я выделил последовательно в каждом куске точки, идущие по шву первого канала (их удобнее выделять во вьюпорте макса, а не в окне Edit UVWs) и поскейлил их до нуля по одной из координат. Таким образом мы получили абсолютно горизонтальные швы, нарисовать маски по которым не займет много времени. Затем я выделил точки на небольших «отростках» от основных швов и поставил их перпендикулярно (все с той же целью упрощения отрисовки масок). Получили вот такую развертку.

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

Назначил эту текстуру на дифуз тестового материала и посмотрел, везде ли совпадают красные линии со швами первого канала. Для этого, естественно, мне пришлось временно перетащить в стеке модификаторы и сделать первый Unwrap UVW выше второго (иначе вы ничего не увидите). Как оказалось, сделал я это не зря, так как нашел несколько ребер, где я накосячил. Быстренько поправил положение красных линий, пока все не совпало, и начал рисовать маски. Обычным черно белым градиентом залил области так, чтобы белые участки точно совпадали с красными метками в низлежащем слое. Ширину градиентов подобрал на глаз, примерно в размер соседних полигонов. Получилось вот что:

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

Теперь можно вздохнуть с облегчением и проверить, что у нас получилось. Назначаем мумику вот такой материал типа VRayBlendMtl (впрочем пойдет и обычный бленд):

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

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

Но это еще не все. Нам, во-первых, необходимо получить карту для бампа. Рисовать «правильную» карту со всеми выпуклостями и вогнутостями у каждой шерстинки, естественно, очень трудоемко. Поэтому логично получить достаточно приемлемый бамп из карты дифуза, убрав сатурейшн и покрутив контрастностью и яркостью. Но, как вы уже заметили, карт дифуза у нас две, и придется к ним применять одинаковую цветокоррекцию. Конечно, можно выкрутится эджастмент лэерами, но это не удобно. Во-вторых, модель нам может понадобиться, например, для игрового движка, который, конечно, не поддерживает материал типа бленд. Придется из двух текстур сделать одну, этим мы убьем двух зайцев сразу, и карту бампа легче сделать, и применять данный метод можно будет в геймдеве. Первое естественное решение, что пришло мне в голову – это запечь текстуру. Так я и поступил. Идем в Rendering/Render to Texture и ставим вот такие галки:

В поле Output указываем путь, куда кидать запеченную текстуру. Галку Rendered Frame можно ставить, но лучше не ставить чтобы сохранить душевное равновесие. Дело в том, что при этой галке результат запекания появится в окне рендера. Но он будет отличаться от того файла, который Макс запишет на диск. Не знаю, баг это или фича, но в этом окне на карте есть свето-тени от дефолтных источников света, даже если их отключить. При этом на диск пишется нормальная карта чистого дифуза. Я долго не мог понять, что не так, пока не забил на это окно. Если кто знает, почему так происходит, просьба написать в каментах, может я чего-то не понимаю. Во вкладке Render Settings нужно войти в сетап рендера и отключить ГИ и антиалиасинг, с ним запеченный дифуз получается более размытым, чем оригинал. Поле Padding задает количество пикселей, на которое запеченная карта будет как бы выступать от границ отмапленных кусков. При маленьких значениях на швах появились артефакты в несколько пикселей, при больших – куски начинают заезжать друг на друга, я поставил значение 16. В следующем поле нужно поставить Use Existing Channel и выбрать первый канал. В принципе, тут можно выбрать и второй, а можно вообще указать Максу сделать новый анврап, при этом на модели автоматически появится еще один модификатор. Но, во-первых, зачем доверять Максу то, что мы уже сделали и сделали лучше. А по второму каналу делать не выгодно т.к. основные части тела (грудь, живот) на этой развертке малы, и мы потерям в детализации текстуры. В свитке Output кнопкой Add добавляем канал VRayDiffuseFilterMap, указываем имя файла и разрешение текстуры. Галку Apply color mapping я снял т.к. с колормапингом контрастность запеченной текстуры тоже отличается от оригинала. Далее выбираем тип Baked Material, делаем его вирейским и жмем рендер. Получаем вот такую текстуру.

Она ничем не отличается от слепленной мной в самом начале, но по краям стала бесшовной. Теперь можно провести цветокорекцию дифуза (я решил сделать его фиолетовым) и сделать из нее карту для бампа. Назначив новый материал с небольшим отражением и глосси 0,6, получил вот такой результат.

На этом пока все. Во второй части урока я планирую рассказать про морфинг, скининг и риггинг (если, конечно, сам разберусь во всех тонкостях). Всем спасибо за внимание.

174003 Автор:
Актуальность: 640
Качество: 646
Суммарный балл: 1286
Выбор Публики
Голосов: 225 оценки

Отзывы посетителей:

2 3 | След.
аватар
 
Lazy_mouse 2 0

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

https://www.youtube.com/watch?v=M-maHIFYhb0

аватар
 
Helga Igla 2 0
Спасибо,
в первую очередь за озвучивание вопроса - пару лет назад очень помогло в решении другой проблемы с картами, т. к. из-за того что никто не пишет на определенные темы иногда создается впечатление что все вокруг умные, у всех все получается, один ты дурак. Очень демотивирует иногда...
Сейчас натолкнулась в поиске и вспомнила.

И формат урока очень неплохой - полезное и "новаторское" как говорят в патентном деле отфильтровано от "жмем на кнопки", пиши больше в общем :).
аватар
 
Evgeniy Kovalenko 11 0
Цитирую val3demar:
доброго времени суток!

Josef у меня к вам "глупый" вопрос. обясню причину моего к Вам обращения:

После того как я получил раскладку под текстуру моей модели (jpg), я открыл ее в фотошопе и наложил текстуру шерсти, после чего сохранил ее под тем же именем и открыл ее в 3d max в редакторе материалов (diffuse). НО вместо симпатичной текстурки моя модель приобрела ЧЕРНЫЙ ЦВЕТ. А воспользовавшись UVW Map (план или бокс) то текстурная карта просто Тупо отображается на моделе. Подскажите пожалуйста что я сделал не так. За ранее спасибо.


когда выбираешь текстуру в редакторе материалов, открываешь вкладку coordinates и в полях size ставишь размеры 1,0.
аватар
 
val3demar 2 0
доброго времени суток!

Josef у меня к вам "глупый" вопрос. обясню причину моего к Вам обращения:

После того как я получил раскладку под текстуру моей модели (jpg), я открыл ее в фотошопе и наложил текстуру шерсти, после чего сохранил ее под тем же именем и открыл ее в 3d max в редакторе материалов (diffuse). НО вместо симпатичной текстурки моя модель приобрела ЧЕРНЫЙ ЦВЕТ. А воспользовавшись UVW Map (план или бокс) то текстурная карта просто Тупо отображается на моделе. Подскажите пожалуйста что я сделал не так. За ранее спасибо.
аватар
 
Goodtime 17 0
Спасибо автору за неплохой урок!

Набрел на него в поисках "правильных" методов по полному устранению швов на текстуре.
Информация нужная и автор не одинок в своем подходе:) Нашел еще похожую информацию с небольшими вариациями (без бленда и масок), кстати, держите ссылки может пригодится, как и мне:
http://www.cornerofthedreamingmonkey.com/documents/Using%20Render%20to%20Texture%20to%20Eliminate%20Texture%20Seams.pdf
http://www.gamasutra.com/view/feature/1800/completely_eliminate_texture_seams_.php?print=1

Сильно жаль, что в комментах очень скудно прозвучало как другие борются с такой проблемой, как швы. Хотя очень бы хотелось узнать, как это делают те, кто на этом собаку съел, но видно они в раздел уроков не заходят:)
аватар
 
Максим Копылов 7 0
Цитирую Josef:
Наконец, я закончил первую работу с этим персонажем. Запостил в галерею
http://www.render.ru/gallery/show_work.php?work_id=45188&gal_rub=1&gal_add=discuss#work
Конструктивная критика и оценки приветствуются =)
З.Ы. Второй части урока скорее всего не будет, по крайней мере пока. Хотя я разобрался со скин-эфиксом и даже настроил примитивный мускульный риг. Но написав две страницы урока, понял, что нет сил дописать его. Это такой стресс.
Похоже урокописательство не для меня.
Урок очень хороший, я много нового почерпнул из него когда учился. Очень жалко что продолжения не будет.
P.S.: Может все таки сделаешь вторую часть?
аватар
 
MiVlaX 170 0
Немало времени прошло...а люди все подтягиваются и подтягиваются :) Браво...и спасибо большое! 5\5
аватар
 
Goryhater 14 0
Отличный урок, нашел в нём много интересного.
аватар
 
Sanches Kiprik 2 0
плохо...не понятно.....если взялся учить и уроки создавать...так нормально надо шаг за шагом как в школе...
аватар
 
Arturro 5 0
Спасибо за урок.Очень хороший материал.Хотелось бы чтобы ты все таки собрался и дописал вторую часть )).
аватар
 
Josef 17 0
Наконец, я закончил первую работу с этим персонажем. Запостил в галерею
http://www.render.ru/gallery/show_work.php?work_id=45188&gal_rub=1&gal_add=discuss#work
Конструктивная критика и оценки приветствуются =)
З.Ы. Второй части урока скорее всего не будет, по крайней мере пока. Хотя я разобрался со скин-эфиксом и даже настроил примитивный мускульный риг. Но написав две страницы урока, понял, что нет сил дописать его. Это такой стресс.
Похоже урокописательство не для меня.
аватар
 
TrickShot 1 0
Скажу что мне есть что тут подчерпнуть))) спасиб))))
аватар
 
Zabava 1 0
Хороший урок, ставлю 5.
аватар
 
Josef 17 0
Ho3dikin, сорри, чего сделать с руками? моя твоя непонимай..
аватар
 
Ho3dikin 2 0
так а как руки с туловищем стулить?
аватар
 
ZhizHarta 7 0
Стыки текстур все еще проглядывают - попробуй сделать двумя миксами и положи в маски миксирования слой с координатами разрезов (его пред этм смягчи и делай черноболым в фотошоп)- переход станет совсем плавным и незаметным
аватар
 
OrcSWAT 6 0
Спасибо! 5.5
аватар
 
teoretik 1 0
только учусь.. возникли проблемы с тектурой.. искал тут ответ... только запутался...:)
но, труд конечно титанический...!
аватар
 
Josef 17 0
Да, вторую часть планирую, но пока не обещаю быстро написать. Я не специалист в этой области, поэтому написание урока идет паралельно с собственным самообучением. Со скинФИкс пока мне не все понятно. Поэтому, Nickolai, авансом ничего не надо ставить, нет ничего ужаснее, чем не оправдать надежд другого человека =) Просьба оценивать этот урок как законченное произведение. А со творой частью надеюсь получится в конце концов.
2 3 | След.
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 3214 уникальных посетителей