Перенос баз данных с одного SQL Server на другой Изменения в системе защиты SQL Server Новые средства разработки Новые элементы программирования на языке Visual Basic Редактирование и анализ данных с помощью запросов

Компьютерная анимация Компьютерная анимация


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

Правильное использование метода инверсной кинематики позволяет воплотить самые смелые мечты аниматора. Данный метод прямо противоположен предыдущему, поскольку перемещение компонентов-потомков приводит к изменению положения компонентов-предков. Он весьма прост в применении. Вы перемещаете кисть героя к кофейной чашке, и остальные части руки автоматически следуют за ней (рис. 6.9). Однако не все так просто, как кажется на первый взгляд: программа должна рассчитать повороты всех суставов, чтобы движение выглядело естественным. К счастью, большинство программ располагает вспомогательными средствами, например функцией торможения, смягчающей движение по мере того, как сустав приближается к предельному положению.

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

Компьютер не может определить, как должны двигаться части тела. Если какая-либо задача решается путем поворота локтевого сустава назад или вбок, машина произведет расчет этих движений. Однако подобное перемещение руки не соответствует действительности и неприемлемо для аниматора. Локтевые суставы представляют собой шарнирные узлы и допускают только поворот вперед. Не располагая такими данными, компьютер не сможет их правильно расположить. На рис. 6.10-6.12 представлены три варианта поворота локтевого сустава, при которых кисть руки придвигается к чашке. Правильным является лишь первое решение, но компьютер об этом не знает. Необходимо точно указать программе, как должен двигаться сустав.

Рис. 6.9. Пример инверсной кинематики

Рис. 6.10. Правильный вариант поворота

Рис. 6.11. Неправильный вариант

Рис. 6.12. Неправильный вариант

Создание цепочек инверсной кинематики

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


Дизайн, инженерная и Web графика