【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ではロードしてあげる必要があるみたいです。
この記事が気に入ったらサポートをしてみませんか?