[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
【Maya】キーフレームのスタート / エンドの取得 | リグログ!
ノード単体からの取得する関数です。
元の関数と同じようにTranslate / Rotate / Scale から対象選べるようにしてみました。
(もうちょいスマートな方法ある気がしますが。。。)
import maya.cmds as cmds def get_time_range_from_node(node=None, t=True, r=True, s=True): ''' ノードからアニメカーブの範囲を取得する t : Translate r : Rotate s : Scale ''' anim_curves = [] if t is True: anim_curves += cmds.listConnections(node, t='animCurveTL', et=True) if r is True: anim_curves += cmds.listConnections(node, t='animCurveTA', et=True) if s is True: anim_curves += cmds.listConnections(node, t='animCurveTU', et=True) min_time = None max_time = None for anim_curve in anim_curves: indices = cmds.getAttr('%s.ktv' %anim_curve, mi=True) for i in indices: t,v = cmds.getAttr('%s.ktv[%i]' %(anim_curve,i))[0] if min_time is None or t < min_time: min_time = t elif max_time is None or max_time < t: max_time = t return min_time,max_time