Урок ХХ. Создание модели куклы «Маша» (из х/ф «Ночной Дозор») по сплайновой сетке.

В данной главе мы рассмотрим построение трехмерной модели куклы «Маша» из х/ф «Ночной дозор» при помощи  каркасной сетки и модификатора Surface.

 

Последовательность работы по созданию модели, будет следующая:

q      Создание «образующих» видов (сечений) по фотографии модели. 

q      Корректировка каркаса (добавление недостающих точек и линий, объединение уже имеющихся точек в рамках подготовки каркаса к присвоению модификатора Surface)

q      Применение модификатора Surface, настройка сплайновой сетки с активным модификатором Surface (корректировка готовой модели)

q      Зеркальное отображение половинки объекта. Соединение 2-х половинок.

q      Подготовка и применение текстуры к модели, используя модификатор Unwrap UVW

q      Моделирование лап паука и объединение их с моделью куклы

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

 

Рис. 1. Итоговая модель

Суть метода заключается в построении сплайновой сетки в пространстве (используя объекты Shape) с последующим обтягиванием поверхностью (используя модификатор Surface). Самый сложный этап создания объекта заключается в построении сплайнового каркаса.  Он должен быть правильно построен, не должно быть ничего лишнего. Любая лишняя точка или лишний сегмент сплайна может привести к неправильному отображению поверхности. Но есть и положительная черта. И она самая существенная: на любом этапе работы мы можем подкорректировать получаемый каркас, даже после присвоения модификатора Surface.

 

 

Создание «образующих» видов (сечений) по фотографии модели

Перед тем, как преступить к моделированию, мы подбираем фотографии того объекта, который собираемся моделировать. В данном случае, это фотографии куклы «Маша» из х/ф «Ночной дозор» (рис. 2). Фотографии по высоте должны совпадать и быть не растянутыми.

     

Рис. 2. Фотографии моделируемой куклы «Маша»

Далее загружаем фотографии в соответствующие окна проекции. Вид спереди в окно Front, вид справа в окно Right. При загрузке изображения в видовое окно, необходимо включить Match Bitmap (позволяет загрузить картинку с  истинным размером, не растягивая) и Lock Zoom/Pan (позволяет увеличивать/уменьшать изображение вместе с видовым окном) (рис. 3).

Рис. 3. Диалоговое окно настройки фона для окон проекции

Рис. 4. Результат размещение фотографии в окнах проекции

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

Вид спереди. Обводим контур правой половины головы (рис. 5). На виде справа полученный сплайн (рис. 6).

Рис. 5. Контур половины головы. Вид спереди

 

Рис. 6. Корректировка контура. Вид справа

 

Вид справа. Обводим всю голову по контуру (рис. 7).

Рис. 7. Контур головы. Вид справа

 

Вид спереди. Строим каркас глаза, используя как заготовку две окружности. Далее преобразуем их в один редактируемый сплайн Editable Spline и предаем ему форму как на фотографии. Сначала на виде спереди, потом на виде справа (рис. 8,9).

 

Рис. 8. Построение каркаса глаза. Вид спереди

Рис. 9. Построение каркаса глаза. Вид справа

 

Далее строим основные сечения в области лба, глаз, носа (нижней его части) и рта. Данные сплайны рекомендуется строить на виде сверху, а корректировать на виде справа (рис. 10-19).

 

 

Рис. 10. Построение сплайна в районе лба. Вид сверху

 

Рис. 11. Корректировка сплайна в районе лба. Вид справа

 

 

Рис. 12. Построение сплайна в районе глаз. Вид сверху

 

Рис. 13. Корректировка сплайна в районе глаз. Вид справа

 

 

Рис. 14. Построение сплайна в районе носа. Вид сверху

Рис. 15. Корректировка сплайна в районе носа. Вид справа

 

Рис. 16. Построение сплайна в районе рта. Вид спереди

 

Рис. 17. Корректировка сплайна в районе рта. Вид справа

 

 

Далее на виде спереди строим контуры рта и носа. На виде справа корректируем их

 

Рис. 18. Построение контуров рта и носа. Вид спереди

 

Рис. 19. Корректировка контуров рта и носа. Вид справа

 

 

Рис. 20. Итог построения основных сечений

 

Теперь на виде справа строим дополнительные вертикальные сечения, а на виде спереди корректируем их  (рис. 21,22).

 

Рис. 21. Построение дополнительных вертикальных сечений. Вид справа

 

Рис. 22. Корректировка дополнительных вертикальных сечений. Вид спереди

 

Корректировка каркаса

На данном этапе можно уже отвлечься от фотографии куклы и самостоятельно достроить недостающие образующие.  Для этого нужно объединить всю систему сплайнов в единый каркас, чтобы мы могли на уровне редактирования точек увидеть их на всех сечениях. Выделите любой сплайн, перейдите во вкладку Modify и нажмите кнопку Attach Mult. (рис. 23).

Рис. 23. Расположение кнопки Attach Mult . Вкладка Modify

Теперь выбираем все сплайны нажатием кнопки All и объединяем их нажатием на кнопку Attach (рис. 24).

Рис. 24. Диалоговое окно Attach Multiple

Если сейчас перейти на уровень редактирования точек, то можно увидеть следующую картину - рис. 25. Обратите внимание на расположения точек. Некоторые из них не стыкуются. Наша дальнейшая работа будет заключаться в добавлении новых точек или уничтожение старых и постройки недостающих линий. Каркас нужно настроить таким образом, чтобы пространство в объекте было ограничено 3-мя или 4-мя точками. Это необходимо для корректной работы модификатора Surface.

 

Рис. 25. Вид каркаса после присоединения сплайнов. Режим работы с подобъектами Point

 

Нам необходимо создать т.н. узлы, которыми будут ограничены «лоскутки» будущей плоскости. Для этого нужно совместить точки, стоящие рядом друг с другом. Задание одинаковых координат соседним точкам, находящимся на разных сплайнах («объединение») осуществляется следующим образом:

q      Выделить две точки – точки станут красными

q      Нажимаем кнопку Fuse, располагающуюся в свитке Geometry свойств сплайна (рис. 26).

 

 

Рис. 26. Выделение двух точек. Команда Fuse - cвиток Geometry, раздел End Point Auto-Welding

 

Внимание

Координаты точек совпадут, но две точки не превратятся в одну. Их всегда можно разъединить путем выделения одной из них и перемещения. Включите опцию Automatic Welding, тогда крайние точки сплайнов объединяться в одну.

Итог соединения точек можно увидеть на рис. 27.

 

Рис. 27.  Результат объединения точек

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

 

Рис. 28. Ситуация, когда отсутствует парная точка

Инструмент, отвечающий за добавление точек, называется Refine, свиток Geometry (рис. 29).

 

 

Рис. 29. Команда Refine - добавление точки

Когда точка добавлена, можно опять применить инструмент Fuse.

Рис. 30. Две точки на разных сплайнах объединенные инструментом Fuse

Далее с помощью инструмента Create Line (рис. 31) на уровне редактирования точек создаются дополнительные образующие, завершая построение каркаса.

Рис. 31. Свиток Geometry, команда Create Line

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

Рис. 32. Установка параметра привязок к вершинам

В итоге должен получиться каркас как на рисунке 33,34.

Рис. 33. Каркас половины головы куклы. Вид справа

 

 

Рис. 34. Изображение каркаса половины головы куклы

 

Применение модификатора Surface

Теперь, когда у нас есть готовый каркас, можно смело присваивать модификатор Surface. После присвоения, скорее всего, могут появиться дырки в поверхности (рис. 35).

Рис. 35. После применения модификатора Surface в созданной поверхности могут присутствовать «дырки»

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

Рис. 36. Вид стека модификаторов. Режим работы с подобъектами Vertex. Включенная опция «показывать действие всех модификаторов» позволяет видеть готовую поверхность, находясь на уровне редактирования сплайнов

После этого действия модель будет выглядеть так (рис. 37).

Рис. 37. Вид модели. Работа с вершинами. Включено действие всех модификаторов

Теперь рассмотрим ситуации, при которых поверхность не создастся.

Случай, когда точки были не соединены (рис. 38).

Рис. 38. Точки не объединены

Так произойдет после объединения данных точек Fuse (рис. 39).

Рис. 39. Вид поверхности после выполнения команды Fuse

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

 

В итоге должна получится такая модель половины головы (рис. 40).

Рис. 40.  Модель половины головы видимым каркасом

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

Зеркальное отображение половинки объекта.

Для начала просто применим инструмент Mirror и получим дубль половинки (рис 41).

Рис. 41. Зеркальное отображение поверхности

Далее необходимо отключить (временно) модификатор Surface с обеих половинок. Обратите внимание, что по шву соединения идет теперь по 2 сплайна. После присоединения 2-х половинок функцией Attach это наиболее заметно (рис. 42).

Рис. 42. Два сплайна на стыке

Для начала пробежимся по стыковым точкам и соединим их инструментом Fuse. Затем по очереди будем удалять лишние сплайны (рис. 43-44). Это можно сделать в режиме редактирования Spline.

 

Рис. 43. Соединение стыковых точек

Рис. 44. Удаление лишних сплайнов

После этого, включив модификатор Surface, можно увидеть полученную модель (рис. 45).

Рис. 45. Готовая модель головы куклы

Далее аналогично, либо по фотографии, либо по образцу (рис. 46-49) достраиваем тело куклы.

Рис. 46. Модель куклы с видимым каркасом. Вид спереди

Рис. 47. Модель куклы с видимым каркасом. Вид справа

 

Рис. 48. Модель куклы с видимым каркасом. Вид слева

 

Рис. 49. Модель куклы с видимым каркасом. Вид сзади

Готовая модель куклы должна выглядеть как на рисунке 50.

 

 

Рис. 50. Готовая модель куклы «Маша» с видимым каркасом

Завершающим этапом создания модели куклы является наложение текстуры.

 

Подготовка и применение текстуры к модели, используя модификатор Unwrap UVW

 

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

 

Рис. 51. Подготовленная текстура куклы «Маша»

 

 

 

 

 

 

 

 

Теперь применяем к модели модификатор Unwrap UVW (рис. 52).  

Рис. 52. Вид стека модификаторов после добавления модификатора Unwrap UVW

Далее применяем к модели текстуру куклы и в свойствах модификатора Unwrap UVW нажимаем Edit (рис. 53) для точной подгонки текстуры.

 

Рис. 53. Свойства модификатора Unwrap UVW

 

После чего откроется окно редактирования, в котором осуществляется подгонка текстуры к модели (рис. 54).

Рис. 54. Окно редактирования модификатора Unwrap UVW

 

Теперь необходимо получить вид спереди и сзади  и подогнать их под нашу текстуру.  Для этого переходим в меню Mapping -> Normal Mapping (рис. 55).

 

Рис. 55.

В свитке диалогового окна Normal Mapping выбираем Back/Front Mapping (Получить вид сзади и спереди) (рис. 56).

 

Рис. 56. Диалоговое окно Normal Mapping

Далее с помощью инструментов перемещение, масштабирование и вращение подгоняем развертку по текстуре (рис. 57).

 

Рис. 57. Результат  подгонки текстуры

Результат  подгонки текстуры с помощью модификатора Unwrap на рисунке 58.

 

Рис. 58.  Модель куклы с текстурой. Вид спереди

 

 

Рис. 59.  Модель куклы с текстурой. Вид сзади

 

Моделирование лап паука и объединение их с моделью куклы

 

Необходимо смоделировать лапу паука. Можно воспользоваться рисунками 60 и 61, как образцами. Данная модель получена из объекта Box, путем его преобразования в Editable Mesh и последующего редактирования.

 

Рис. 60. Модель лапы паука

 

 

Рис. 61. Модель лапы паука

Далее делаем еще 3 копии ноги и совмещаем их с моделью куклы, как на рисунке 62.

Рис. 62. Модель куклы-паука «Маша»

 

 

 

 

 

 

 

 

 

Урок ХХI. Анимирование модели куклы «Маша» (из х/ф «Ночной Дозор»)  с помощью системы объектов (bones).

 

Система объектов Bones (кости) ориентированна на формирование связанных цепочек «костей», позволяющих имитировать скелет персонажа. Обычно систему костей создают для анимации персонажа, уже имеющего готовую телесную оболочку. В этом случае кости в процессе создания размещают внутри сетки тела персонажа.

Для создания системы объектов Bones (кости)  перейдите во вкладку Systems и выберите Bones  (рис. 63).

Рис. 63. Вкладка Systems

Щелкните в точке окна проекции, где должна начинаться первая из костей, и переместите курсор до точки, где она должна закончиться, и еще раз нажмите левую кнопку мыши. Так можно создавать все новые и новые кости, которые автоматически связываются в иерархическую цепочку. В этой цепочки самым старшим объектом становится первая из созданных костей, а самым младшим – последняя из них. Для завершения создания цепочки костей щелкните правой кнопкой мыши. При этом на конце цепочки создается дополнительная маленькая «косточка»

Создайте цепочку костей, повторяя геометрию ноги паука, как показано на рисунке 64.

Рис. 64. Система костей лапы паука

 

Если Вы хотите изменить размеры и форму костей, принятые по умолчанию, настройте следующие параметры в свитке Bone Parametrs (параметры кости) (рис. 65).

Рис. 65. Параметры объекта Bones

 

Width(ширина) – ширина кости

Height (высота) – высота кости

Taper (заострение) – степень заострения кости от ее начла к концу

Side Fins (боковые плавники), Front Fin(передний плавник), Back Fin(задний плавник) – флажки, установка которых ведет к появлению на создаваемой кости выступов по бокам, спереди и сзади. Эти выступы играют не только декоративную роль, но и помогают управлять оболочкой тела персонажа в ходе скелетных деформаций.

Size(размер), Start Taper(заострение в начале), End Taper(заострение в конце) – счетчики, задающие ширину соответствующих выступов, а также степень их заострения в начале и в конце.

Теперь делаем копию системы костей, размещаем ее внутри сетки следующей лапы и первую кость привязываем к главной кости персонажа, находящейся в теле куклы. Для привязки одной кости или системы костей к другой, необходимо нажать на кнопку Select and Link (Выделить и связать) (рис. 66).

 

Рис. 66. Расположение кнопки Select and Link

 

Связывание необходимо производить от дочерних объектов к родительским. Удерживая левую кнопку мыши, перетащите курсор от первой кости лапы до главной кости, которая находится в теле куклы (рис. 67).

 

 

Рис. 67. Связывание системы костей одной из лап с главной костью

 

 

 

Аналогичным образом создайте системы костей для оставшихся двух лап  (рис. 68).

Рис. 68. Модель с полной системой костей для каждой конечности

 

 

Далее нужно связать кости с моделью и настроить зоны влияния каждой кости.

 

Привязка костей к объекту

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

Итак, выделите одну из лап и примените к ней модификатор Skin. Щелкните на кнопке Add (добавить) свитка Parameters(параметры), чтобы добавить кости (рис. 69).

 

Рис. 69. Параметры модификатора Skin. Расположение кнопки Add

В появившемся окне Select Bones (выделение костей) выделите в списки кости соответствующие данной лапе  (рис. 70), предварительно рекомендуется изменить названия костей на более понятные, чтобы было легче искать нужные кости.

Рис. 70. Диалоговое окно Select Bones

Имена выбранных костей появятся в списке свитка, расположенном под кнопкой Edit Envelopes(правка огибающих) (рис. 71).

Рис. 71. Список выбранных костей для настройки зоны влияния

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

Рис. 72. Зона влияния костей не охватывает все точки лапы

 

Для настройки зоны влияния костей выделите в списке свитка Parameters(параметры) кость Лапа1(4) и щелкните на кнопке Edit Envelopes(правка огибающих) (рис. 73).

 

Рис. 73.  Расположение кнопки Edit Envelopes

 В окнах проекций появится изображение зоны влияния кости в виде эллипсоидов: внутреннего (степень влияния на объект – 100%), красного цвета, и внешнего (область между эллипсоидами – область перехода от 100% к 0% влиянию кости на объект), коричневого цвета. Как видно, даже внешний эллипсоид не охватывает оболочку цилиндра (рис. 74).

Рис. 74. Изображения зоны влияния выделенной кости

Задача состоит в том, чтобы увеличить область действия кости. Укажите курсором на один из маркеров внешнего эллипсоида и переместите его, увеличивая размер области влияния (рис. 75). Красный цвет вершин указывает на то, что они оказались под 100-процентным влиянием выделенной кости.

Рис. 75.  Увеличение зоны влияния выделенной кости

Аналогично поступите с нижними маркерами. Сделайте так, чтобы влияние кости распространилось до низа лапы (рис. 76).

 

Рис. 76.  Распространение зоны влияния выделенной кости до низа лапы

 

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

 

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

 

Выделите первую кость цепочки костей одной из лап паука . Выберите в основном меню Animation(анимация) -> IK solvers(IK решения) -> контроллер HI Solvers(HI решение) (рис. 77). Данный контроллер позволяет организовать действие интерактивной обратной кинематики только на определенном участке цепочки объектов.

Рис. 77.  Выбор контроллера анимации HI Solver

 

Далее от локальной системы координат выделенного объекта потянется пунктирная линия. Щелкните кнопкой мыши на последнюю кость выбранной лапы. Появится изображение цепи контроллера в виде белых линий и изображения объекта IK Chain(IK-цепочка) в виде перекрестья (рис. 78).

Рис. 78. Изображение объекта IK Chain

Теперь для анимации выбранной лапы, на которую распространился метод интерактивной обратной кинематики, необходимо анимировать объект IK Chain(IK-цепочка) (рис. 79). Первая кость лапы является самой старшей, последняя соответственно самой младшей.

Рис. 79. Перемещение объекта IK Chain

 

 

 

Назначьте аналогичным образом данный контроллер остальным лапам (рис. 80).

Рис. 80. Контроллер HI Solver назначен всем лапам

А теперь только осталось получать удовольствие от анимирования нашего персонаж (рис. 81).

Рис. 81. Смоделированный персонаж в сцене