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

Posted on May 23, 2009 at 3:33 by · Permalink
In: Rigging · Tagged with: , , , , , , ,

4 Responses

Subscribe to comments via RSS

  1. Written by matt
    on 4 September 2009 at 13:51
    Permalink

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

  2. Written by jayster
    on 7 September 2009 at 22:10
    Permalink

    Hello,

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

    Cheers,

    j.

  3. Written by Sagroth
    on 8 September 2009 at 4:35
    Permalink

    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. Written by SomeSanctus
    on 15 October 2009 at 1:46
    Permalink

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

Subscribe to comments via RSS

Leave a Reply