Хочешь жить – умей вертеться…
Так, мы познакомилисць с настройкой IK и целеуказателями, но для создания удобного в работе скелета головы необходимо уметь настраивать ограничения по повороту, размеру, положению в пространстве и некоторым другим свойствам.Зачем?
Однако… Где вы видели, чтобы рука или нога у человека или животного, могла гнуться во все стороны, как тряпка? О.о
Или например неограниченно растягиваться, как кусок жвачки?
Вот для устранения подобных глюков нам и нужны ограничители.
Хоть мускулы лица, это не есть кости суставов, но определённые пределы деформации и у них имеются…
Сохраняем нашу предыдущую сцену, чтобы потом её доработать.
Создаём новую сцену, уменьшаем и отодвигаем появившийся по дефолту кубик.
Затем создаём кость и…
А вот тут сделаю небольшое отступление от непосредственно практики и объясню что такое локальная и глобальная системы координат.
Глобальная система координат это система, в которой хранятся позиции и углы поворота каждого объекта, например нашей кости и кубика:
Как бы вы не повернули объект в этой системе координат, её оси всегда будут направлены в одном направлении.
У каждого объекта есть так же ещё и своя собственная локальная система координат, в которой ось „Z“ остаётся там, где она была с момента создания объекта (правда её при желании можно и подвинуть, и повернуть в специальном режиме редактирования).
Зачем нужна локальная ось?
Эмм… ну хотя бы затем, что все трёхмерные каркасы строятсця следующим образом:
Сперва создаются точки в пространстве (они же вертексы, у каждой точки есть свой порядковый номер), потом между ними проводятся линии (они же рёбра – Edges в информации о каждой точке есть также информация о том, к каким точкам линии вести, а к каким нет), затем по теореме гласящей, что «через любые три точки в пространстве можно провести плоскость и при том тока одну» вычисляются специальные вектора, которые называются «нормали» (термин «карта нормалей» aka „Normal map“ слыхали? Ну вот это они и есть…), нормали нужны для определения затенения каждого треугольника модели (а модели на самом деле состоят ТОЛЬКО ИЗ ТРЕУГОЛЬНИКОВ — полигоны (многоугольники) это группы из нескольких треугольников), ну и наконец, происходит расчет положения модели относительно камеры и источника света — то есть происходит затенение модели (о том, как происходит рассчёт шейдеров, текселей, текстур, амбиент окклюжна, бампа, нормал маппинга, спекуляр колора, спекуляр левела, параллакса, glow-карт, текстур детализации, расчета MIP-карт, рефлекта, рефракта и прочего я, пожалуй, говорить не буду ибо боюсь, что от такого количества инфы за раз, вывих или перелом мозгов вам тогда точно гарантирован…
Возвращаемся к нашим бара… э… в смысле к костям.
Для дальнейшей работы, нам понадобится окно Transform Propertries, спряталось оно в Object → Transform Propertries, ну или можете нажать „N“.
Отодвиньте его куда-нибудь в угол, чтобы не мешалось, но было под рукой.
Переместите кубик в позицию <X=0.0,Y=2.254,Z=0.0>.
Включите локальную систему координат (
) и поверните кость на -90 градусов по оси „X“ (хотите манипулятором поворота, а хотите вписыванием значения в соответствующее поле Transform Propertries)(…или по очереди нажав: R, X, X, -90, Enter (SOb))
Включаем манипулятор перемещения и смотрим что получилось:
Так, теперь нацеливаем кость на наш кубик ограничителем Track to и пробуем подвигать его:
Ну, конструкция вроде шевелится, тока вот вращается наша кость во всех направлениях, а нам надо заставить её крутиться, только в определённом диапазоне.
А вот тут нам на помощь придёт такой ограничитель, как Limit Rotation.
Применяем его к нашей кости и выставляем в нём следующие параметры:
Пробуем сдвинуть наш кубик-цель и смотрим, что с изменилось:
Как вы можете заметить, поворот теперь осуществляется только в диапазоне от -30° до 30° от локальной оси „Z“.
Поскольку мы теперь уже знаем, как настраиваются целеуказатель, IK и ограничитель поворота — едем дальше.
Загружаем нашу предыдущую сценку с двумя группами костей и перед ними создаём кубик:
Так, у нас есть две группы костей, которые чрезвычайно неудобно двигать по одиночке и есть кубик…
Как бы нам нахимичить так, чтобы обе группы костей приводилисць в движение одним кубиком?
Значит во-первых — кости должны поворачиваться только по вертикали, но… в определённых пределах.
Потом, обе группы костей НЕ ДОЛЖНЫ смотреть точно на сам кубик…
Затем, не плохо было бы, если бы кубик контролировал ещё и масштабирование самой большой кости каждой группы, — то есть ещё и сгибал-разгибал наши цепи костей…
Мда, блин, нихрена се задачка…
…Ладно, — не смертельно…
Нацеливаем рутовые кости обеих групп на кубик (Track To).
Теперь приминаем к каждой из рутовых костей ограничитель поворота (Limit Rotation).
Смотрим, что получилось, чешем тыкву:
Так, в ограничителе ротации у нас есть по два параметра на каждую ось… тока вот относительно какой системы координат они устанавливаются — глобальной или локальной?
Угу, вы правильно догадались, данные параметры устанавливаютсця относительно Local-ной системы координат (
) Включив данную систему координат, мы теперь можем на глаз (или методом проб и ошибок, как кому удобней) определить, каков предельно допустимый угол вращения кости по каждой из осей:
Поскольку в данном примере я задумал сделать что-то типа пальцев, они не должны вращаться ни по какой оси, кроме локальной „X“, да и то на небольшой угол.
Ну, в таком случае и вводим эти параметры в ограничитель (в тот, у которого на рисунке выше угол цифрами помечен):
Ну и поскольку для нашего урока одна из цепей должна быть повёрнута на 30° вбок, вводим в одну из рутовых костей следующий ограничитель:
Так, всё вроде у нас пока идёт, как задумывали, осталосць только понять, как заставить кубик изменять размер нужной кости.
Выделяем одну из больших костей и применяем к ней ограничитель Copy Scale.
Возник вопрос — а что эта штука делает?
Э… ну, как явствует из названия, она устанавливает исходному объекту то же значение параметра Scale, какое имеет целевой объект.
То есть, мы просто присваиваем размер кубика размеру кости:
Пробуем, смотрим, что получается:
Так, а почему у нас при масштабировании большая кость растягивается так сильно?
Не порядок! Исправляем…
Накладываем на нашу кость ограничитель Limit Scale:
Поскольку сгибаться наши пальцы будут тоже в диапазоне «от и до» — ставим значения параметров в соответствии с конкретными нуждами.
У имеющихсця в нашем распоряжении параметры следующие:
Во! Вот теперь у нас имеется хитро съёжившаяся цепочка костей, которая приводится в движение посредством одного-единственного кубика.
Хотелось бы конечно ещё, чтобы кубик слушал наши мысли и перемещался туда, куда мы подумаем, но мечтать, как говориться — не вредно…
продолжение…









