decomposeMatrix plugin

В стандартной поставке майи (как минимум начиная с 8.5), есть плагин с наверняка туманным для многих названием decomposeMatrix. Плагин добавляет довольно полезную ноду с одноименным названием, предназначенную для разложения стандартной 4×4 transform matrix на translation, rotation, scale и shear.

decomposeMatrix Interface

decomposeMatrix Interface

Практическое применение – получать нодой в каком-либо сетапе мировые значения трансформаций объекта, подав ноде на вход worldMatrix этого объекта. Результат в целом идентичен использованию parentConstraint + scaleConstraint, но скорость калькуляции не снижается от глубины иерархии над объектом (как это происходит с констрейнтами), сетап немного проще и все одной нодой.

decomposeMatrix plugin loaded

Для использования нужно убедиться что плагин decomposeMatrix.mll загружен в Plug-in Manager:

decomposeMatrix network

decomposeMatrix network

и создать ноду командой:

createNode decomposeMatrix;

Дополнительный трюк – подавать в decomposeMatrix матрицы разных объектов через ноду choice, дабы иметь возможность переключаться между ними:

decomposeMatrix with choice plugged in

decomposeMatrix with choice plugged in

P.S. Если достаточно одной лишь координаты объекта в мировом пространстве, без rotate и scale, наиболее эффективная по быстродействию нода – pointMatrixMult:

pointMatrixMult generates locator's coordinates in world space

pointMatrixMult generates locator's coordinates in world space

4 Responses to “decomposeMatrix plugin”

  1. matt - September 4, 2009

    once again great info! never knew about that and that’s very usefull

  2. jayster - September 7, 2009

    Hello,

    Do you know if ‘decomposeMatrix’ can be used to extract a non-flipping ‘Y’ rotation from a path animated object?

    Cheers,

    j.

  3. Sagroth - September 8, 2009

    I’m not sure about that. It just translates matrix into TRS values, the same thing that maya does. If there’s a flip it should flip after decomposeMatrix also. But it won’t hurt to try anyway :)

  4. SomeSanctus - October 15, 2009

    спасибо огромное, сегодня очень пригодилось!

Leave a Reply