1. Выделите все объекты сетки, из которых состоит персонаж.
2. Примените модификатор Physique к объектам сетки.
3. Примените операцию Attach to Node (Присоединить к узлу), щелкнув по тазовой области заранее подогнанного объекта Biped.
4. В свитке Vertex - Link Assignment (Вершина - назначение звена) выберите опцию Rigid (Твердый).
5. Отмените режим Figure для объекта Biped и примените к нему анимацию.
6. Настройте веса сетки персонажа: измените параметры Envelope (Оболочка) в свитке подобъектов модификатора Physique и введите весовые значения отдельных вершин.
7. Включите и выключите режим Initial Skeletal Pose (Исходная скелетная поза), чтобы увидеть результат задания весов.
8. Сохраните задание весов в файле с расширением .phy.
Загрузите файл Betty07.max и сравните результаты вашей работы с фигурой из этого файла.
Задать веса такого объекта, как соединительная лента оружия Betty, и достичь правильной деформации непросто. Сделать это можно единственным способом - подобрать значения в результате долгих экспериментов. Остальная же часть персонажа Betty составлена из достаточно малого числа треугольников, и к ней можно также применить способ задания веса от вершины к вершине.
Все вершины группы 1 присвоены звену А, группы 2 - звену В, а группы 3 - звену D. Разделите влияние с нужными звеньями - и задание весов большого пальца закончено. На вершины группы 3, присвоенные звену Hand (звено D), может влиять и звено Betty R Finger0 (звено С). Отобразите все скрытые объекты пальцев Biped правой руки и проверьте задание весов.
Увеличьте масштаб так, чтобы тазовую область Biped было проще выбрать. Щелкните по ней - появится диалоговое окно Physique Initialization (Инициализация телосложения). Ничего не меняйте, кроме переключателей в разделе Vertex - Link Assignment. Выберите Rigid (рис. 3.3).
Если выбран переключатель Deformable (Деформируемый), то оболочки, звенья или вершины можно изменить на Rigid позднее. Однако, выбрав Rigid во время инициализации, вы сэкономите время.
Щелкните по кнопке Initialize (Инициализировать); возможно, придется подождать несколько секунд, пока программа выполнит задание весов. После этого внутри сетки появится фигура человека (рис. 3.4).
Начните с элемента головы сетки, так как он самый простой. Выделите все его вершины, убедитесь, что вместо N Links задан вариант No Blending, и присвойте вершины звену Betty Head (рис. 3.9).
Затем переходите к кончику ботинка, присвойте вершины звену Betty L Toe. Чтобы убедиться, что вершины присвоены правильному звену, воспользуйтесь командой Arc Rotate
Загрузите файл Run.bip на объект Biped персонажа.
Щелкните по пиктограмме Time Configuration (Установки времени), которая находится в нижней части экрана справа (рис. 3.48).
Начните с шеи. Голова является отдельным объектом, поэтому веса шеи и головы проще задавать вместе. Если шея присоединена к туловищу, то для определения весовых значений требуется больше операций с полигонами и времени. Увеличьте масштаб верхней части шеи, выделите ее вершины и присвойте их звену Betty Head. Отобразите скрытые объекты головы Biped и объект m_headarmleg и проверьте деформацию (рис. 3.38).
В верхней части шеи нет геометрии, которая закрывала бы отверстие, поэтому ряд вершин, находящихся там, придется передвигать вместе с головой.
Отмените выполненные повороты и вновь скройте объекты m_headarnileg и Betty Head. Скройте присвоенные вершины шеи, активизируйте окно проекции Front и выделите все вершины рядом с правым плечом. В эту область выделения не должны входить элементы рюкзака (например, m_fanvent или m_energy). Присвойте выделенные полигоны звену Betty R Clavicle (рис. 3.39).
Если плечо связать с ключицей, то его подвижность станет мала, но ведь Betty будет носить тяжелое вооружение, поэтому в анимации плечо и должно оставаться практически неподвижным. Скройте присвоенные вершины и вернитесь в окно проекции Right. Убедитесь, что выделены все три объекта сетки (m_energy, m_fanvent и m_torso), и присвойте вершины рюкзака и верхней части туловища звену Betty Spine2 (рис. 3.40).
По умолчанию при работе в этом окне на экране отображаются только те звенья, которым присвоены вершины. Чтобы увидеть все звенья, щелкните по переключателю All Links (Все звенья). Иначе нельзя будет присвоить вершины лодыжки звеньям Foot (Ступня) и Calf (Икра). Выделите звено Betty L Calf, щелкнув по нему, и введите в поле Weight (Вес) значение 1 (рис. 3.14).
В character studio названия звеньев дублируются, поэтому у каждого персонажа есть несколько звеньев Hand. Чтобы отличить их друг от друга, посмотрите на список звеньев под каждым из них. Разделите влияние самых верхних суставов пальцев Betty со звеном Hand, находящимся в списке в окне над звеном, которому были присвоены вершины.
Задавая веса вершин вручную, вы часто сначала выделяете набор вершин, вводите их веса по отношению к нужным звеньям, затем выделяете следующий набор, не закрывая при этом диалоговое окно Type-In Weights. Чтобы увидеть звено, которое трудно найти в списке, активизируйте по очереди переключатели All Links и Currently Assigned Links Only. Звено выделенных вершин появится в конце длинного списка, не нужно будет прокручивать его вверх и вниз, пытаясь найти нужное звено.
Поверните точку обзора так, чтобы смотреть на большой палец сбоку, выделите и присвойте его вершины (рис. 3.35).
На вершины руки, которые ранее были вытянуты и деформированы, ненужные звенья больше не влияют, и теперь вершины привязаны к правильным объектам. Снова скройте все объекты, кроме m_headarmleg. и активизируйте подобъект Vertex модификатора Physique.
Задайте анимацию для объекта Biped и посмотрите, где возникают проблемные области, когда сетка деформируется при движении. Это еще один способ проверить задание весов сетки персонажа. Он выполняется примерно так же, как и в случае со сгибанием руки, что описано выше. Однако если в анимации нет кадра «покоя», такого как кадр 0 для руки, то переключать сетку персонажа из анимированного состояния в неанимированное можно другим способом: включая и выключая режим Initial Skeletal Pose (рис. 3.24).
Включите режим Initial Skeletal Pose, поставив напротив его названия галочку, затем продолжайте задавать веса правой руки. Сначала присвойте все вершины плеча (до нижней части локтя) звену Betty R UpperArm (рис. 3.25).
Чтобы решить эту задачу, не имеет смысла добавлять дополнительные кости, нужно осторожно разделить веса между звеньями Betty L Forearm и Betty L Spine2, игнорируя звено Betty L UpperArm. Поверните точку взгляда, чтобы смотреть на персонаж снизу и слева, и перейдите к кадру 6 анимации. Выделите все оставшиеся вершины объекта m_gunarm, которые и формируют ленту, и присвойте их звену Betty Spine2 (рис. 3.58).
Выделите все вершины, кроме четырех, касающихся рюкзака, вызовите окно Type-In Weights и присвойте эти вершины звену Betty L Forearm с весом 0,5 (рис. 3.59).
Вершины пальцев должны разделять влияние между звеньями в суставах пальцев. Начните с конечного звена пальца и двигайтесь к ладони, выделяя вершины и присваивая их ближайшему звену (включая все вершины суставов пальцев), блокируя вершины по мере перемещения (рис. 3.33).
Теперь колено сгибается гораздо лучше, а его форма сохраняется более точно
Отобразите скрытое звено Betty L Calf, согните голень и проверьте деформацию геометрии сетки колена (рис. 3.18).
Движки игр в реальном времени не могут присваивать сетке вершины типа Deformable, поэтому при экспорте из 3ds max эти вершины обычно преобразуются в Rigid. Из-за тех же ограничений параметры основанной на сплайнах деформации Physique, которые находятся в подобъектах Link, Bulge (Бугор) и Tendon (Сухожилие), нельзя использовать таким же способом, как для высокополигоналъного персонажа.
Щелкните правой кнопкой мыши в любом месте окна проекции, затем в контекстном меню Quad (Квадрант) выберите пункт Hide Unselected (Спрятать невыделенное). На экране останутся только объекты сетки (рис. 3.5).
Если влияние разделено между звеньями, то значения могут быть какими угодно. Например, два звена будут одинаково влиять на вершину с весами 0,5 и 0,5 вместо 1 и 1. Однако, если присвоить одному или нескольким звеньям веса, сумма которых меньше 1, то модификатор Physique автоматически увеличит влияние одного звена или другого, чтобы суммарный вес был равен 1.
Отобразите скрытое звено Betty L Foot и поверните его относительно оси Z, чтобы проверить задание веса (рис. 3.15).
У персонажа Betty на плечах большие эполеты, поэтому прилагать много усилий, чтобы настроить веса области плеч - а обычно на это уходит много времени, - не нужно. Определять, какими должны быть весовые значения локтя, лучше всего экспериментальным путем. На область центра локтя в большей степени должно влиять звено Upper Arm (Предплечье) -область его влияния также может находиться немного ниже (сравните с бедром и коленом). На вершины, находящиеся выше локтя, предплечье будет влиять в меньшей степени.
Если есть уверенность в том, что два звена будут вместе влиять на некоторый набор вершин, как, например, локоть, присвойте им одинаковые веса (значение 1 родительскому звену и значение 1 - дочернему). Конечно, эти значения для разных вершин различны (они будут уточнены позднее в процессе задания весов), но таким способом можно быстро одновременно присвоить вершины правильным звеньям. А опция отображения Currently Assigned Links Only (Только назначенные звенья), устанавливаемая по умолчанию, при настройке значений принесет только пользу, поскольку будут отображены лишь нужные два звена.
Увеличьте масштаб области локтя и выделите только те вершины, из которых он состоит. Вызовите диалоговое окно Type-In Weights, щелкните по пункту All Links и присвойте вершины звену Betty R Forearm, щелкнув по нему и введя значение 1 (вершины станут темно-зелеными). Включите и выключите режим Initial Skeleton Pose, чтобы посмотреть, как изменение весовых значений влияет на локоть (рис. 3.26).
К сожалению, в списке в диалоговом окне Type-In Weights звено Forearm (Предплечье) располагается не сразу после звена Upper Arm. После него идут несколько звеньев, которые являются дочерними от Forearm. Будьте осторожны и не присвойте веса звену Hand (Рука) вместо Forearm (рис. 3.27)
Результат задания весов выглядит неплохо, но оба звена одинаково влияют на все вершины, поэтому жесткость геометрии, которая должна была изображать толстый налокотник, умаляется. Внесите некоторые изменения. Включая и выключая режим Initial Skeletal Pose, можно приблизительно оценить, как нужно изменить значения весов вершин. Например. на вершины в верхней части локтя предплечье должно влиять в меньшей степени, тогда форма локтя сохранится лучше, а вершины нижней части локтя должны подвергаться действию этого звена в большей степени. Снова включите режим Initial Skeletal Pose и попробуйте применить значения весов локтевой области, показанные на рис. 3.28.
Скройте все объекты, а затем отобразите сеточный объект m_gunarm. Активизируйте окно проекции Right. Под этим углом зрения объекта видно, что нужно поправить (рис. 3.55).
Выделите объект, откройте свиток подобъекта Sub-Object модификатора Physique и включите для объекта режим Initial Skeletal Pose. Выделите все вершины, из которых состоят элементы сетки левого предплечья: рука, ствол оружия и даже цилиндр, покрывающий локоть. Измените точку обзора, если это необходимо.
Если сначала включить режим Initial Skeletal Pose, а затем выбрать еще один объект сетки - корневой элемент Physique или другой подобъект Physique, - то сетка останется в исходной скелетной позе.
Не выделяйте вершины, принадлежащие элементу плеча, выделите лишь первые несколько вершин ленты, которая заброшена в рюкзак. Присвойте все вершины звену Betty L Forearm и выключите режим Initial Skeletal Pose, чтобы увидеть результат (рис. 3.56).
Веса этих вершин нужно еще немного изменить
Скройте m_headarmleg и отобразите скрытые объекты m_torso, m_energy, m_fanvent и все объекты Biped типа Spine, затем активизируйте окно проекции Right (рис. 3.37).
В появившемся окне Time Configuration определите число кадров активного диапазона анимации, задав в поле Start Time (Время начала) значение 0, а в поле End Time (Время окончания) - значение 18 (рис. 3.49).
Так как продолжительность анимации изменена в соответствии с файлом Run.bip, то анимацию можно проигрывать бесконечно. Нажмите кнопку ОК, при перемещении ползунка шкалы времени или при переходе от одного кадра анимации к другому сетка будет деформироваться согласно анимации бега.
Перемещайтесь по анимации кадр за кадром, нажимая клавишу . (точка). Вернитесь на кадр назад, нажав клавишу, (запятая). Воспроизведите и остановите анимацию, нажимая клавишу / (слэш).
Если применить к Biped анимацию, то будет проще увидеть, как деформируются все части сетки. А если включен режим In Place, то при редактировании весов персонаж не «убежит».
Пиктограмма In Place Mode вызывает выпадающее меню, в котором можно ограничить движение только вдоль оси X, только вдоль оси Уши вдоль обеих осей одновременно (устанавливается по умолчанию). Наведите указатель мыши на пиктограмму, нажмите и удерживайте кнопку мыши и, чтобы увидеть остальные пункты, перетащите указатель вниз (рис. 3.50).
Выпадающее меню, вызываемое при активизации пиктограммы In Place Mode
Отобразите остальные скрытые объекты сетки Betty и посмотрите, какой ровной она стала (рис. 3.63).
Левая нога и голова готовы для анимации, пришло время задать веса руки. Но сначала покажем еще один подход к тестированию задания весов -с помощью анимации костей руки. Отобразите скрытые объекты Biped, из которых состоит правая рука Betty. Щелкните по ее предплечью и выключите режим Figure. Активизируйте трансформацию поворота и, находясь в кадре 0, задайте ключевой кадр для поворота звена Betty R Forearm, нажав кнопку Set Key (Установить ключ) в свитке управления Biped (рис. 3.21).
Затем активизируйте кнопку Auto Key (Автоматическое создание ключей)
Переходите от одного ряда вершин к другому вниз, пока каждому из них не будут присвоены значения, показанные на рис. 3.61.
Заметьте, что влияние предплечья на соединительную ленту изменяется по возрастающей. Благодаря этому деформация геометрии будет более плавной. Теперь отобразите три скрытые вершины, являющиеся частью соединительной ленты там, где она приближается к предплечью. Поверните точку взгляда, чтобы лучше видеть оставшиеся вершины. Присвойте им значения, показанные на рис. 3.62.
Загрузите файл Веttу06.тах. переведите Biped в режим Figure, нажмите клавишу Н, чтобы вызвать окно со списком названий объектов, и выделите все объекты вида m_ (рис. 3.1).
Сначала лучше задать веса более простых объектов (или элементов объекта), которые затем можно скрыть. Это значит, что объект необходимо отделить от остальных, а звено, которому нужно присвоить вершины, должно быль легко различимо. В случае с Betty первым в очереди стоит объект m_gun. Выделите его и нажмите в стеке модификаторов на маленький значок плюс (+) рядом с пунктом Physique. Появятся доступные подобъекты. Выберите Vertex (Вершина), в выпадающем списке Blending Between Links (Разделение между связями) измените N Links (N связей) на No Blending (Нет разделения) и активизируйте кнопку Select (Выделить), щелкнув по ней (рис. 3.6).
Выделите все вершины объекта m_gun и щелкните по кнопке Assign to Link (Присвоить звену), она станет активной. Задайте тип Vertex как Rigid (зеленый значок + в разделе Vertex Type (Тип вершины)) и присвойте вершины левому предплечью, щелкнув по нему (рис. 3.7).
Чтобы завершить переопределение вершин, нужно щелкнуть по кнопке Lock Assignment (Заблокировать назначение). Если вершины заблокированы, то они останутся присвоенными тому звену, какому нужно, даже если затем настраивать оболочку или задавать значения весов для других звеньев (рис. 3.8).
Скройте все объекты, кроме m_headarmleg, и приступайте к заданию его весов.
Если в модификаторе Physique активен режим выделения подобъекта Vertex, вызвать контекстное меню Quad, щелкнув правой кнопкой мыши, не удастся. Нужно выйти из режима Sub-Object: щелкните по пункту Physique - он станет активным уровнем в стеке. Теперь, если щелкнуть правой кнопкой мыши еще раз, то появится контекстное меню Quad.
Если в свитке Structure каркаса Biped не отмечена опция Triangle Pelvis, то в списке не появятся два дополнительных звена Spine, которые удерживают два бедра рядом (рис. 353). Как будет показано далее, очень часто. если не всегда, эти два звена Spine работают лучше, чем звено Pelvis (Таз). и соединяют бедра друг с другом.
Снова выключите режим Initial Skeletal Pose и посмотрите, как будет деформироваться область бедер. Теперь все объекты должны выглядеть хорошо, кроме трех вершин над теми, которые только что были исправлены. Выделите их, разблокируйте и присвойте звену Spine, находящемуся над звеном Thigh (рис. 3.54).
Присвойте вершины звену Spine, затем присвойте каждую вершину звену Betty R Thigh с весом 0,5. Еще раз выключите режим Initial Skeletal Pose и проверьте с разных точек обзора, как деформируется при беге правая ягодица. Проделайте то же самое с левой ягодицей, используя правую в качестве образца. Они должны выглядеть хорошо - бедра готовы.
Как видно из рис. 3.33, вершины в группе 1 присвоены звену А. Вершины группы 2 присвоены звену В, а вершины группы 3 - звену С. Затем, выделяя только вершины суставов пальцев, разделите их влияние со звеном, которое является родительским для присвоенного.
Если вызывать окно Type-In Weights, в котором выбрана опция All Links, то звено, которому присвоены выделенные вершины, автоматически подсветится: так его проще увидеть среди других. Однако если выделенное звено находится внизу списка, character studio выполнит прокрутку в нижнюю часть окна. Если вершины сначала присвоены конечному звену пальцев и вы двигаетесь внутрь по направлению к родительскому элементу, то родительское звено, которое должно разделять влияние над выделенными вершинами, будет отображаться над выделенным звеном в списке звеньев. Если сначала вершины были присвоены родительскому звену, то дочернее будет располагаться под отображаемым списком и вам придется прокрутить список, чтобы увидеть дочернее звено для выделенного (рис. 3.34).
Колено выглядит приемлемо, но если внести дальнейшие изменения, оно будет смотреться еще лучше. Указанным вершинам колена присвойте значения, показанные на рис. 3.19.
Теперь, когда нога сгибается, геометрия деформируется правильнее, а форма колена полностью сохраняется (рис. 3.20).
Чтобы получить правильную деформацию, влияние можно распространить на любое число вершин и звеньев, какое вы посчитаете нужным, -над основным звеном или под ним.
Выделите оставшиеся вершины левой ноги, присвойте их звену Thigh, заблокируйте назначение, а затем скройте вершины.
Если в процессе тестирования задания весов положение перемещаемой конечности поменяется, просто отмените сокрытие другой конечности и скопируйте или зеркально отобразите ее положение на перемещенную конечность.
Нажмите сочетание клавиш Ctrl+Z, чтобы отменить поворот ступни, и скройте ее еще раз. Выделите все вершины голени, находящиеся между лодыжкой и серединой колена, и присвойте их звену L Calf (рис. 3.16).
Увеличьте масштаб области колена и выберите линию вершин, по которой соединяются звенья Thigh (Бедро) и Calf. Снова вызовите диалоговое окно Type-In Weights и введите для элемента Betty L Thigh значение 1 (рис. 3.17).
У большинства персонажей игр в реальном времени вместо пальцев -«варежки», а вместо кулаков - цельные болванки, но у Betty, в отличие от них, имеются все пять пальцев правой руки. Задание весов запястий чем-то похоже на задание весов лодыжек; выделите вершины возле сустава, и пусть оба звена Forearm и внутренние звенья Hand одинаково влияют на них.
Чтобы деформация области запястья не была слишком сильной, создайте персонаж, ладони которого тыльной стороной направлены вниз, а не в стороны. Это не сложнее чем развернуть геометрию руки, а затем развернуть только некорректные ребра (рис. 3.32).
Скройте присвоенные вершины; выделите вершины элемента плеча и присвойте их звену Betty L Forearm. Затем скройте и их тоже: теперь можно приступить к действительно сложной области - ленте соединения.
Левое плечо отличается от правого тем что может перемещаться вместе с рукой. Оно будет выглядеть необычно только в случае, если рука Betty поднимается высоко вверх или отводится далеко назад.
Геометрия соединительной ленты - замкнутая структура, исходящая из рюкзака и входящая в предплечье. К сожалению, в качестве весового звена этой части геометрии нельзя использовать дополнительный набор костей. Если бы кости были привязаны к спине или плечу, они бы не перемещались вместе с рукой. Если бы они были связаны с рукой, то потеряли бы связь со спиной (рис. 3.57).
На этом рисунке, очевидно, что-то не так. Активизируйте окно проекции Front и еще раз выделите сетку персонажа. Откройте панель Modify и выделите все вершины элемента правой руки. Активизируйте кнопку Remove From Link (Удалить из звена), щелкнув по ней, перетащите рамку выделения вдоль ноги и туловища и отпустите кнопку мыши (рис. 3.23).
В большинстве случаев лучший способ сохранить весовые значения - сохранять последовательные версии сетки в процессе работы. Сохраните их в файле с расширением .phy - и, воспользовавшись им при необходимости, вы легко восстановите задание веса. Для этого щелкните по пиктограмме Save Physique (*.phy) File (Сохранить файл телосложения) -рис. 3.36.
Не забывайте, что файл телосложения может использоваться для другого персонажа только в том случае, если структура объекта Biped одна и та же и ей присвоены те же самые добавленные кости, если таковые имеются.
Иногда при работе со старыми файлами Biped или файлами 3ds max объект Biped использует имена из предыдущей версии character studio. Это значит, что все звенья Biped будут названы в соответствии с дочерним звеном (находящимся на одну строку ниже), а не в соответствии с той костью, к которой они относятся.
Типичным считается персонаж игры, число полигонов которого не превышает 2000 и который должен выполнять набор определенных функций и обладать некоторым количеством заранее созданных анимаций. Если такой персонаж состоит из меньшего числа треугольников, то в большинстве случаев его вершины будут присваиваться костям вручную, а не с помощью оболочек (envelope). Так над персонажем с небольшим числом элементов, которыми нужно управлять, достигается наибольший контроль. Помимо этого на исходную позу сетки налагается меньше ограничений, не нужно строить ее в непривычной позе да Винчи. Но все же ручное присвоение вершин всегда происходит медленнее, чем при использовании оболочек, но с его помощью можно научиться основам задания весов и определения звеньев вершин и костей. Вершины персонажей игр в реальном времени нужно определять как твердые (rigid), и поэтому желательно присваивать вершины вручную, что несложно. Если к этому процессу, как и к любому другому, привыкнуть, то он не будет требовать много усилий.
Перетащите рамку выделения и вдоль звеньев позвоночника в верхней части туловища. Заблокируйте вершины и воспроизведите анимацию или запускайте ее кадр за кадром. Передняя часть бедра выглядит хорошо, задняя часть смотрится неплохо, за исключением нижних двух рядов вершин. Когда Betty делает шаг, можно увидеть, что вес этих вершин, присвоенных звеньям ног, слишком большой, - это нужно исправить.
Вновь включите режим Initial Skeletal Pose и на правой ягодице Betty выделите девять вершин, как показано на рис. 3.52. Разблокируйте их и присвойте им вес 1 для звеньев Betty R Thigh и Spine - последнее в диалоговом окне Type-In Weights находится прямо над первым (рис. 3.52).
Рюкзак и верхняя часть туловища практически не должны двигаться, поэтому все вершины присвоены второму звену позвоночника, а третье звено не оказывает влияния вообще. Неподвижность туловища и рюкзака достигается присвоением одному звену как можно большего числа вершин. Но в позвоночнике есть четыре звена, поэтому некоторые вершины нижней части рюкзака и туловища можно присвоить звену Spine1, родительскому элементу Spine2 (рис. 3.41).
Звено Spine2 было ранее выбрано в качестве звена для вершин рюкзака, так как звену Spine1 тоже будут присвоены вершины, а выбранное звено лучше Spine3, поскольку оно находится ближе к той геометрии, которую должно деформировать.
Теперь нужно изменить еще и веса вершин талии, чтобы убедиться, что при наклонах и поворотах туловища они будут деформироваться правильно. Выделите лишь два ряда вершин, только что присвоенных Spine1, вызовите окно Type-In Weights и назначьте эти вершины также звену Spine. Убедитесь, что звену Spine2 не присвоены вершины рюкзака (рис. 3.42).
Теперь локоть согнут, он выглядит лучше, а форма налокотника не деформируется (рис. 3.29).
Указанным способом устраняются проблемы задней части локтя, но нужно изменить и переднюю часть геометрии возле сустава (нижнюю часть области бицепсов). Если задать веса 1 и 1, то при сгибе руки бицепс станет сжиматься - он не будет создавать выпуклости. Однако если сместить веса вершин к звену UpperArm, геометрия предплечья будет выглядеть неестественно (рис. 3.30).
Правильная деформация предплечья должна уменьшить контраст локтевого соединения; перенесите часть влияния от вершин предплечья на звено UpperArm. Оно не должно быть большим и для разных персонажей может различаться. Выделите три вершины в верхней части согнутой руки Betty, заблокируйте их и добавьте звено Betty R UpperArm к звеньям, влияющим на эти вершины. Подойдет значение 0,1 (рис. 3.31).
Подобное перераспределение весового влияния между соседними звеньями необходимо, чтобы обойти недостаток большинства алгоритмов автоматического задания весов во многих программах, в 3ds max это Physique. При деформации полигональной сетки такие области, как локти, колени, запястья, лодыжки, шея и даже плечи и бедра, будут полностью аналогичны своему естественному оригиналу, только если система задания весов вершин верна. Однако не забывайте, что вышесказанное относится только к играм в реальном времени; чтобы моделировать движение кожи и мышц визуализированных персонажей фильмов, применяются различные типы сложных скелетных и мускулатурных алгоритмов.
Присвойте все вершины плеча звену UpperArm
Чтобы исключить вершины из области выделения, перетащите рамку вдоль вершин, удерживая нажатой клавишу Alt.
Очевидно, что оставлять геометрию в таком виде нельзя, но, по крайней мере, два звена, которым нужно присвоить вершины, уже выбраны, а их относительные влияния приблизительно настроены. Включите для сетки режим Initial Skeletal Pose и начните с ряда вершин, который находится в верхней части соединительной ленты рядом с плечом. Поверните точку взгляда так, чтобы четко видеть ряд вершин, и измените их значения с 0,5 на 0,05 (рис. 3.60).
Выделите вершины ступни, как показано на рис. 3.12, перетащив вдоль них рамку выделения.
Присвойте вершины звену Betty L Foot, а затем выделите только те из них, которые располагаются там, где будет лодыжка. Чтобы вызвать диалоговое окно Type-In Weights (Ввод весов), щелкните по кнопке Type-In Weights в свитке Vertex (рис. 3.13).
Назначать модификатор Physique одновременно для всех объектов сетки персонажа весьма удобно, потому что изменение параметров модификатора Physique для одного объекта отражается на всех объектах, которым был присвоен этот модификатор.
Выделив объекты, откройте панель Modify (Модификация) с помощью соответствующей пиктограммы
Присвойте вершины правой ноги нужным звеньям, взяв за образец левую ногу, на задание весов которой уже было потрачено некоторое время. Сначала присвойте вершины элемента ноги Toe объекта m_torso звену Toe, а затем скройте их. Отобразите скрытый объект m_headarmleg и активизируйте окно проекции Front. Выделите объекты m_torso и m_headarmleg. Справа в свитке Vertex Operations щелкните по кнопке Select by Link (Выделить по звену) - рис. 3.43.
Щелкните по левому звену Foot и проверьте, чтобы не было выделено ни одной вершины на правой ступне (рис. 3.44).
С помощью кнопки Select by Link можно быстро посмотреть, какие вершины были присвоены и как. Некоторые вершины геометрии правой ступни присвоены левому звену Foot. Причина этому - поза каркаса объекта Biped. Не обращая внимания на это временное задание весов, выделите все вершины геометрии правой ступни, которая является зеркальным отражением геометрии левой ступни. Присвойте их звену Betty R Foot, затем, используя вершины левой ступни в качестве образца, введите такие же значения весов для вершин правой ступни (рис. 3.45).
Тем же способом задайте веса правого колена и оставшейся части геометрии правой ноги. Достигнув области бедра, скройте объект m_headarmleg и не забудьте присвоить вершины левого ребра звену Betty L Thigh (рис. 3.46).
Не забудьте присвоить вершины левого ребра звену Betty L Thigh
Таким образом, вершины были присвоены вручную конкретным звеньям, но чаще стоит присваивать вершины нескольким звеньям. Об этом рассказывается в следующем разделе.
Прежде чем приступить к заданию весов бедер, нужно применить к персонажу анимацию бега и просмотреть результат задания весов, пока вы не внесли завершающие штрихи. Это было бы нелишним и при задании весов остальной части персонажа, однако важнее видеть, как сетка персонажа деформируется при изменении весов вершин бедер. Анимация бега или шага идеально подходит для просмотра такой деформации.
Скройте все объекты, кроме Betty Spine и m_torso. Выделите Betty Spine и откройте свиток Biped на панели Motion. He забудьте выйти из режима Figure. Щелкните по пиктограмме In Place Mode (Оставаться на месте)
По сложности задания веса бедра находятся на втором месте после плеч. Прежде чем вручную задавать веса вершин, полезно посмотреть, насколько точно будет задан вес бедер при инициализации, определяемой по умолчанию.
Поместите Betty в исходную позу (включите режим Initial Skeletal Pose) и выделите все вершины вокруг бедер. Активизируйте кнопку Remove from Link, щелкнув по ней, перейдите в окно проекции Front и протащите рамку выделения вдоль всех звеньев каждой руки.
Если вы используете команду Remove from Link, нужно выбрать правильный тип вершин из трех доступных. Используются только твердые вершины, поэтому активизируйте зеленый знак + (плюс), иначе удаления не произойдет. А в выпадающем списке Blending Between Links выберите вариант No Blending (рис. 3.51).