Object's worldMatrix x offset position


def posOffsetMatrix_usingOM(pObj,cObj,tOSVec):
    import maya.api.OpenMaya as om;
    m1 = om.MMatrix(mc.getAttr(pObj+".worldMatrix"));
    m2 = om.MMatrix([1,0,0,0, 0,1,0,0, 0,0,1,0, tOSVec[0],tOSVec[1],tOSVec[2],1]);
    mc.xform( cObj, matrix = tuple(m2 * m1) );

def createOffsetLocator(offsets,sl):
    import maya.cmds as mc;
    locs = [];
    sel = mc.ls(sl=1,l=1,o=1);
    num = len(sel);
    for node in sel:
        loc = mc.spaceLocator()[0];
        locs.append(loc);
        posOffsetMatrix_usingOM(node,loc,offsets);
    if num:
        if sl: mc.select(sel);
        else: mc.select(locs);
    return(locs);

locs = createOffsetLocator([0,0,10],True);

Comments

Popular posts from this blog

HIK: Getting current character and current source.