Два остальных атрибута имеют значение только для нечасто используемого алгоритма вычисления кинематики (ikMCSolver), и мы их пока пропустим.

Алгоритмы вычисления инверсной кинематики. Типы IK-манипуляторов. IК Solvers

В разделе IK Solvers Attributes для каждого IK Handle содержатся атрибуты, определяющие, как работает выбранный !К-манипулятор. Дело в том, что перемещения манипулятора могут вызывать вращения костей различным образом, в зависимости от того, по какому алгоритму происходят эти вычисления. Этот алгоритм задается атрибутом IK Solver, а остальные атрибуты в этом разделе определяют специфические параметры для различных алгоритмов. Рассмотрим эти алгоритмы подробнее.

Для взрослых. Переключая атрибут IK Solver, вы можете заметить, как изменяется имя (и тип ноды) во второй закладке в Attribute Editor. Дело в том, что все основные атрибуты IK Solver создаются в сцене в тот момент, когда вы создаете первый сустав скелета. Каждый из них, этих IK-солверов, обслуживает все IK Handle с соответствующим значением атрибута IK Solver. Если вы, в силу каких то причин, хотите создать еще один IK Solver определенного типа (например, ikRPsotver), чтобы он обслуживал только некоторые IK Handle, вам нужно использовать MEL-команду createNode ikRPsotver. После этого нужно указать его имя в Attribute Editor для нужных IK Handle в качестве атрибута IK Solver

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

Алгоритм Rotation Plane Solver

По умолчанию значение атрибута IK Solver равно ikRPSotver. Это означает, что в данном случае используется алгоритм Rotation Plane. Суть его примерно такова.

Вычисление вращений суставов вычисляется на основе перемещений IK Handle и не зависит от его (хэндла) поворотов (попробуйте и увидите: вращать IK Handle никто не запрещает). Для того, чтобы определить плоскость, в которой будет происходить сгибание суставов, используются дополнительные атрибуты IK Handle. В частности атрибут Pole Vector. Представьте себе, что вы можете достать до собственного носа, держа локоть внизу или отведя его в сторону. Положение IK Handle (то есть вашей кисти) будет одинаково в обоих случаях, однако плоскость сгибания локтя будет разная. А теперь представьте себе, что из плеча торчит вектор, который задает, куда должен смотреть локоть при сгибании. Локоть при этом должен стремиться смотреть на конец этого вектора.

Чтобы получше разобраться с этим вектором, а заодно визуально отредактировать его, выберите IK Handle и нажмите клавишу «t», включив Show Manipulator Tool.

Изменяя этот вектор, вы будете вращать плоскость, в которой происходит сгибание суставов, зависящих от IK Handle.

Чтобы не выбирать каждый раз IK Handle и не переключаться в Show Manipulator Tool, было бы разумно закрепить конец этого вектора на каком-нибудь объекте, например локаторе. Именно для этих целей и существует Pole Vector Constraint.


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