Построение «шаблона» будущего скелета Создайте линии передней и задней кромки:

Кривая curvel (NURBS-кривая первого порядка) - это шаблон для костей «тушки» тела, curve2 - это кривая (NURBS-кривая 2-го или 3-го порядка), определяющая заднюю кромку (они обе в файле wingOI .та).

Будем строить упрощенную модель крыла - всего по 3 пера на каждый сустав (итого 9 перьев), ведь для понимания процесса такого количества будет достаточно, а большее количество перьев лишь загромоздит конструкцию, не внеся в нее ничего принципиально нового.

Для каждого пера мы будем строить отдельную цепочку костей. Построим «направляющие» для этих перьевых «цепочек».

Построим отрезок вдоль оси X, начало которого в начале координат. Заметим, что пивот его по построению находится в начале, и локальная ось X направлена вдоль этого отрезка. Сделаем 8 копий этого отрезка (всего должно получиться 9 отрезков - по числу перьев). Назовем их, например, С1, С2, СЗ....С9.

С помощью Geometry Constraint «насадим» только что созданные отрезки на шаблон передней кромки - кривую curvel. Теперь мы можем свободно двигать отрезки С1…С9 вдоль кривой curvel:

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

Для этого создадим девять локаторов, назвав их, например, L1, L2…L9, и с помощью того же Geometry Constraint (или с помощью утилитки pointOnCurvelnfo) «нанижем» локаторы подряд на кривую curve2 задней кромки крыла, как бусинки на нитку.

С помощью Aim Constraint сориентируем отрезок С1, направив его на локатор L1. Затем С2 аналогично направим на L2, СЗ на L3 и так далее.

В результате мы получим конструкцию из кривых, которая легко редактируется, причем отрезки С1…С9 соединяют кривые curvel и curve2, и их точки пересечения с этими кривыми легко контролируются. Если необходимо, мы можем подправить форму и местоположение каждой кривой, не нарушая целостности всей конструкции.

Когда все необходимые корректировки выполнены, приступим к пострению самого скелета (файл wing02.ma)

Построение скелета Включив привязку к точкам (snap to point), строим первую цепочку сочленений вдоль кривой curvel.

Совет. Когда мы строим цепочку костей, локальные оси каждого сочленения гарантированно располагаются наиболее удобным для нас образом, о чем уже говорилось выше, за искючением первого и последнего сочленений. Проблема первого сочленения заключается в том, что у него нет «предшественника», поэтому хоть первая ось (X) и направлена вдоль кости, ориентация осей Y и Z неоднозначна. Проблема последнего сочленения в том, что оно последнее и непонятно, куда, в таком случае, должна быть направлена первая из осей (X). Но ориентация локальный осей последнего сочленения нам будет безразлична, а вот с первым сочленением имеет смысл быть быть поаккуратнее - оно ведь «рабочее».

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


⇐ вернуться назад | | далее ⇒