Merge all animLayers

class animLayerOps:

def getNonBaseAnimationLayerNodes(self):

ret= [];

import maya.cmds as mc;

if not self.licCheck(): False;

else:

import maya.cmds as mc;

animLayerNodes= mc.ls(type="animLayer");

for ALN in animLayerNodes:

attr= ALN+".parentLayer";

if mc.objExists(attr) and mc.listConnections(attr):

ret.append(ALN);

return( ret );

def mergeAnimLayers(self):

import maya.cmds as mc;

bakeAttrs= [];

animLayers= self.getNonBaseAnimationLayerNodes();

for item in animLayers:

attr= item+".dagSetMembers";

if mc.objExists(attr):

cncts= mc.listConnections(attr,p=1,s=1,d=0);

if cncts:

for item2 in cncts:

bakeAttrs.append(item2);

bakeAttrs= sorted(set(bakeAttrs),key=bakeAttrs.index);

if len(bakeAttrs):

start= mc.playbackOptions(q=1,min=1);

end= mc.playbackOptions(q=1,max=1);

mc.bakeResults(bakeAttrs,t=(start,end),sm=1,mr=1);

mc.delete(animLayers);

Comments

Popular posts from this blog

HIK: Getting current character and current source.