/* 選択したボーンの全フレームの座標変更 pos: セットする座標 使用方法 トラックビュー選択ダイアログが表示されるので 変更したいボーンの"Transform : Position/Rotation/Scale" を選択してOKボタンを押す */ fn SetSelectBonePosAllKey pos = ( -- ダイアログ表示オプション dlgOpt = 0 dlgOpt = bit.set dlgOpt 1 true --アニメトラックのみ -- dlgOpt = bit.set dlgOpt 3 true --選択したノードのみ -- ダイアログを表示 tvp = trackview.pickTrackDlg options:dlgOpt if tvp == undefined then return -1 -- 未選択 format "tvp.name %\n" tvp.name -- 選択した項目の名前 if "Transform" != tvp.name then return 1 c0 = tvp.client -- 選択項目の親のMAXWrapper if c0 != undefined then ( cname = getClassName c0 format "c0.className %\n" cname if cname != "Bone" then return 2 ) -- 選択項目のサブアニメを取得 subAni = tvp.anim if subAni == undefined then return 3 -- サブアニメ数 format "subAni.numSubs %\n" subAni.numSubs ret = 4 for i = 1 to subAni.numSubs do ( -- サブアニメの名前 n = getSubAnimName subAni i format "subAnim name %\n" n -- Positionのみ変更 if 0 != stricmp n "position" then continue -- コントローラーの取得 c = subAni[i].Controller if c == undefined then continue -- コントローラーからキーの配列を取得 keys = c.keys -- キーフレーム数 format "key_array count %\n" keys.count -- 全キーフレームの座標を変更 for j = 1 to keys.count do ( keys[j].value = pos ) ret = 0 ) return ret ) gPos = [0, 0, 0] -- セットする座標 SetSelectBonePosAllKey gPos
2012年1月28日土曜日
MAXScript ルートボーンの移動アニメを変更してみる(2)
あるモデルのルートボーンの移動アニメを無効にしたい
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿