Создание костей в 3d max. Понятие системы костей

Создание костей в 3d max. Понятие системы костей

23.03.2019

Итак, откройте 3Ds MAX. И во фронтальном виде, создайте Object > Bones IK Chain (в верхней панели).

Нажмите один раз (во фронтальном окне) в левой части окна, потом нажмите правее сантиметра на два, потом ещё на два и в конце сделайте правый клик. В итоге на экране появится что-то такого плана...

Теперь в окне Left создайте цилиндр, с радиусом в области 8-12, с количеством осей (в длинну) 20 (не совсем так, как на картинке, но пускай!) и с длинной примерно как уже готовая кость. Вид сверху должен быть в роде этого:

Затем, выделив цилиндр, примените к нему модификатор Skin (Через меню - Modify).

И в этой же вкладке появится несколько свитков (Parameters, Display, Advance Params и Gizmos), но нам понадобится только первый. Раскройте его (если он уже не раскрыт). Нажмите кнопку Add Bone (Добавить кость).
Откроется новое окно. Нажмите в этом окне все кнопки All (Ту, что справа и ту, что слева, внизу). После этого, нажмите кнопку Select. Выбранные кости добавились в список.
Затем выделив все кости в окне верхнего вида, поместите их как бы внутрь цилиндра.

А сейчас - самая ответственная часть. Выберите цилиндр. Выберите в меню Modify (в списке) первую кость. И нажмите кнопку над списком - Edit Envelopes. И выбрав окно верхнего вида, увеличте первый (слева) и второй (справа) красные (именно красные, а не бордовые) круги так, чтобы они были чать больше радиуса цилиндра.

Повторите это со второй и третьей костью...
А выделив четвёртую, нажмите на кнопку Remove Bone.
И теперь, отожмите кнопку Edit Enveloper. Выделите цилиндр, и в окне Top (Top - окно верхнего вида) сместите его слегка вниз.

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

А так же попробуйте при создании костей включить калочку Assign To Children и появится ещё одна галочка, которую нужно включить - Asign to Root. Именно, когда эти галочки включены с помощью костей анимировать персонажей легче. Попробуйте.

Магистрант Ибадулла С.И.

Кызылординский государственный университет имени Коркыт ата

Создание к ости (b ones) в 3 ds max

Система создания системы костей может быть запущена следующим образом

Панель Create > Systems > кнопка Bones
Меню Character menu > Bone Tools
Панель закладок > Закладка Objects > Bones IK Chain

Персонаж (динозавр) при создании которого были использованы кости

Кости (Bones) являются соединенной, иерархически связанной системой отдельных костей, которые могут использоваться для анимации других объектов или иерархий. Обычно анимируемый персонаж состоит из единой сетки, и система костей предоставляет удобное и быстрое решение для манипуляции телом персонажа. Кости могут анимироваться с помощью прямой или инверсной кинематики, используя любое доступное IK решение, средства Interactive IK или Apply IK. Кости могут рендериться. Они имеют некоторые параметры, такие как заострение (taper) и плавники (fins, вообще-то это выступы вдоль кости), которые Вы можете настроить, чтобы определить фигуру, представляющую кость. Например, плавники облегчают контроль над вращением кости. При анимации очень важно понимание структуры объекта-кости. Каждая кость имеет опорную точку (pivot point) как начало или, вернее, сустав, вокруг которого осуществляются повороты данной кости. Выглядит она как протяженный объект от своей опорной точки к дочернему объекту. Дочерним объектом обычно является другая кость.

Система костей сама по себе и внутри сетчатой модели

Любая иерархия может быть показана как структура костей (см. раздел электронной документации Using Objects as Bones), путем простого включения флажка Bone On в свитке Object Properties окна Bone Tools.

Создание костей

Вы можете создать систему костей, нажав кнопку Create Bones, расположенную на свитке Bone Editing Tools, или в свитке Systems на панели Create.

Процесс создания происходит так.

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

Для создания ветвящейся иерархии, например, от таза отходит две ноги, делается следующее

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


Простейшая цепочка из трех костей

Назначение IK контроллера системе костей

По умолчанию IK контроллер не применен к системе костей. Назначение ей IK контроллера, еще называемого IK решением, может быть сделано двумя способами. Чаще всего IK решение назначается системе костей вручную, используя пункт IK Solvers меню Animation. Причем это делается уже после ее (системы костей) создания. Такой способ позволяет настроить инверсную кинематику максимально точно. Второй способ более автоматизирован. После создания системы IK решение будет автоматически применено ко всем костям от первой к последней. Для включения этого механизма необходимо включить флажок Assign To Children (см. раздел электронной документации Introduction to Inverse Kinematics).

Установка начальной позиции системы костей

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

Цвет кости

Всем костям назначается цвет, заданный для элементов Bones и Link Lines в разделах Gizmos и Objects на панели > Colors диалога Customize User Interface. Вы можете поменять цвет каждой кости, щелкнув мышкой на образце цвета рядом с именем кости на панели Create или Modify, и выбрав нужный цвет в появившемся диалоге.

Плавники

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

Кости могут иметь плавники

Кости с плавниками

Рендеринг костей

Кости могут рендериться, но по умолчанию эта возможность отключена. Для ее включения включите флажок Renderable в диалоге Object Properties.

Кости могут рендериться

Использование ограничений при работе с костями

Чтобы создать систему костей

1. На панели Create нажмите кнопку Systems, а затем Bones. Можно также воспользоваться кнопкой Create Bones окна Bone Tools.

2. Щелкните левой кнопкой мыши в видовом окне.

В этом месте будет создан базовый сустав цепочки.

1. Переместите курсор мыши в то место, где хотите создать второй сустав.

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

3. Щелкните правой кнопкой мыши, чтобы завершить процесс создания.

Кость, которую Вы создали первой, является старшей в иерархии, последняя – самой младшей. Для большей информации о связанных объектах см. описание панели Hierarchy.

Чтобы создать цепочку костей, к которым применено IK решение

1. На панели Create нажмите кнопку Systems, а затем Bones.

2. В свитке IK Chain Assignment выберите в списке строку IK Solver.

3. Включите флажок Assign To Children.

4. Создайте систему костей в видовом окне, как описано ранее.

К получившееся системе будет применено IK решение.

Чтобы исправить внешний вид костей

1. Выберите кость.

2. Выберите закладку Modify на командной панели.

3. Поменяйте установки, расположенные в свитке Bone Parameters.

Чтобы переместить кость в иерархии после того, как она создана

Перемещение кости повлияет на длину звена этой кости. Более важно, однако, что будет изменено положение ее опорной точки. Кость имеет только одну опорную точку. Видимое звено кости лишь соединяет ее опорную точку с опорной точкой следующей кости.

1. На панели Hierarchy, нажмите кнопку Pivot, чтобы перейти в панель опорных точек.

2. В свитке Adjust Transform нажмите кнопку Don"t Affect Children.

3. Переместите кость.

4. Выключите кнопку Don" t Affect Children, когда Вы закончите редактирование системы.

Добавление плавников к кости:

1. Выберите кость

2. На панели Modify перейдите на свиток Bone Parameters и включите флажок Side Fins.

3. Настройте размер и вид плавников изменением соответствующих задатчиков.

Литературы :

  1. www.3dcenter.ru/tutors/read.php?sname=lessons&articlealias=bone
  2. 3design.mega.kg/content/view/24/
  3. « 3ds Max 8 - Школа мастерства», Питер 2007, Владимер Верстак, Г.Макаров-Ишутин
  4. « 100 советов пользователям

Настроение: Для начинающих

Предлагаю Вам небольшой, но очень полезный урок по созданию автоматического растягивания ноги в зависимости от перемещения IK Goal (цель ИК). Этот прием отлично подходит для подготовки к анимации карикатурных персонажей. И хотя того же результата можно достичь вручную (без ИК), тем не менее, это отличная возможность изучить сетап в 3ds max (сложные и универсальные методы).
В данном уроке нам предстоит написать некий сценарий MAXScript, позволяющий расширить возможности системы IK в отношении автоматического растягивания костей при перемещении IK Goal.

Урок построен с использованием 3ds Max 2010. Но все это можно проделать и в более ранних версиях 3ds Max, вплоть до 3ds Max 4. Скачать 3ds Max 2010 уже можно давно, но пользоваться им не имеет смысла, поскольку работающего VRay под него нет.

1. Начнем с построения ноги.

Для создания костей я пользуюсь плавающим окном Bone Tools… из меню Animation.

Но кости можно также создавать через Create --> Systems -->Bones

Во фронтальной проекции, используя привязку к сетке, создайте ногу аналогичную изображенной на рисунке

2. Назначение инверсной кинематики (IK)

Далее создайте цепочку инверсной кинематики (IK Chain) независимой от предыстории (HI Solver) . Для этого выберите Animation-->IK Solvers-->HI Solver и кликните сначала на кости Bone01, а потом на Bone03.

Подвигайте цель IK (IK Goal) чтобы протестировать работу инверсной кинематики. Верните все назад

Совет

Чтобы не нажимать Ctrl+Z после проделанных тестовых движений, достаточно нажать правую (или среднюю) кнопку мышки во время тестовых движений, не отпуская при этом левую.


3. Процесс сетапа.

Для определения положения кости Bone02 назначим контроллер XYZ Position на параметр Position.

Для этого кликните ПКМ по параметру Position и выберите пункт Assign Controller…. Далее из списка выберите контроллер XYZ Position и нажмите кнопку Make Default-->Да-->OK.

Эту же процедуру проделайте для кости Bone03.

Теперь нужно определить максимальное расстояние между IK Goal и Bone 01 , после которого кости будут начинать растягиваться.

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

Введите в окне MAXScript Listener (F11) следующее выражение:

Distance $IKChain01.pos $Bone01.pos

Затем нажмите клавишу Enter. Запишите полученное числовое значение, поскольку оно будет использовано в третьей строке сценария MAXScript. У меня получилось 184.612

Переместите IK Goal в ее исходное положение.

Теперь приступаем к написанию скрипта для растягивания кости Bone01 .

Для этого выделяем кость Bone02 и назначаем на позиции X Position контроллер Float Script. При этом появится окно редактора Script Controller

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

Вот сам скрипт:

dependsOn $IKChain01.pos.controller $Bone01.pos.controller
d = distance $IKChain01.pos $Bone01.pos
ex = (d - 184.612)
orig = 111.804
if (ex < 0) then
ex = 0
p = orig + (ex/2)

В первой строке сценария MAXScript используется команда dependsOn. Она позволяет сообщить 3ds max’у о необходимости выполнения расчета по данному сценарию в зависимости от изменения любого числа параметров объекта. Таким образом, пересчет этого сценария осуществляется при изменении положения цели IK и кости Bone01.

Во второй строке , как и прежде, измеряется расстояние между целью IK и костью Bone01. Полученное значение присваивается соответствующей переменной.

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

В четвертой строке значение исходного положения кости Bone01 по оси Х присваивается соответствующей переменной.

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

В шестой, последней строке скрипта
, фактически устанавливается значение положения по оси Х, которое и определяет растягивание ноги. Для получения равномерного растягивания костей (этот скрипт будет повторно использован для кости Bone03) значение исходного положения по оси Х складывается со значением растягивания и полученный результат делится на 2

После того как Вы ввели сценарий кликаете на кнопку Evaluate (Вычислить) и Close (Закрыть).

Только не забудьте в четвертой строке подставить значение X Position уже для Bone03.

Таким образом, при перемещении IK Goal нога растягивается :

Классных Вам персонажей и быстрого сетапа!


3Ds max, как полноценный 3Д-пакет, позволяет анимировать созданные объекты. В случае персонажной анимации, 3dmax предлагает несколько способов привязки модели к «скелету», хотя принцип настройки привязки у них похожий. Дальнейшие действия предполагают наличие уже готовой модели человека, потому вы можете моделировать его сами, либо скачайте бесплатную модель .

Открываем сцену с нашим персонажем, переходим на вкладку Create/Systems/Standard и выбираем инструмент Bones. Создаём основную кость, после чего продолжаем строить скелет ноги. Чтобы закончить построение, щёлкните правой кнопкой мыши. Чтобы продолжить построение второй ноги, нажмите кнопку Bones, после чего щёлкните по основной кости, с которой мы начинали построение скелета.

Таким же способом создаём остальные кости. Вот что должно получится:

Инструментами Move и Rotate ставим «скелет» в «тело» нашего персонажа, используя другие окна проекций.

Модификатор Skin

Выбираем модель персонажа и применяем модификатор Skin. В параметрах модификатора Bones нажимаем кнопку Add, после чего откроется окно, в котором выбираем все созданные кости.

После этих действий, если мы будем двигать любую из костей, часть тела персонажа будет тоже двигаться. Но теперь нужно правильно настроить зоны влияния костей на объект . Это мы сможем сделать, нажав на кнопку Edit Envelopes, и поставив галочку напротив Vertices в разделе Select.

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

Чем выше значение, тем точнее будет перемещаться вершина вслед за костью.

Кнопка Exclude Selected Verts исключает выделенные вершины из зоны влияния кости, Include Selected Verts включает выделенные вершины в зону влияния, а Select Excluded Verts выделяет исключённые ранее вершины.

Так же значения визуально различимы по цвету, где:

  • белый – 0;
  • синий – 0,1;
  • желтый и оранжевый – от 0,25 до 0,9;
  • красный – 1.

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

Инверсная кинематика

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

Рассмотрим технологию на примере ноги персонажа. Выделяем кость, которая отвечает за ступню персонажа. Идём в меню Animation/IKSolvers и щёлкаем на HISolver, после чего будет предложено выбрать кость для привязки.

Щёлкаем в активном окне проекции на кость бедра, как показано на картинке ниже.

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

Тоже самое мы можем проделать с другими частями тела.

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

Анимация человека

В 3Dmax для анимации всегда открыта панель внизу окна. На ней содержится временная шкала, кнопки переключения между автоматическим выставлением ключей анимации (AutoKey) и ручным (SetKey), кнопка добавления нового ключа анимации (SetKeys), настройки временной шкалы (TimeConfiguration), а также панель управления воспроизведением анимации.

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

После настройки временной шкалы мы можем приступить к созданию простой анимации нашего персонажа. Нажимаем кнопку SetKey, после чего наша шкала будет подсвечена красным цветом. Выбираем часть тела для анимации, нажимаем на кнопку SetKeys (на кнопке нарисован «+» и ключ), после чего на временной шкале появится квадратик над цифрой 0. Это и есть новый ключ. Теперь передвигаем верхний ползунок на временной шкале на нужное количество кадров, например, на 30. Затем передвигаем анимируемую часть тела в нужную позицию и снова жмём кнопку SetKeys. Можем сделать ещё несколько движений и для других частей тела тем же способом.

Теперь нажимаем Play Animation и наблюдаем, как персонаж выполняет движения тела.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows