Эффективное моделирование персонажей


Поскольку приходят письма с просьбами рассказать об основах эффективного моделирования персонажей, попробую рассказать, как это делаю я. Сразу замечу, что рассматривать моделирование при помощи модификатора Surface и всего, что с ним связано мы пока не будем, т. к. этот способ, во-первых широко известен, во вторых - очень хорошо описан в литературе (см. Билл Флеминг "Создание трехмерных персонажей" М. ДМК 1999 - очень рекомендую!).

Рассмотрим два способа: - первый - нечто вроде BOX MODELLING, но с вариациями. Второй - моделирование с применением NURBS поверхностей (хотя в 3DSMAX эта часть всё ещё оставляет желать много лучшего, тем не менее, в версии 3.1 уже можно кое-что делать, и это, видимо, только начало...).

Способ 1.

Способ неплохой, но у него есть свои недостатки. Во-первых - трудновато бывает добиться соответствия эскизу. Хотя мне удавалось чуть ли не портретное сходство. Во-вторых - многовато получается полигонов. Хотя и с этим можно бороться. Ну и, конечно, для очень высокого разрешения (полиграфия) NURBS может быть лучше. Хотя в 3DSMAXr3.1 в meshsmooth NURMS совсем неплох. В общем, это всё скорее вопрос опыта и личной склонности...

Прежде всего, несколько общих замечаний. Применяя этот метод приходится много пользоваться булевскими функциями для mesh, которые, к сожалению, в версии 3.1 гораздо хуже работают, чем в версии 2.5. (в версии 2.5 надо использовать boolean2). Но, с другой стороны, в версии 3.1 есть такая замечательная вещь, как nurms-овый meshsmooth с весовыми коэффициентами, который тоже хорошо бы использовать. Кроме того, модификатор Edit Mesh в версии 3.1 тоже поудобнее. Так что придётся прыгать туда-сюда.

Попробуем для начала смоделить дракончика. Начнём с головы. Первое, что надо сделать - это нарисовать его гордый профиль в виде замкнутого сплайна (в сплайне все vertex-сы должны быть linear !!).


Затем рисуем несколько таких же "изолиний". Всм этим сплайнам делаем Extrude на какую-нибудь заметную высоту. После этого лучше перейти к работе непосредственно с mesh-ем. Я обычно просто делаю collapse all в стеке модификаторов. Располагаем наши обьекты так, чтобы получилось грубое подобие полуголовы дракона, и при этом они перекрывали бы друг друга. Затем двигаем вершины в сетке (mesh) так, чтобы подобие стало по возможности менее грубым. Затем для всех обьектов по очереди делаем булевскую операцию union. Потом, получив editable mesh, проверяем её (хорошо бы отключить все smoothing groups, просто для удобства). После булевских операций часто обнаруживается множество близкорасположенных паразитных вершин. Их лучше удалить. Для этого можно или, установив snap vertex, собрать все соседние вершины к одной и сделать vertex weld, или просто выбрать их все и сделать vertex collapse.


Надо только следить, чтобы при этом не образовалось перекрываюшихся face-ов. Попробуем применить к нашему обьекту meshsmooth. Гладко. Но скучно.

Идём дальше. Делаем место под глаз (веки). Техника та же. Рисуем сплайны, редактиуем сетку, обьединяем булем, редактируем. Так же присоединяем ноздри и рога. Углубляем пасть тоже булем, но subtraction. Зубы можно делать так же. А можно немного по-другому, как и чешуйки-пупырышки.

Конечно, чешуйки-пупырышки можно делать при помощи материалов - bump, specular и т.п. Но это мелкие. Крупные лучше сделать сеткой. Можно для них использовать boolean. А можно применить compaund object shapemerge. Для этого берём вид нашего зверюги в профиль, и рисуем четырехугольники там, где нам хотелось бы видеть чешуйки (конечно, слишком увлекаться не стоит; последствия могут быть ужасными !). Затем все эти квадратики обьединяем в один сплайн. После чего делаем нашей полуголове shapemerge с этим сплайном. Превращаем полученный обьект в сетку.Заходим в подобьект face. Те faces которые нам нужны, уже выделены. Делаем extrude faces на минимальную величину (для этого вручную надо ввести значение - например 0.001). Теперь просто двигаем их все вместе так, чтобы наши пупырышки приобрели некую высоту. Затем скалируем на уменьшение, предварительно выбрав в верхней панели скалирование по трём координатам с раздельными центрами.


Можно всю эту эпопею с пупырышками повторить сверху, снизу, спереди и т.п. Желательно при этом время от времени подчищать лишние vertexes-faces как уже описано.

ВАЖНОЕ ЗАМЕЧАНИЕ: Конечно, нужно при этом всём использовать и описанные во всех книжках способы - просто extrude face, вообще все возможности edit mesh. Кроме того, я очень часто пользуюсь всеми разновидностями модификаторов FFD в применении к выделенным вершинам.

БОРЬБА С ГЛЮКАМИ БУЛЯ. Эти глюки у вас рано или поздно возникнут - это даже не вопрос. Сперва попробуйте, поставив значение treshold в weld vertex поменьше, сделать weld всем vertex-ам. Если не помогло, попытайтесь сделать utilites reset X-form и в стеке - collapse all. Если это не помогает - попробуйте сделать modificators - cap holes. Тогда остаётся довольно муторный способ ловли глюка по частям. Когда нибудь я его опишу...(Перед борьбой надо сделать Undo. Для надежности, минимум шага на 4)

Ну вот. Теперь выберем все faces нашей полуголовы, которые образуют осевую плоскость (разделяющую половины головы). И убьем их! Засим выделим все вершины, ограничивающие образовавшуюся дыру, и отскалируем их в 0 по одной, понятно какой, оси. Затем делаем mirror-copy, обьединяем две сетки, совестив их с применением snap vertex, и делаем weld.


Дальше делаем Meshsmooth. Можно и старый - тогда выставим Quad Output и Smooth result. Ну как ? По-моему, вполне. Терпимо.

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

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


Материал предоставлен: Сергей Лозовой, RAYSTATION Studio

2 0 850 2
0
RENDER.RU