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
Post a Comment