3D Engineering

...Лучшее из общего.

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Но несмотря на

Введение

В этом уроке я расскажу, как создать рабочую схему обратной кинематики ноги в 3D Studio MAX r2.5 с помощью системы "New IK". Изложенные в статье принципы можно использовать и в других аналогичных случаях - для создания рук, антенн и вообще всего, чего пожелает ваша душа - хоть летающих такс. Предполагается, что вы достаточно хорошо знакомы с Мах.

Речь пойдет о двух основных схемах.

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

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

Оба эти файла Мах можно загрузить: iktutfiles.zip.

Итак, начнем.

Часть 1. Нога с обратной кинематикой/ступня с прямой кинематикой

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

Несколько важных моментов: кроме верхней и нижней костей, а также костей ступни и большого пальца, есть бедренная кость. Между бедром и верхней частью ноги есть "суставная" кость. Это такая же кость, как и остальные в схеме. Зачем она нужна, мы рассмотрим позже. Сейчас просто учтите, что нам нужно 6 костей.

2. Следующее, что нужно сделать - это снять трансформации ("Reset Transform"). Это важно. Мы делаем это, потому что нам нужно создать кости с обратной кинематикой, но в том же положении, что в начале. Эта операция позволит избежать искривления костей при вращении, что возможно при несоответствии размеров. Кроме того, таким образом легче выравнивать оси и устанавливать границы поворота.

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

Сначала нужно убрать связи между объектами в иерархии. В любом случае, разорвать связь между объектами-родителями и потомками.

Выделите все кости и нажмите "разъединить" (unlink). На панели утилит выберите "ResetXForm" (Сбросить Х-формы) и нажмите кнопку "Reset Selected" (сбросить выделенное). С таким же успехом можно применить Х-образный модификатор к каждой из костей поочередно. Но так будет дольше.

Чтобы свернуть стеки всех костей, примените модификатор Edit Mesh (редактировать сетку), отключите режим подобъектов, нажмите кнопку Edit Stack (редактировать стек) и "Collapse All" (свернуть все).

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

3. Теперь мы создадим вспомогательный объект-пустышку (dummy object). Поскольку схема с прямой кинематикой, не имеет значения, в каком окне ее создавать, поскольку она будет использоваться для ограничения положения. Ступня будет создаваться отдельно и связываться с готовой ногой. Благодаря этому со схемой легче работать и она надежней.

Создайте пустышку в области лодыжки и назовите AnkleDummy. Объект-пустышка нужен для двух целей. Во-первых, он опосредованно управляет анимацией ноги, ее движением и вращением. Во-вторых, он позволяет автоматически генерировать цепь с обратной кинематикой. Он показывает программе, где находится конец цепи и та может корректно создать последнюю кость. Благодаря AnkleDummy в нижней части ноги Мах будет размещать кости продольно.

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

Основное изменение - мы связываем пустышку, которая в данном случае заменяет ступню, с нижней частью ноги. Теперь свяжите элементы иерархии снизу вверх. Начните с бедра, а AnkleDummy будет самым младшим потомком. Объекты, изображающие ступню и большой палец НЕ связывайте ни с чем.

Мы получим вот такую цепочку:
AnkleDummy > Box04-LowerLeg > Box03 > UpperLeg > Box02-HipSocket > Box01-Hips.
Т.е. объект-пустышка - нижняя часть ноги - соединительный элемент - верхняя часть ноги - тазобедренный сустав - основа бедра

5. Теперь займемся встроенным скелетом с обратной кинематикой. В Мах есть отличная функция "auto-boning" (автоматическая обработка скелета), которая создает на основе существующей иерархии скелет с обратной кинематикой и связывает исходные кости с новыми.

Нажмите "Create Panel" (создать панель), выберите "Systems" (система) и в появившемся стандартном списке выберите "Bones" (кости). Оставьте настройки по умолчанию (отмечено все, кроме "Assign to Root" (назначить как основу)) и, наконец, нажмите кнопку "Pick Root" (выбрать основу).

Теперь выберите кость Box02-HipSocket. Это вторая кость в списке. Учтите, что не стоит назначать Box01-Hips в качестве начальной. Новая цепочка с обратной кинематикой начнется со второй кости. Мах автоматически создаст новую цепочку с обратной кинематикой.

6. Чтобы посмотреть, как работает вся система, выберите инструмент "Select and Move" (выбрать и переместить) и передвиньте самую нижнюю желтую кость (bone04). При этом нога будет вращаться довольно непредсказуемо, но все же заметна определенная закономерность. Нас осталось установить правильную иерархию и пределы вращения.

Итак, приступим. Выберите самую верхнюю кость с обратной кинематикой - Bone01 (желтая). Сделайте ее родителем для лилового блока Box02-HipSocket, а его в свою очередь - для красной верхней кости Box01-Hips. Таким образом, можно добиться, что кость "бедра" будет заставлять двигаться торс вашего персонажа.

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

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

8. Теперь займемся ограничителями. Для начала нужно установить некоторые общие величины нашей цепи с обратной кинематикой. Выберите последнее звено, Bone04. Вызовите панель движения. На ней есть некоторые установки, которые, кроме раздела "End Effectors" (концевые эффекторы) воздействуют на цепочку в целом.

В разделе "Threshholds" (пределы) установите значение параметров Position (положение) и Rotation (вращение) на 0.0. Эти значения определяют, насколько точно Мах будет просчитывать обратную кинематику. Если вы установите большие значения, то программа будет считать быстрее, но результат получится более грубым. Нулевое значение обеспечивает максимальную точность.

В разделе "Solutions" (решения), установите значение "Iterations" (повторение) на 100. Значение 100 - 500 и выше позволяет достичь большой стабильности цепочки с обратной кинематикой. Но, естественно, за это приходится расплачиваться более длительным просчетом.

Значение "End Time" (время окончания) должно значительно превышать то, которое соответствует концу анимации. Я обычно выставляю несколько тысяч. Когда программа дойдет до этого кадра, воспроизведение прекратится. Так что вам не придется волноваться, что ваша анимация слишком длинная.

И, наконец, отметьте "Lock Initial State" (зафиксировать начальное состояние) в разделе "Initial State" (начальное состояние). Теперь Мах будет знать, что текущая ориентация и расстановка элементов является основой иерархии. Это облегчит просчет.

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

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

Выделите кость Bone04 и нажмите кнопку "Link" (связать). Теперь кликните на AnkleDummy. Если вы не можете ее выделить, значит вы забыли разъединить ее с родителем на предыдущем этапе. В таком случае просто отключите кнопку "связать" и разъедините AnkleDummy, а затем попробуйте еще раз.

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

10. На этом этапе мы ограничим движение элементов цепочки в определенных плоскостях. Например, вы вряд ли сможете повернуть голень вперед. Во всяком случае, если вы не птица. Чтобы установить это ограничение, зайдите на панель иерархии и выберите раздел "IK" (обратная кинематика). Появятся параметры ограничений.

В этой довольно большой панели для нас важны два раздела. Первый - "Object Parameters" (параметры объекта). Здесь находятся параметры "положение" и "ориентация". Под ними есть параметр "Weight" (вес), значение которого по умолчанию равно 1,0. Значения этих параметров определяют степень их воздействия и соотношение с другими концевыми эффекторами в иерархии. Большое значение приводит к тому, что эффектор оказывается сильнее, чем другие, которые, может быть, тянут в другом направлении. Поскольку мы работаем с относительными значениями, то их величина не имеет значения - важно их соотношение (например, 100 к 50 аналогично 1 к 0,5 или 4 к 2).

Второй важный раздел - "Rotational Joints" (вращающиеся сочленения). Здесь вы определяете, по каким осям смогут вращаться элементы, и устанавливаете ограничение угла поворота. Так что мы сможем предотвратить неуклюжие и неестественные движения.

11. Идем дальше вверх по цепочке. Убедитесь, что объект Bone04 выделен. Это последняя кость с обратной кинематикой. У нее нет родительского объекта, но поскольку она находится в конце, то определяет, насколько близко нога сможет подойти к ступне. Это довольно важный момент, поэтому установим довольно большое значение. В разделе "позиция" установите значение 200.

12. Теперь выделите объект Bone03. Зайдите на панель "вращающиеся сочленения". По умолчанию, все оси активизированы. Но нижняя часть ноги должна вращаться только по оси Х.

Поэтому снимите отметки для осей Y и Z. Кроме того, нам нужно поставить ограничение, чтобы нога не поворачивалась вперед. Отметьте пункт "Limited" (ограничение) под осью Х и установите значения From и To соответственно 3 и 170. Диапазон движения будет отображен оранжевой дугой в левом и правом окне проекции. Значения ограничений относительны.

Может возникнуть проблема - объект-потомок вращается как-то неестественно. Один из способов ее решения - выстроить все по прямой линии (что мы и делали). Другой - добавить еще один объект-пустышку (и соответственно, звано с обратной кинематикой), сориентированный также, как и наш проблемный объект. Разместить его нужно между объектом родителем и потомком. Эта пустышка скомпенсирует обратный ход родительского объекта и позволит вам установить пределы вращения для объекта-потомка.

В конце концов, под осью Х можно отметить пункт "Spring Back" (отход назад) и выставить значение 5 для него и 0,3 для Spring Tension. Это также позволит предотвратить "запирание".

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

13. Выберите Bone02. Она проходит через "тазобедренный сустав" - блок HipSocket. Нам нужно убрать эффект вращения вдоль продольной оси. Это позволит с помощью элемента Box02-HipSocket намного точнее контролировать движение ноги и положение колена.

Опять же выберите Bone02. Уберите отметку напротив пункта "активный" в разделе оси Z. Теперь нога будет стоять более естественно.

14. Как я уже упоминал, мы воспользуемся блоком Box02-HipSocket для управления вращением верхней части ноги. Нога будет сгибаться под действием обратной кинематики, но мы будем контролировать положение колена. Скажем, если обладатель нашей ноги присядет, то мы сможем сориентировать колени наружу. Чтобы добиться этого, мы будем вращать ось вокруг оси Z.

Но, наверное, вы захотите, чтобы колено не зависело от вращения "бедра", но зависело от других осей. Для этого выберите объект Box02-HipSocket. Затем, в панели иерархии выберите раздел "Link Info" (информация о связывании). На панели, в разделе "Inherit" (передача), отключите оси Z.

Кроме того, мы хотим, чтобы эта кость вращалась только на собственной оси Z.
На той же панели, в разделе "Locks" (блокировки), включите оси X и Y. Теперь разрешено вращение только по оси Z.

15. Мы закончили настройку ноги с обратной кинематикой. Подвигайте элемент Hips. "Лодыжка" зафиксирована возле AnkleDummy. Если вы переместите AnkleDummy, нога согнется, но основа "бедра" останется на месте. Кроме того, вы можете вращать объект KneeDummy (объект-пустышка в районе колена) и поворачивать колено, как вам нужно. Это пригодится, когда бедра и ступни длизко друг от друга и просто для того, чтобы при сгибании ноги можно было поворачивать ее верхнюю часть внутрь и наружу.

Поиграем в ножки-матери

Итак, нога отлично работает, но ей не хватает маленькой детали - ступни.

Ступню с прямой кинематикой просто создавать и использовать. Правда существует мнение, что нога "оторвется" от ступни, если протянуть последнюю слишком далеко.

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

Итак, завершим нашу схему "Нога с обратной кинематикой/ ступня с прямой кинематикой".

16. Первый шаг - установить центр вращения для ступни так, чтобы она опиралась на подушечки пальцев, а не на пятку. Выберите элемент Box05-Foot и поверните его на 180 вокруг локальной оси Z (можете развернуть его в окне верхней проекции). Он сейчас развернут неправильно. Теперь переместите ступня обратно и установите в правильное положение - так, чтобы локальный центр вращения находился в районе пальцев.

17. Теперь создайте объект-пустышку и назовите его FootDummy. Разместите его в районе пятки. Не столь важно, сделаете вы это в окне передней проекции или нет, но стоит сделать это хорошей привычкой. Сделайте этот объект немного большим, чем AnkleDummy.

18. Свяжите кости Box06-Toes (большой палец) и Box05-Foot (ступня) с FootDummy.

19. Теперь выберите AnkleDummy и свяжите его с Box05-Foot.




Как работает схема "Нога с обратной кинематикой/ ступня с прямой кинематикой".

Вы можете выбрать FootDummy, перемещать и вращать его, чтобы настроить и анимировать ногу.

Можете вращать кость Box05-Foot. При этом пальцы будут зафиксированы, а пятки смогут приподыматься.

Можете вращать кость Box06-Toes. При этом стопа будет зафиксирована, а пальцы будут двигаться.

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

В целом цепочка очень стабильна, но если оттянете FootDummy или Hips слишком далеко, они отделятся

Но, несмотря на этот недостаток, это моя любимая схема. Она очень стабильна и, я уверен, ей найдется применение.

"Хватит тягать меня за ногу". Схема вторая - Нога и ступня с обратной кинематикой

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

1. Итак, мы снова начнем со стандартной иерархии с прямой кинематикой. Вы можете загрузить файл с материалами, которые я использовал в этом уроке (iktutfiles.zip). Там находится файл Мах с иерархией - несколько блоков, каждый из которых связан со стоящим выше.

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

2. Следующий шаг - сбросить трансформации (Reset Transform) для костей в иерархии. Это важно. Мы делаем это для того, чтобы создать элементы с обратной кинематикой в этом же положении.

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

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

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

Выделите все кости и нажмите "разъединить" (unlink). На панели утилит выберите "ResetXForm" (Сбросить Х-формы) и нажмите кнопку "Reset Selected" (сбросить выделенное). С таким же успехом можно применить Х-образный модификатор к каждой из костей поочередно. Но так будет дольше.

Чтобы свернуть стеки всех костей, примените модификатор Edit Mesh (редактировать сетку), отключите режим подобъектов, нажмите кнопку Edit Stack (редактировать стек) и "Collapse All" (свернуть все).

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

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

Первая пустышка - у основания ноги, назовем ее AnkleDummy. Вторая, в районе подушечек пальцев - BallDummy. И последняя, на кончике пальцев -ToeDummy.

4. Теперь мы свяжем элементы иерархии. Это позволит нам воспользоваться функцией "Auto-Bone". Мы соединяем все элементы, кроме BallDummy. Последний НЕ связывайте ни с чем.

Получится вот такая цепочка:
ToeDummy > Toes > Foot > AnkleDummy > LowerLeg > UpperLeg > HipSocket > Hips. Hips является родителем всей цепочки.
Т.е. Пустышка на большом пальце - большой палец - пустышка на лодыжке - нижняя часть ноги - верхняя часть ноги - тазобедренный сустав - основа бедра.

5. Займемся встроенным скелетом с обратной кинематикой. Как вы помните, в Мах есть отличная функция "auto-boning" (автоматическая обработка скелета), которая создает на основе существующей иерархии скелет с обратной кинематикой и связывает исходные кости с новыми.

Нажмите "Create Panel" (создать панель), выберите "Systems" (система) и в появившемся стандартном списке выберите "Bones" (кости). Оставьте настройки по умолчанию (отмечено все, кроме "Assign to Root" (назначить как основу) и, наконец, нажмите кнопку "Pick Root" (выбрать основу).

Теперь выберите кость Box02-HipSocket. Это вторая кость в списке. Учтите, что не стоит назначать Hips в качестве начальной. Новая цепочка с обратной кинематикой начнется со второй кости. Мах автоматически создаст новую цепочку с обратной кинематикой.

6. Следующий шаг - связываем некоторые элементы и пустышки. Это нужно для работы концевых эффекторов и для анимации. Выберите ToeDummy и нажмите Unlink Selection, чтобы разорвать связь. Мы используем его в качестве концевого эффектора для последней кости с обратной кинематикой. Чтобы его связать, нужно сначала разорвать все связи. Также разъедините AnkleDummy.

Выберите Bone01 (это первая кость в новой структуре с обратной кинематикой) и свяжите ее с блоком Box02-HipSocket. Теперь свяжите HipSocket с костью Box01-Hips. Таким образом вы сможете анимировать "бедра" персонажа. Можете даже попробовать - подвигайте блок "бедер". Вы увидите, что объекты движутся по законам обратной кинематики, но она еще не налажена. В частности, нога изгибается неправильно. Нам нужно установить ограничения движения и зафиксировать определенные кости.

7. Начнем с создания схемы ноги. В общем, эта секция не отличается от той, которую мы использовали в предыдущей схеме. Мы настроим основные параметры обратной кинематики, поставим ограничения на вращение ноги и установим HipSocket так, чтобы он контролировал повороты колена.

Сначала выберите Bone04 (или другую желтую кость с обратной кинематикой) и зайдите на панель движения. Пределы положения (Position) и вращения (Rotation) установите на 0, а повторения (Iterations) - на 500.

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

Установите значение "End Time" (время окончания) где-то на 4 тысячи кадров. Тогда вам не придется волноваться, что ваша анимация внезапно закончится.

И, наконец, отметьте "Lock Initial State" (зафиксировать начальное состояние) в разделе "Initial State" (начальное состояние), чтобы Мах использовал текущую ориентацию и расстановку элементов как основу иерархии.

8. Выберите Bone04, которая составляет нижнюю часть ноги. В панели движения мы создадим позиционный концевой эффектор. Внизу панели, в разделе "End Effectors" (концевые эффекторы), нажмите кнопку "создать" (Create) для позиционного эффектора (Position). Затем выберите "связать" (Link) и кликните на AnkleDummy.

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

9. Убедитесь, что Bone04 все еще выделена. Зайдите в панель иерархии и выберите секцию обратной кинематики. Мы установим вес для позиционного ограничителя на 200. Теперь к этой кости с обратной кинематикой будет прикладываться большее усилие, чем к другим костям.

10. Теперь выделите Bone03. К ней присоединена нижняя часть ноги. Все в той же панели иерархии, в секции обратной кинематики, отключите вращение по осям Y и Z. Теперь верхняя часть ноги будет вращаться только вперед-назад. Теперь включите режим ограничения (limited) для оси Х и установите диапазон от 3 до 170. Затем под осью Х нужно отметить пункт "Spring Back" (отход назад) и выставить значение 5 для него и 0,3 для Spring Tension (усилие). Это ограничит движения верхней части ноги, т.е. она не будет поворачиваться под неестественными углами.

Отключите пункты "активный" (active) для осей Y и Z.

11. Выберите Bone02. Эта кость как бы проходит через блок HipSocket. Мы хотим, чтобы она не вращалась вдоль продольной оси и контролировалась движениями блока Box02-HipSocket.

Выберите Bone02. Отключите пункты "активный" для оси Z. Оси Х и Y должны остаться активными.

12. Как я уже говорил, мы будем использовать блок Box02-HipSocket для управления движением верхней части ноги вокруг продольной оси. Она будет поворачиваться вокруг локальной оси Z.

Но, наверное, вы захотите, чтобы колено не зависело от вращения "бедра", но зависело от других осей. Для этого выберите объект Box02-HipSocket. Затем, в панели иерархии выберите раздел "Link Info" (информация о связывании). На панели, в разделе "Inherit" (передача), отключите оси Z.

Кроме того, мы хотим, чтобы эта кость вращалась только на собственной оси Z.
На той же панели, в разделе "Locks" (блокировки), включите оси X и Y. Теперь разрешено вращение только по оси Z. Это облегчит анимирование - схема сама заблокирует некорректные движения.

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

Ступня красная, ступня синяя:

13. Чтобы настроить схему ноги, мы выставим ограничения для всех элементов с обратной кинематикой. Для пальцев мы применим ToeDummy, как конечную цель и BallDummy для управления вращением. Положение и вращение собственно ступни ограничиваются AnkleDummy. Добавим еще несколько связей и несколько новых вспомогательных объектов - и получим ступню, которая будет слушаться нас во всем.

Сначала мы займемся концевыми эффекторами. Свяжем их с пустышками.

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

14. Теперь выберите Bone06. Она связана с костью Box06-Toes. Нажмите кнопку "создать" в разделе "позиционный концевой эффектор" (Position End Effector). Затем нажмите "связать" и установите BallDummy родителем для этого элемента.

15. Выберите Bone05. Это маленькая кость между элементами AnkleDummy и Foot.

Создайте и позиционный, и поворотный концевые эффекторы (это важно - оба типа). Затем нажмите "связать" и выберите в качестве родителя AnkleDummy. Если после этого какой-то элемент начинает неправильно вращаться или дергаться, значит AnkleDummy был создан не в той же ориентации, что остальные элементы с обратной кинематикой (т.е. не в виде сверху). В этом случае вам придется правильно сориентировать AnkleDummy. Но этого не должно произойти, если вы придерживались моих инструкций.

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

Зайдите в панель иерархии и выберите секцию "обратная кинематика" (IK). Выделите Bone06. Эта кость является родителем большого пальца. Поскольку большой палец вращается только на оси Х, отключите пункты "активный" для осей Y и Z на панели "Rotational Constraints" (ограничение поворота), а ось Х оставьте активной.

Установите значение веса для параметра "положение" на 50.

17. Снова выделите Bone05. Это небольшая кость между лодыжкой и ступней. Установите вес для параметров "положение" и вращение" на 100. В принципе, достаточно выставить значение 50, но мы перестрахуемся. Учтите, что параметры веса важны и изменения в них могут нарушить работу схемы.

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

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

Ступня должна быть плоской, как на рисунке.

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

20. Создайте две пустышки в окне вида сверху. Один, побольше, назовите FootDummy. Разместите его в районе AnkleDummy. Второй, HeelDummy, разместите там же, где BallDummy, но сделайте его немного больше.

21. Мы установим ограничения для BallDummy и HeelDummy - они должны вращаться только вокруг оси Х. Затем свяжите HeelDummy и
BallDummy с FootDummy. Мои поздравления, вот и все.

Как работает схема "Нога и ступня с обратной кинематикой"

Эта схема сложнее предыдущей, но во многом работает также, как она.

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

При вращении HeelDummy по оси Х передняя часть ступни останется на неподвижной, а пятка поднимется. Аналогично в первой схеме.

Чтобы повернуть ступню целиком, перемещайте FootDummy.

Вы можете также вращать блок Hips и HipSocket - это определит положение колена и верхней части ноги.

Уходим, уходим, уходим:

Я рассказал вам основы создания схемы ноги с помощью "New IK" в Мах. Те же принципы можно использовать и для руки. Только там будет ограничиваться движение не колена, а локтя (можете попробовать поворотный эффектор, но позиционный работает лучше). Вместо позиционного эффектора лодыжки используйте эффектор для запястья. Кроме того, вы можете добавить еще один сегмент - для плеч.

Лично мне больше нравится схема со ступней (или ладонью) с прямой кинематикой. Она стабильна, сравнительно проста и ею легко управлять при анимации. Но чтобы вы не выбрали - удачи. Счастливо кинематиться!

Об авторе

Майкл Комет - 3D-аниматор и художник на студии "Big Idea" (Ломбард, Иллинойс, США). Сейчас работает над детскими мультфильмами. Раньше работал в компании, специализирующейся на видеоиграх.

Источник: comet-cartoons.com

 

Архив статей

 июн   Июль 2020   авг

ВПВСЧПС
   1  2  3  4
  5  6  7  8  91011
12131415161718
19202122232425
262728293031 
Julianna Walker Willis Technology

Случайная новость

3dgo.ru: Здравствуйте, расскажите нам о себе, как началось Ваше общение с САПРами.

Небойша Новкович: Большой привет всем участникам и гостям Форума. Меня зовут Небойша Новкович. Я сам из города Белграда (Сербия) а в настоящее время живу и работаю в Харькове, в котором судьбой было предназначено создать семью. Я по профессии строительный инженер-конструктор. С CAD-ом встретился и сразу плотно начал заниматься 90-ых годов (1990 - 1992). В 1993 году стал тренером по AutoCAD в авторизованном тренинг центре Autodesk в Белграде.Зимой 1994 - 1995 с товарищами-тренерами начинал писать книгу по AutoCAD 13. Летом 1995 года уехал в Москву, в которой работал до 1998 года. С 2001 года нахожусь в Харькове, в который приехал как консультант по внедрению компьютерных технологий в проектировании. C 2006 года работаю главным специалистом по программному обеспечению (архитектурно-строительное направление) в фирме НПП "ТИС". Фирма является авторизованным реселером Autodesk и системным интегратором. С Revit первый раз познакомился в 2002 году (он был 5-ой версии) и сразу понял, что такую программу я ждал всю свою жизнь. С того времени мы с ней дружим и развиваемся вместе. В настоящее время являюсь членом команды бета-тестеров и имею честь быть между первыми, которые имеют доступ к новым разработкам Revit платформы. Горжусь тем, что одно мое замечание встроено в Revit Structure 4.0 и надеюсь, что так будет продолжаться в будущем.

3dgo.ru: Что для вас САПР и чему вы учите людей и организации?

Небойша Новкович: Для меня выражение САПР связано со старыми технологиями. Учитывая мое мнение, что будущее архитектурно-строительного (даже и общего) проектирования лежит в 3D проектировании, то я больше использую выражение BIM (Building Information Model) или ИМЗ (Информационная Модель Здания). Суть ИМЗ лежит в построении базы данных проектируемого объекта графическим путем. Данными из такой базы будут пользоваться проектировщики для создания рабочей документации, строители для построения объекта и в конце владельцы для его эксплуатации. Нам очень повезло, что существует программа, обеспечивающая такую работу. Ее зовут Revit. Маленькая история версий: Revit 1.0 появился в апреле 2000-ого года. На сегодняшний день последняя версия имеет нумерацию 2008, но в сути это 10-ка. В течении меньше чем 7 лет Revit стремительно развивался, имея за основу механизм параметрических изменений (Parametric Change Engine). Это дало возможность параметрического моделирования в архитектуре и строительстве. До появления Revit такие возможности были привилегией исключительно машиностроительной отрасли. С 9-ой версии Revit стал платформой, на которой могут работать все архитектурно-строительные проектировщики. Платформа состоится пока из трех продуктов: Revit Architecture 2008, Revit Structure 2008 и Revit MEP 2008. Нумерация такова чтобы понимать какие продукты платформы будут работать вместе, а это значит что, работая с линейкой продуктов 2008 вы сможете сделать все разделы архитектурно-строительного проекта, включая разделы архитектура, конструкции (метал, бетон, дерево), отопление и вентиляцию, водопровод и канализацию и электрику. Но самое интересное, что все разделы делать можно в одном единственном файле, проекте Revit, и то одновременно, если за этим есть необходимость, сохраняя все данные проекта и не меняя их формат. Это является огромным преимуществом платформы Revit, из-за которого на эту платформу уже сегодня переходят целые проектные институты в СНГ.

3dgo.ru: Ваши предпочтения программного обеспечения и что наиболее выгодно приобретать фирмам разного уровня.

Небойша Новкович: Думаю что большое светлое будущее перед платформой Revit. Она позволяет уже сейчас изготовление всей проектной документации, не выходя за рамки ИМЗ (BIM) и не теряя ни зернышко информации. Но в проектной фирме, какого бы она не была размера нужно иметь еще несколько программ, потому что одной программой не охватить весь спектр работ бюро. Autodesk хорошо это знает, поэтому Revit продается вместе с AutoCAD. Кроме программ для проектирования еще будет нужно работать в растровом редакторе Photoshop, в котором обрабатываются результаты всех рендеров. Кстати о рендерах. В Revit имеется встроенный Accurender но для тех, которые предпочитают картинки получать в других программах скажем что надо иметь 3DS MAX (или Autodesk VIZ). Есть и другие моделеры, но думаю что эти два самые распространенные в мире архитектурной визуализации. Одна идея не покидает меня больше года, поделюсь ею с вами: что является самой большой проблемой визуализации? Для меня это длительность рендера. Всегда мы стремились и мечтали о решении, которое бы позволило рендер в реальном времени. В 1996 году работая в Москве, я своими глазами увидел такое решение, даже рукой погладил, было это невероятное ощущение трогать комп стоимостью больше 1 миллиона долларов. Это был сервер Silicon Graphics Onyx, если память не подводит. Вот такое железо позволяло рендер делать в реальном времени. Все это красиво, но нам обычным людям оно недоступно. И вдруг технология рендера в реальном времени стала доступна всем. Появилась программка под названием SketchUp, на сегодняшний день являющаяся продуктом Google-а. Она позволяет делать не-фотореалистичный рендер в реальном времени, прекрасно принимает файлы dwg, созданы экспортом в Revit и лучше всего недорого стоит (относительно). Конечно же SketchUp не является конкурентом MAX-VIZ, он не может делать то что они делают но думаю что стоит обратить внимание на него.

3dgo.ru: Каковы перспективы и тенденции в России и СНГ развития САПР технологий?

Небойша Новкович: Revit платформа набирает обороты, все больше проектных организаций переходит на платформу Revit. Это так в России и в странах СНГ. Говорю из личного опыта, потому что в настоящий момент помогаю нескольким фирмам из Уфы и Алма-Аты внедрить Revit технологию. В будущем ожидаю только ускорения и увеличения количества переходящих компаний. Сейчас как раз время запрыгнуть на этот поезд. Многие фирмы интересуются, кто уже начал проектировать в Revit. В данный момент таких фирм довольно мало, но тот, кто сейчас не перейдет на новую технологию навсегда отстанет от тех первых, пионеров в освоении нового. Процесс перехода сложный, но это всегда было так. Вспомним, как проходил переход на компьютерное проектирование с ручного.

3dgo.ru: Знакомы вы с технологией работы зарубежных компаний?

Небойша Новкович: Мне не приходилось проектировать на зарубежную компанию, но будучи из Сербии и закончив один из сильнейших строительных институтов (Строительный факультет-Белград) могу сравнить то с чем здесь на территории бывшего СССР встречаюсь с тем чему нас учили в Белграде. Чтобы понимать, что за сербское строительство и проектирование надо знать, что наши строители и проектировщики в истории (и сейчас тоже) строили очень много за рубежом: по всему СССР, в Азии, Африке, и так далее. Это мне дает право делать какие-то выводы, и они таковы: технология проектирования на самом деле в разных странах похожа. Отличается только в стандартах и нормативах, но наука одна и та же. Если что-то бросим вверх, оно обязательно упадет назад, на землю и это случается везде, по всему миру, даже в Африке. Стандарты и нормативы в строительстве существуют во всех странах, это вполне нормально. Но таких стандартов, которых придерживаются в странах СНГ, нет нигде в мире. Нас учили думать при проектировании, конечно придерживаясь стандартов, но все-таки у нас была свобода хотя бы оформления документации. Существовали (и существуют) рамки, за которых нельзя было выходить, но внутри этих пределов была полная свобода. Здесь (Украина, Россия, СНГ) такого нет. В Москве, говорят, немного легче, фирмы могут отступить от стандартов и защитить свои стандарты предприятия. У нас в Харькове один большой проектный институт так поступил: создал стандарт своего предприятия, учитывая государственные нормативы там, где это возможно и делая свой там, где это не получалось. Поэтому у них нет проблем связанных с соблюдением стандартов. Думаю, этот подход правильный ведь государственные стандарты созданы, когда вся проектная документация делалась в ручную. Суть сказанного следующая: мы сегодня выбираем технологию проектирования на минимум 10 лет вперед. К этому вопросу надо относится со всей серьезностью. На сегодняшний день вполне вероятно, что некоторые программные продукты имеют легкое преимущество, но будущее (не так далекое как некоторым кажется) однозначно за Revit платформой. Хочу всем сказать: не бойтесь перехода, он всегда будет тяжелым и трудоемким и поэтому сразу надо начать этот процесс. Кто сегодня это поймет, у того всегда будет преимущество первопроходца.

3dgo.ru: Как Вы видите структуру организацию производства средней проектной фирме в России и СНГ?

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

3dgo.ru: С чего посоветуете начать организациям в систематизации своего процесса и возможные результаты данной работы?

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

3dgo.ru: Применение САПР дает возможность получать 3D сцены, а каковы возможности в визуализации и применения сцен полученных из САПР программ?

Небойша Новкович: Изначально работа в 3D меня заинтересовала именно возможностью визуализировать несуществующие объекты для показа заказчику. Поэтому я 15 лет назад стал работать в программе 3D Studio, помните такую? С развитием этой программы развивался и я. Когда увидел Revit, то одна из первых вещей которую пробовал, был рендер. С первых дней своего существования в нем был интегрирован Accurender. Это не поменялось до сегодняшнего дня. Accurender в Revit поддерживает raytrace и radiosity, имеет библиотеку и редактор материалов и, что очень интересно (это козырь Accurender из-за которого некоторые архитекторы по сей день работают в нем), библиотеку и мощный редактор растений. Интересно, что его растения, как и натуральные, меняются в зависимости от времени года. Как все знаем, качество визуализации зависит в первую очередь от умения мастера. Accurender не исключение. Секрет хорошей визуализации лежит в качестве применяемых материалов и работе с освещением. Accurender в этом плане не подведет. Если все-таки качество получаемых картинок не устраивает то всегда можно модель экспортировать в dwg файл, его вставить в 3DS MAX в качестве ссылки, в MAX-е назначить материалы, расставить освещение и сделать супер-пупер рендер. Если в геометрии Revit что-то поменяли, заново сделали экспорт в тот же dwg файл и обновили все в MAX. Назначения материалов в нем не поменялись, а новые объекты появились. И так можно делать пока не получим результат который всех будет устраивать. Я как раз предпочитаю такой процесс визуализации

3dgo.ru: Какова совместимость современных программ с Российскими ЕСКД СНИПами и ГОСТами?

Небойша Новкович: На сегодняшний день в Revit платформе существуют определенные проблемы, связаны с оформлением проектной документации. Но я всем задаю вопрос: неужели из-за невозможности получить одну – две ГОСТ спецификации вы готовы отказаться от самой перспективной платформы в мире? Все мы стали настолько ленивыми, совсем забыли, как с компьютерами начинали, сколько ночей проспали за столом, осваивая новые технологии, были от этого в восторге. А сегодня не хотим даже минуты свободного от работы времени вложить в свое будущее. Мы все находимся на большой развилке, не знаем, в каком направлении двигаться. Я для себя принял решение - это платформа Revit. Что решаете вы?

3dgo.ru: Большое спасибо за интересную беседу! Желаем Вам удачи и творческих успехов, будем с нетерпением ждать новых работ.

Небойша НОВКОВИЧ
главный специалист по ПО,
архитектурно-строительное направление
НПП "ТИС", Харьков, Украина
e-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
ICQ#: 7165073

далее