Моделирование головы (NURBS)

Copyright 1999 Peter Ratner (отрывок из книги, готовящейся к печати)

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

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


Рис. 7-1 Кривые, определяющие черты лица, обычно совпадают с направлением мускулов

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

Мускулы головы

Важно отметить, что мускулы движутся не сами по себе. Когда волокна одного из мускулов сокращаются или расслабляются, при этом активизируются соседние мускулы, которые, в свою очередь, снова воздействуют на этот сокращающийся мускул. Обычно выделяют три группы мышц головы. Большинство из них невелики, тонки, или находятся в глубине жировой ткани. Некоторые из мускулов, показанных на рис. 7-2, требуют особого внимания. Они играют важную роль в мимике и помогают определить контуры лица.


Рис. 7-2. Мускулы головы делятся на три группы- мускулы кожи черепа, лица и жевательные мускулы.

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

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

Вокруг рта расположен мускул Orbicularis Oris. Этот мускул имеет эллиптическую форму и выделяется тем, что не прикреплен ни к какой кости. Вместо этого он присоединен к нескольким небольшим мускулам, направленным в сторону рта. Он искривляет и сжимает губы. У пожилых людей часто бывают видны складки у уголков рта, которые обусловлены сокращением этого мускула.

Orbicularis Oculi - еще один мускул округлой формы, обрамляющий глазницы. Его сокращения создают морщинки у уголков глаз. Его основная функция- прикрывать веки, когда человек щурится.

Zygomatic Major тянется от боковой части лица к передней, в районе уголков губ. Его функция- энергичное поднятие уголков рта. Кстати, когда человек хмурится, при этом задействуется больше мускулов, чем когда он улыбается.

По бокам носа проходят три ветви Quadratus Labii Superioris, которые поднимают верхнюю губу в ухмылке.

Triangularis и Depressor Labii Inferioris отвечают за опускание вниз рта и губ.

Mentalis перемещает кожу подбородка и выпячивает вверх нижнюю губу.

Создание кривых, определяющих голову

Для точного моделирования головы мы настоятельно рекомендуем сначала загрузить несколько файлов с изображением головы в анфас и профиль. Изображение верха головы также может оказаться полезным, но это не столь существенно. Другим возможным подходом является использованием готовой модели головы и <оборачивание> кривых вокруг нее.

Начните рисовать первую кривую с внутренней поверхности рта, обогните ее через верхнюю губу, нос, лоб и череп, и завершите ее у основания шеи (рис. 7-3)


Рис. 7-3 Первая кривая определяет профиль и центральную часть головы. Она начинается на внутренней поверхности рта и заканчивается у основания шеи.

Эта кривая расположена по центру головы и определяет ее профиль. Для создания этого контура чаще всего используется вид сбоку. Завершив эту кривую, можно удалить лишние точки ил или добавить точек в районе рта, носа или глаз. В общем, кривая должна состоять не белее чем из тридцати точек. Большинство точек должно быть сконцентрировано в районе губ, носа и рта. Поскольку вы можете создать остальные кривые, дублируя эту, вам не придется возиться со слишком большим количеством точек. С другой стороны, не слишком удобно в дальнейшем вставлять дополнительные точки для создания более мелких деталей. Большинство пакетов трехмерного, поддерживающих <лофтинг> или <скиннинг>, предпочитают, чтобы у всех кривых было одинаковое количество точек. Общее количество кривых для одной половины лица должно быть не более тринадцати. Если вам удастся свести к минимуму число точек и кривых, анимация лица в дальнейшем существенно упростится. Поверхности, состоящие из меньшего количества точек и кроивых, также получаются более гладкими.

Если вы планируете использовать копии первоначальных кривых, дублируйте первую кривую. Вместо того, чтобы отодвигать целиком новую кривую от первоначальной, лучше выбрать отдельные точки кривой или решетки. Их надо переместить параллельно первой кривой. Скопируйте вторую кривую, чтобы продолжить формировать контур лица и черепа. На рис. 7-4 показаны первая, вторая и третья кривые друг относительно друга. Глядя на рис. 7-7 вы сможете понять, как разместятся остальные кривые и точки.


Рис. 7-4 Первые три кривые рядом с моделью. Вторая и третья определяют края носа и постепенно удаляются от первой. Точка их наибольшего удаления от первой кривой расположена сзади головы.

Некоторые пакеты позволят вам перестроить кривые так, чтобы у них было одинаковое количество точек. Это значит, что вам самим не придется об этом беспокоиться. Закончив рисование кривых, просто включите опцию rebuild curves с типом uniform. Удостоверьтесь, что задали приблизительно тридцать точек.

Обычно бывает полезным создавать <лофт> по мере рисования (рис. 7-5).


Рис. 7-5 Редактирование кривых на частичном <лофте> на фоне трехмерного образца головы.

Тогда у вас будет общее представление о конечном результате и появится надежда избежать неприятных сюрпризов. Если у вашего пакета есть опция history, как у Maya, Sumatra, или Rhinoceros, вы можете перемещать точки второй кривой на каркасе до тех пор, пока не удовлетворитесь результатами. Если вы используете трехмерный образец головы, включите для новой секции поверхности опцию X-ray Shade, тогда при деформировании первоначальной кривой будет видно соответствие между вашей работой и образцом. Другим полезным инструментом в MayaTM является Layer Editor. Его можно использовать для того, чтобы держать кривые и трехмерную модель в разных слоях, каждый из которых может быть показан или спрятан. Закончив работу с кривыми можно удалить временный <лофт>, оставив только сплайны.

Вернемся к рисованию, копированию и перемещению точек на новых дублированных кривых. Вокруг кривых три и четыре, вам, скорее всего, захочется обозначить ноздри. Большинство художников считают это самой сложной частью лица. Это особенно справедливо, когда речь заходит о формировании отверстия. Некоторые художники моделируют эту часть отдельно, а затем присоединяют к остальной части носа посредством fillet blend. Если же вы хотите делать нос целиком в виде фрагмента общего каркаса, сделайте углубление у крыльев носа, приблизив друг к другу точки соседних кривых. Не забудьте сделать <лофт> и внести подобающие исправления.

По мере того, как вы продолжаете рисовать и изменять кривые, проверьте каркас в направлении поверхностей U и V. После лофтинга должны быть видны ребра каркаса. Они должны быть гладкими и не иметь особо резких изломов. Вы, скорее всего, заметите области, которые в дальнейшем вызовут у вас проблемы. Это будет происходить там, где кривые будет резко поворачивать. На рис. 7-6 показана голова почти со всеми кривыми, за исключением кривых челюсти.


Рис. 7-6 Отредактируйте кривые так, чтобы они стали гладкими в плоскостях U и V.

Когда вы переходите к формированию кривых щек, точки, которые задавали черты лица, группируются в небольших областях. Это придает поверхности бугристый вид. Часть лица в районе нижней поверхности челюсти может оказаться одной из наиболее трудных для изготовления частей. Процесс создания кривых и исправления поверхностей наиболее утомителен при моделировании головы, но лишнее время, затраченное на этом этапе, позволит вам избежать больших усилий после финального лофтинга. На рис. 7-7 показаны кривые для половины головы.


Рис. 7-7 Окончательный вариант половины лица. Обратите внимание на направление кривых U и V. Размещение точек на кривых определит успешное построение соединительных линий.

Создав кривые для половины лица, сделайте лофт. В этот момент будет неплохо подвигать кривые со включенной опцией history, чтобы сгладить бугорки и неровности на каркасе.

Дублирование и отражение кривых

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


Рис. 7-8 Удвоенные и отраженные кривые для второй половины лица

В этот момент вы можете разобраться со всеми проблемными точками, манипулируя исходными кривыми, или работая непосредственно с каркасом, работая с контрольными линиями или с корпусом. Изменяя решетку между точками корпуса, можно увидеть, правильно ли расположены точки корпуса. Если вы работаете с MayaTM, то для сглаживания каркаса можно применить Artisan. В некоторых случаях это срабатывает, однако иногда этим методом трудно управлять, так как точки могут сильно сместиться. Поскольку теперь вы работаете с обеими половинками лица, вам придется выбирать соответствующие точки с обеих сторон. Чаще всего вам будет достаточно инструмента move, однако иногда, когда две точки надо сблизить или разнести подальше, может потребоваться инструмент scale.

Создание области глаз

Некоторые 3d - художники предпочитают моделировать глаза из того же каркаса. Наш метод, использующий кривые, начинающиеся внутри рта, делает это крайне сложным. Кривые вокруг глаз поворачивают почти на девяносто градусов, что делает создание век почти невозможным. Другой подход состоит в том, чтобы прорезать отверстия для глазниц, отдельно смоделировать веки, а затем создать blend с поверхностью головы. Преимущество при отдельном изготовлении глаз состоит в том, что можно добиваться сколь угодно высокой степени детализации, не усложняя при этом остальной модели. Другое преимущество при отделении век состоит в том, что округлая форма глаза будет повторять линию Orbicularis Oculi,- мускула, обрамляющего глазницу. Лицо будет легче анимировать, поскольку оно не будет включать лишних изопарм, (прим. пер. - про <изопараму>,- см. ниже, там, где про ухо) обрамляющих веко.

Хочу сделать предупреждение на счет аккуратности при применении blends. Когда вы делаете fillet blend, эта граница постоянно обновляется, потому как в ней задействована история создания. При анимации персонажа в местах соединений может возникнуть мерцание, что становится видно при рендеринге. Это особенно заметно при прямом освещении и при использовании гладких текстур. Использование blends также существенно замедляет рендеринг. Суть даваемых рекомендаций в том, чтобы ограничить использование blends частями, не подвергающимися большим деформациям.

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


Рис 7-9 Для создания отверстий для глаз делаются два овала

Удвойте и отразите овал. Спроецируйте овалы на поверхность головы. Если проекции помещены и на заднюю сторону головы, удалите их. Для удаления проекций овалов воспользуйтесь инструментом trim. Теперь в голове прорезаны два отверстия для глаз (рис. 7- 10).


Рис. 7-10 Используйте проекции кривых для вырезания отверстий для глаз

Выберите овал, который вы проецировали на поверхность головы. Удвойте его и поместите в глазницу. Продолжайте, пока не получите нечто подобное изображенному на рис. 7-11. Выберите овалы, которые составят веко, и создайте лофт.


Рис. 7-11. Лофт кривых, составляющих веко

Удвойте и отразите веко, чтобы сделать второй глаз. Создайте fillet blend на месте соединения века с глазницей (рис. 7-12). Сделайте тоже самое для второго глаза. Теперь веки соединены с остальным лицом (рис. 7-13). Следующим шагом будет моделирование уха.


Рис. 7-12. Подготовка к созданию fillet blend


Рис. 7-13 Кривые век с fillet blend

Моделирование уха

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

Лучше всего представить себе ухо в виде цветка. Первые кривые в этом проекте будут выходить наружу из центра уха, огибать его наружный край и заканчиваться у головы (рис. 7-14-7-16).


Рис. 7-14. Первые четыре кривые уха на фоне затененного образца


Рис. 7-15. Первые восемь кривых образовывают внутреннюю и внешнюю поверхности уха


Рис. 7-16. Для большей детализации добавлено больше кривых

У каждой из кривых должно быть приблизительно одиннадцать точек. Кривые можно удваивать, или прорисовывать по отдельности, а затем перестраивать с шестью точками и степенью пять (прим. пер. - см. выше- чтобы было одинаковое к-во точек). Так вы получите нужное количество точек для получения наилучшей детализации (рис. 7-17).


Рис. 7-17. Четыре вида всех кривых, составляющих ухо.

Создайте лофт для всех кривых. Если у вас включено опция history, подгоните кривые так, чтобы они соответствовали форме уха (рис. 7-18). Изопарма, или кривая, соединяющая концы первоначальных кривых, будет проецироваться на поверхность головы на следующем шаге. Ее можно изменять только при включенной опции history.


Рис. 7-18. Создав лофт и включив опцию history можно подогнать форму кривых

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

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


Рис. 7-19 вырежьте отверстие, куда будет прикреплено ухо.

Сделайте ухо видимым и выберите первую изопарму, ближайшую к голове. Затем выберите контур отверстия в голове и создайте blend между изопармой и головой (рис. 7-20).


Рис. 7-20. Выберите изопармы, которые будете смешивать.

Создайте fillet blend (рис. 7-21- 7-22)


Рис. 7-21. fillet blend


Рис. 7-22. Окончательный вариант уха после создания fillet blend

Как сделать глаза

В качестве глазных яблок можно использовать обыкновенные сферы. Вместо того, чтобы нанести радужку со зрачком на глазное яблоко в виде текстуры, вы можете захотеть сделать отдельно радужную оболочку, покрытую текстурой. Модель радужной оболочки может быть взята из образцов: следует выбрать горизонтальную изопарму и отделить ее от поверхности. Текстура для радужной оболочки может быть отсканирована или получена с применением фильтров в программе обработки изображений (рис. 7-23- 7-24).


Рис. 7-23. Радужная оболочка относительно невелика по сравнению с глазным яблоком


Рис. 7-24. После нанесения текстуры, продублируйте глаз и поместите во вторую глазницу

Более реалистичные модели глаза показаны на рис. 7-40- 7-41

Моделирование зубов и десен

Зубы можно представить просто в виде нескольких овалов. После создания лофта, замкните видимые края. Поскольку те края, которые будут помещены в десна, будут невидимы, можно оставить их открытыми. В самом деле, можно начать с моделирования одного зуба, а затем видоизменить его и получить пять -шесть других разновидностей зубов. Половинка верхних и нижних зубов дублируется и отражается для заполнения второй половины рта (рис. 7-25).


Рис. 7-25. Верхние зубы и десны и полный набор зубов и десен.

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

Другой метод моделирования головы при помощи NURBS


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

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


Рис. 7-26. Кривые начинаются на вершине головы.

После создания кривых для одной половины лица, они удваиваются, отражаются, и делается лофт. Другой возможностью является создание лофта для половины головы. Половина головы с лофтом затем удваивается и отражается, а затем обе половинки выравниваются друг относительно друга и скрепляются между собой. На рис. 7-27 показана голова с двумя выровненными половинками. Дополнительные изопармы указывают на места соединения половинок. Такой способ соединения половинок возможен и при первом методе моделирования.


Рис. 7-27. Лофт головы с вертикальными кривыми.

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

Питер Ратнер - автор книги 3-D Human Modeling and Animation Он создал курс компьютерной анимации в James Madison University, где и преподает в настоящее время.

Оригинал: www.highend3d.com

37 0 850 3
0
RENDER.RU