見出し画像

【maya】【備忘録】アニメーションレイヤーをマージして削除する

アニメーションレイヤー、マージして削除したい!と思った際に、詰まったので、メモ。

スクリプト

import pymel.cpre as pm

anim_layer = pm.ls(type='animLayer')
if anim_layer:
   # mayabatch.exeでは、animLayerMergeがロードされる前みたいなので、ロードしておく
   mel.eval('source "C:/Program Files/Autodesk/Maya{}/scripts/others/performAnimLayerMerge.mel"'.format(pm.about(version=True)))
   
   # マージ
   mel.eval('animLayerMerge( `ls -type animLayer` )')
   
   # 削除
   pm.delete(pm.ls(type='animLayer'))
   

アニメーションレイヤーのマージ

mayaでGUIからマージを操作すると、スクリプトエディタには履歴としてbakeResultsが表示されるけど、
マージ自体は、animLayerMergeという関数を使うみたい。

mayabatch.exeで使用する際に

普通にmaya起動時に、
スクリプトエディタからanimLayerMergeを使用する分には使えるけど、
mayabatch.exeからだとprocedureがないよ?と言われました。
なので、mayabatch.exeではロードしてあげる必要があるみたいです。

この記事が気に入ったらサポートをしてみませんか?