Урок из книги: "3D-моделирование и анимация лица: методики для профессионалов". Воссоздание эмоций и основы движения глаз







Отрывок из книги
3D-моделирование и анимация лица: методики для профессионалов



Джейсон Осипа
Компьютерное издательство "Диалектика"






Глава 7

Воссоздание эмоций и основы движения глаз

Глаза и брови сообщают все, что нам требуется знать об образе мыслей персонажа. Для бровей характерны два основных вида движений: поднятие/опускание и сжатие бровей. Само по себе поднятие/опускание бровей мало что говорит об эмоциях персонажа, поэтому эти движения зачастую используются в сочетании со сжатием бровей и различными комбинациями положения век. Как правило, сжатие бровей принимает участие в передаче каждой эмоции, поскольку оно обозначает мысль независимо от вида эмоции.

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

Если вам нужно восстановить в памяти любые из рассматриваемых здесь понятий, обратитесь к главам 2 и 3, где вы найдете все необходимые сведения.

В этой главе...

Построение верхней части лица

Правила игры для глаз и бровей

Примеры анимации

 

Построение верхней части лица

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

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

Моделирование по частям

Модель лица, используемого здесь для описания действия глаз и бровей, называется Box Head (Прямоугольная голова) и показана на рис. 7.1. Вы можете загрузить ее из файла сцены \Chapter_Files\C07\BoxHead.ma на прилагаемом к этой книге компакт-диске.

Рис. 7.1. Какое милое лицо!

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

Итак, построим и снарядим самую простую область глаз, чтобы вам легче было усвоить понятия, которые будут поясняться ниже. С этой целью мы построим исходную модель “задника” лица, вырежем в ней глаза, сформируем плоские участки, обозначающие брови и веки, а затем создадим сферу и выпрямим ее для формирования глазных яблок. После этого мы загрузим в сцену сплайн, построенный в главе 1, чтобы снабдить модель Box Head ртом!

Лицо

Создайте плоскость шириной 1, высотой 0,4, с 10 подразделениями по ширине и 4 подразделениями по высоте. Если выбрать ось Z, то создаваемая плоскость будет обращена лицом вперед в окне вида спереди, где нам предстоит выполнить большую часть работы над моделью лица.

Плоскости создаются в Maya по команде CreateðPolygon PrimitivesðPlane q (СоздатьðМногоугольные примитивыðПлоскость).

Удалите грань, отсутствующую на рис. 7.2. Выделите внешние ребра отверстий и уменьшите их масштаб по оси Y. Затем выделите точки, определяющие верхние края отверстий, и вытяните их вверх. Это и будут глазницы. Выделите все точки по внешнему периметру сетки и масштабируйте их наружу, чтобы расширить границы плоскости “лица”. Сделайте нижний край плоскости более отдаленным, чем остальные, как показано на рис. 7.3. В этой части плоскости будет в конечном итоге расположен рот. Переименуйте данную плоскость в Face (Лицо).

Рис. 7.2. Сетка с пробитыми отверстиями для глаз

Рис. 7.3. Сетка послужит в качестве задника для лица

Брови

Создайте еще одну многоугольную плоскость, но на этот раз шириной 0,4, высотой 0,1 и с 1 подразделением по ширине и высоте. Переместите эту плоскость в точку с координатами (–0,25, 0,2, 0,2) по осям X, Y и Z соответственно. Это и будет правая бровь. Создайте материал lambert (По Ламберту) и сделайте его черным.

Существует немало способов создания материала. Быстрее всего это делается следующим образом: щелкните правой кнопкой мыши на объекте и выберите команду Assign New Material (Назначить новый материал) в нижней части маркированного контекстного меню.

Переименуйте плоскость в RBrow (Правая бровь). Скопируйте плоскость RBrow и переместите ее копию в точку с координатами (0,25, 0,2, 0,2), т.е. на противоположную сторону лица. Присвойте скопированной плоскости имя LBrow (Левая бровь). Теперь должны проявиться первоначальные очертания самого простого лица (рис. 7.4).

Рис. 7.4. Теперь на лице появилось нечто похожее на брови

Верхние веки

Создайте еще одну плоскость, но на этот раз шириной 1, высотой 0,25 и только с 1 подразделением по ширине и по высоте. Переместите вновь созданную плоскость в точку с координатами (0, 0,2, 0,01) (рис. 7.5). Присвойте ей имя UprLids (Верхние веки).

Рис. 7.5. Контур плоскости верхних век, обозначающий место их расположения

Нижние веки

Сдублируйте плоскость UprLids и переместите ее копию вниз к точке с координатой –0,225 по оси Y. Переименуйте ее в LwrLids (Нижние веки). Сделайте и те и другие веки потомками объекта Face, а затем зафиксируйте преобразования век (по команде ModifyðFreeze Transformations (ВидоизменитьðЗафиксировать преобразования) в Maya). Это необходимо для того, чтобы при последующем применении выражений преобразования век по умолчанию выполнялись относительно точки с координатами (0, 0, 0).

Рис. 7.6. Нижние веки располагаются прямо под контуром глаз

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

Глазные яблоки

Создайте многоугольную сферу радиусом 0,8, с 20 подразделениями по оси, 4 подразделениями по высоте и выберите ось Z в качестве ее собственной оси вращения. Переместите сферу в точку с координатами (–0,25, 0, –0,01). Уменьшите масштаб сферы до величины 0,1, 0,1, 0,01. В итоге должна получиться очень плоская сфера, посаженная в правую глазницу на моделируемом лице. Присвойте этой сфере имя REye (Правый глаз) и такой же черный материал, как и у бровей.

В связи с тем что материал уже создан, щелкните правой кнопкой мыши на сферическом объекте, выберите сначала команду Assign New Material в нижней части маркированного контекстного меню, а затем материал, созданный и назначенный для бровей.

Сдублируйте созданное выше глазное яблоко и переместите его копию на противоположную сторону в точку с координатами (0,25, 0, –0,1). Присвойте вновь созданному объекту имя LEye (Левый глаз). Теперь упрощенная модель лица должна выглядеть так, как показано на рис. 7.7.

Рис. 7.7. Модель Box Head почти готова. Ей недостает лишь одного, самого шумного элемента — рта

Прежде чем продолжать дальше, сохраните на всякий случай результаты своих трудов. Теперь остается лишь импортировать сплайн рта из файла сцены, сохраненного в главе 1 или же на прилагаемом к этой книге компакт-диске. Этот сплайн должен появиться прямо посередине модели Box Head. В противном случае переместите его на место. Выделите сначала сплайн рта (Mouth), а затем объект Face, чтобы сделать этот сплайн потомком данного объекта. Переместите сплайн Mouth в точку с координатами (0, –0,3, 0,1) и выполните его пропорциональное масштабирование до величины 0,25. Сдублируйте сплайн Mouth и выполните пропорциональное масштабирование его копии до очень малой величины 0,01 (рис. 7.8). Убедитесь в том, что режим предыстории построения включен, и выполните лофтинг сплайна Mouth вместе с его копией. По завершении этой операции выключите режим предыстории построения. И наконец, назначьте черный материал lambert, чтобы получить в итоге объект лофта.

Рис. 7.8. Модель Box Head имеет довольно кроткий вид, если не считать того, что может изрыгать ее рот!

Установление родительских связей в модели лица

Итак, создав отдельные элементы модели лица, перейдем к их снаряжению для анимации. Начнем с глазных яблок. Создайте локатор и масштабируйте его до величины 0,1, 0,1, 0,1, чтобы сделать его очень мелким и не особенно заметным. Сдублируйте локатор и присвойте его копии имя Eyes (Глаза). Сделайте оба объекта, REye и LEye, потомками локатора Eyes, а последний — потомком объекта Face. Мы будем использовать этот локатор для управления положением глаз в глазницах.

Сдублируйте исходный мелкий локатор и присвойте его копии имя Brows (Брови). Сделайте оба объекта бровей потомками локатора Brows, а последний — потомком объекта Face.

Снаряжение модели лица

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

Создание элемента управления

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

Альтернативный путь

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

Создайте локатор, выполните его пропорциональное масштабирование до величины 0,25 и переместите его в сторону от модели лица. Присвойте этому локатору имя Ctrl_Prnt (Управляющий родительский объект). Создайте окружность NURBS радиусом 0,1 и с собственной осью вращения Z. Сделайте эту окружность потомком локатора Ctrl_Prnt и присвойте ей имя Ctrl. Если теперь ввести нулевые значения в каналах преобразования окружности, то она должна расположиться по центру локатора Ctrl_Prnt (рис. 7.9).

Рис. 7.9. Окружность NURBS является удобным ползунковым элементом управления для большинства видов снаряжения персонажей; ее нетрудно выделить, скрыв связанный с ней локатор

Откройте окно Attribute Editor (Редактор атрибутов), перейдите к панели Limit Information (Информация ограничения) и ограничьте перемещение окружности Ctrl таким образом, чтобы она передвигалась в пределах от -1 до 1 по осям X и Y, но не перемещалась по оси Z, установив нулевыми минимальный и максимальный пределы.

Если окружность Ctrl все еще выделена, откройте окно Channel Control (Управление каналами) с помощью команды WindowðGeneral EditorsðChannel Control (ОкноðОбщие редакторыðУправление каналами). Выделите все атрибуты в левой части данного окна, кроме translateX и translateY, и щелкните на кнопке Move (Переместить) в левом нижнем углу этого же окна. После этого останутся только атрибуты преобразования окружности Ctrl по осям X и Y. Закройте данное окно.

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

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

Снаряжение элемента управления лицом

Сдублируйте иерархию локатора Ctrl_Prnt (т.е. локатор и окружность) и присвойте копии окружности имя Ctrl_Face (Управление лицом), а имя копии локатора особого значения не имеет. Выделите объект Face, откройте панель каналов (Channel Box) и щелкните на атрибуте rotateY. Если затем щелкнуть правой кнопкой мыши, то из появившегося контекстного меню можно выбрать пункт Expressions.

Введите в окне Expression Editor (Редактор выражений) следующее выражение:

Face.rotateY = Ctrl_Face.translateX * 15

Щелкните на кнопке Create (Создать), расположенной в левом нижнем углу данного окна, чтобы сформировать выражение. Далее щелкните на любом другом атрибуте объекта Face и введите в окне редактора атрибутов следующее выражение:

Face.rotateX = Ctrl_Face.translateY * -35

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

Не забывайте в остальной части этой главы выделять окружность, а не локатор!

Как и прежде, щелкните на кнопке Create, чтобы введенное выражение возымело действие. После закрытия окна Expression Editor вы можете перетащить ползунок Ctrl_Face влево, вправо, вверх и вниз, наблюдая за движением всего лица, как показано на рис. 7.10. После этого установите ползунок в исходное положение (0, 0), чтобы продолжить работу над снаряжением модели лица.

Рис. 7.10. Модель лица Box Head со взглядом, направленным сначала влево и вверх, а затем вправо и вниз. В изображениях на этом рисунке мне пришлось прибегнуть к уловке и сместить немного глаза, чтобы оба выражения лица не были очень похожими из-за сплошных параллельных линий в данной модели

Снаряжение элемента управления глазами

Вновь сдублируйте иерархию исходного ползунка Ctrl, а не ползунка Ctrl_Face и переместите ее копию в сторону, чтобы она заняла свое место. Выделите окружность и переименуйте ее в Ctrl_Eyes (Управление глазами).

Выделите локатор, т.е. родительский объект обоих глаз; он должен называться Eyes. Откройте окно Expression Editor и введите в нем следующие выражения:

Eyes.translateX = Ctrl_Eyes.translateX / 10

Eyes.translateY = Ctrl_Eyes.translateY / 10

Как и прежде, сформируйте оба выражения, после чего закройте окно Expression Editor. Если теперь переместить ползунок Ctrl_Eyes, то в модели лица переместятся глаза (рис. 7.11). Убедившись в работоспособности ползунка Ctrl_Eyes, установите его в исходное положение (0, 0).

Рис. 7.11. Глаза установлены в два крайних положения, определяющих пределы их перемещения

Снаряжение верхних век

Еще раз сдублируйте иерархию исходного ползунка Ctrl, переместите ее копию в отдельное место и присвойте ей имя Ctrl_Lids (Управление веками). Выделите объект UprLids и введите в окне редактора атрибутов следующее выражение:

UprLids.translateY = (Ctrl_Lids.translateY / 5)

Обратите внимание на круглые скобки в этом выражении. Они введены в целях последующего изменения данного выражения. При перемещении ползунка Ctrl_Lids вверх и вниз должна регулироваться высота расположения век. Но при этом возникает следующее затруднение. Если выделить ползунок Ctrl_ Eyes и переместить его, то можно заметить, как глаза перемещаются, а положение век никак с этим не связано. На рис. 7.12 показано, что при перемещении ползунка Ctrl_Lids вверх глаза персонажа принимают сонный вид, а при перемещении этого ползунка вниз — настороженный вид.

Рис. 7.12. Одних лишь закатанных вверх сонных глаз и опущенных вниз настороженных глаз явно недостаточно

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

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

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

UprLids.translateY = (Ctrl_Lids.translateY / 5)

следующим выражением:

UprLids.translateY = (Ctrl_Lids.translateY / 5) + Ctrl_Eyes.translateY / 10

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

Если теперь переместить ползунок Ctrl_Lids вверх или вниз, то результат окажется точно таким же, как и прежде. Отличия становятся заметными при перемещении ползунка Ctrl_Eyes. Когда глаза движутся, а вместе с ними поднимаются и опускаются веки! Таким образом, для получения данного эффекта нам потребовалось лишь добавить выражение, которое уже было составлено отдельно для движения глаз.

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

Снаряжение нижних век

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

Выделите плоскость LwrLids и введите следующее выражение:

LwrLids.translateY = -Ctrl_Lids.translateX / 5

Это выражение лишь связывает плоскость LwrLids с перемещением влево и вправо того же ползунка, который служит для управления верхними веками. Не забудьте ввести в этом выражении знак “минус”! Перемещая ползунок Ctrl_Lids вверх, вниз, влево и вправо, можно получить самые разные комбинации для век (рис. 7.13).

Рис. 7.13. В разных положениях ползунка получаются весьма интересные выражения глаз

Снаряжение бровей

Как и для всех остальных элементов лица, для бровей также требуется создать элемент управления. Вновь сдублируйте иерархию локатора Ctrl_Prnt и присвойте новой окружности имя Ctrl_Brows (Управление бровями).

Выделите родительский объект бровей (Brows) и введите следующее выражение:

Brows.translateY = Ctrl_Brows.translateY / 15

Это выражение смещает брови вверх и вниз. А теперь нам нужно сымитировать определенную эмоцию. Ранее уже немало было сказано о том, как нужно правильно передавать эмоции на лице человека, но рассматриваемое здесь лицо не очень похоже на человеческое. Поэтому для такого лица в качестве введения в стилизованное построение интерфейсов и ради практики воссоздадим ряд классических рисованных выражений. С этой целью выделите объект LBrow и введите следующее выражение:

LBrow.rotateZ = Ctrl_Brows.translateX * 10

А для объекта правой брови введите то же самое выражение, но со знаком “минус”, поскольку движение правой брови должно быть противоположно движению левой брови:

RBrow.rotateZ = -Ctrl_Brows.translateX * 10

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



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

Переснаряжение рта

В соответствии с выбранной схемой построения элементов управления свяжем рот с ползунком, как это делалось с остальными порожденными объектами. Для этого можно воспользоваться исходным объектом Ctrl, а не его копией, поскольку это последний ползунок, который потребуется нам для управления моделью Box Head. Переименуйте этот объект в Ctrl_Sync (Управление синхронизацией движения губ), после чего останется внести лишь одну дополнительную коррективу. С этой целью откройте окно Attribute Editor и ограничьте перемещение объекта Ctrl_Sync осью Y, установив нулевой максимальный предел. Затем выделите объект Mouth, откройте узел MouthShapes (Формы рта) в области Inputs (Входящие) на панели каналов (Channel Box), а затем выделите форму WideNarrow (Растягивание–сужение) и щелкните на ней правой кнопкой мыши. Перейдя в окно Expression Editor, выберите атрибут WideNarrow из списка в правой части этого окна и полностью замените существующее выражение следующим:

MouthShapes.WideNarrow = Ctrl_Sync.translateX

Затем измените выражение для атрибута OpenClosed (Открытие–закрытие) на следующее:

MouthShapes.OpenClosed = -Ctrl_Sync.translateY

Итак, вы самостоятельно получили снаряжение лица, действующее по образу и подобию более сложных видов снаряжения персонажей. Ради простоты его использования (и по причине переноса выражения для рта в новый ползунок) вы можете при желании сделать локаторы невидимыми (по команде ShowðLocators (Off) (ПоказатьðВыключить локаторы) в Maya), чтобы выбирать не случайные и ненужные объекты, а только новые ползунки. Кроме того, вы можете изменить форму окружностей, сделав их похожими на пиктограммы (рис. 7.15) и даже обозначить метками, чтобы упростить их распознавание.

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

Применение модели Box Head

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

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

Рис. 7.16. Увеличение и сокращение расстояний между бровями и глазами воспринимается как крайнее положение головы при наклонах

Следование век за глазами. Переместите ползунок Ctrl_Lids вниз, чтобы придать данному персонажу безучастный или сонный вид (рис. 7.17). Затем переместите ползунок Ctrl_Eyes, следя за тем, как веки следуют за глазами, независимо от того, куда они глядят. Если на таком простом лице следование век за глазами придает его выражению большее правдоподобие, то для реалистичного лица этого явно недостаточно. Несмотря на то что я не раз видел, как это движение происходит в действительности, мне обычно требуется не один час, чтобы правильно настроить данную часть снаряжения персонажа.

Рис. 7.17. Следование век за глазами в немалой степени способствует сохранению правдоподобия выражений лица

Добавление нижних век. Попробуйте самостоятельно воссоздать разгневанное выражение лица. Для этого переместите ползунок Ctrl_Brows вниз и вправо, наклоните голову вперед, чтобы сократить расстояние между бровями и глазами, как показано на рис. 7.18. Затем переместите ползунок Ctrl_Lids влево, добавив немного прищуривание. Далее поэкспериментируйте с включением и исключением прищуривания из данного выражения лица, чтобы увидеть существенные отличия. Как упоминалось выше, прищуривание усиливает это и любое другое выражение лица.

Рис. 7.18. Разгневанное выражение лица, воссозданное на модели Box Head как с прищуриванием и нижними веками, так и без таковых

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

Таблица 7.1. Функции и действия элементов интерфейса модели Box Head

Действие элемента управления

Действие модели лица

Перемещение ползунка Ctrl_Face вверх/вниз

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

Перемещение ползунка Ctrl_Face влево/вправо

Поворот головы влево и вправо, но лишь ограниченно, поскольку данное лицо можно видеть только спереди

Перемещение ползунка Ctrl_Eyes вверх/вниз

Перемещение глаз вверх и вниз в заданных пределах

Перемещение ползунка Ctrl_Eyes влево/вправо

Перемещение глаз влево и вправо в заданных пределах

Перемещение ползунка Ctrl_Lids вверх/вниз

Перемещение верхних век вверх и вниз для воссоздания настроженности

Перемещение ползунка Ctrl_Lids влево/вправо

Перемещение верхних век влево и вправо для повышения и уменьшения эмоциональной силы

Перемещение ползунка Ctrl_Brows вверх/вниз

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

Перемещение ползунка Ctrl_Brows влево/вправо

Перемещение бровей влево и вправо для воссоздания грустного или рассерженного выражения лица

 

245 0 850 9
7
2008-04-18
Детский сад какой-то, как всегда многообещающее название книги, а внутри пустышка. Лучше бы от начала и до конца рассказали, как сделать нечто подобное изображенному на обложке.
2008-04-18
Посмотрите отзывы на оригинал - http://www.amazon.com/Stop-Staring-Facial-Modeling-Animation/dp/0471789208/ref=sr_1_1?ie=UTF8&s=books&qid=1208541768&sr=8-1 То, что на обложке без этого не возможно, имхо.
2008-04-21
CyberHunter в таких книгах излагаются основы на максимально упрощённом примере, эти квадратные зенки это идеализированная модель как идеальный газ в физике, это какраз таки самый что-нинаесть правильный подход нежеди описание работы над какимто отельно взятым проектом
2008-04-22
Кстати, что значит название оригинала - [b]Stop Staring[/b]: (хватит звездиться? ) Facial Modeling and Animation - по-моему, смысл обратный переводу, что-то типа [b]"методы профессионалов - в массы!"[/b]. Думаю, что профессионалы и так это все знают.
2008-04-23
книга под Майку походу...
2008-04-29
тут Staring, видимо, от слова stare - уставиться, пристально глядеть
2008-05-01
[b]Stop Staring[/b] переводится как [b]Хватит Глазеть![/b], думаю хотели сказать что "пора действовать, и не сидеть сложа руки, и ты можешь делать то, что могут профессионалы!"
RENDER.RU