这个小工具在Max里拷贝动画用的,对动画师来说再使用不过了。
(
--for f in getFiles ((GetDir #export+ @"\")+"*.bps") do deleteFile f
global stime = animationrange.start
global etime = animationrange.end
global start_frame = animationrange.start
global end_frame = animationrange.end
global selectundefined = 0
global name_lag
global removeFromList_lag
global rloading_lag
global rb_sel_a_lag
global rb_sel_b_lag
global ac_lag
global addToList_lag
global pastepose_lag
global ABbutton_lag
global obj_r_lag
global obj_xyz_lag
global obj_tcb_lag
global paste_offset_lag
global paste_offset_b_lag
global lnk1_lag
global wayneCheckBox_lag
global ac_tooltip_a_lag
global ac_tooltip_b_lag
global ABbutton_tooltip_a_lag
global ABbutton_tooltip_b_lag
global messagebox_a_lag
global messagebox_b_lag
global messagebox_c_lag
global messagebox_d_lag
global messagebox_e_lag
global messagebox_f_lag
global messagebox_a_title_lag
global format_a_lag
global format_b_lag
global format_c_lag
global Accuracy_offset_lag
global Accuracy_offset_b_lag
global obj_r_b_lag
global wcb_lag
global rfl_lag
global language_a_lag
global language_b_lag
--global frame_options = false
fn english = (
name_lag = "CopyPasteKey V1.19"
removeFromList_lag = "Delete the selection sets: click to delete the current selection in the list of collection"
rloading_lag = "Update list: update to the latest list"
rb_sel_a_lag = "Pose"
rb_sel_b_lag = "Animation"
ac_lag = "Range of frames: start to finish"
addToList_lag = "Copy"
pastepose_lag = "Paste"
ABbutton_lag = "Frame by frame copy: in this mode copy frame will copy operation on the basis of frame by frame"
obj_r_lag = "Reset to reset the transformation: the transformation XYZ properties, after the reset will not be able to retain the original animation information"
obj_xyz_lag = "Convert XYZ: convert a selection object to XYZ properties"
obj_tcb_lag = "Convert TCB: convert a selection object to TCB properties"
paste_offset_lag = "Offset "
paste_offset_b_lag = "Offset paste: input frames, paste the frame will be (start frames + offset frames) to paste action"
lnk1_lag = ""
wayneCheckBox_lag = "Keep a copy: check the, the next time will keep the copy of gestures and movements"
ac_tooltip_a_lag = "Range of frames: start to end"
ac_tooltip_b_lag = "Range of frames: custom start end"
ABbutton_tooltip_a_lag ="key by key copy: in this mode will copy the frame to select all objects in the time of the frame position for copy operation"
ABbutton_tooltip_b_lag ="Frame by frame copy: in this mode copy frame will copy operation on the basis of frame by frame"
messagebox_a_lag = "Please select at least one object"
messagebox_b_lag = "Time range error"
messagebox_c_lag = "Choose the Pose is not found, please update the list"
messagebox_d_lag = "Choose the Animation is not found, please update the list"
messagebox_e_lag = "Concentration in attitude no object in the scene"
messagebox_f_lag = "Choose some have not been recorded in posture"
messagebox_a_title_lag = "Prompt"
format_a_lag = "cancel\n"
format_b_lag = "finish\n"
format_c_lag = "Schedule"
Accuracy_offset_lag = " Acc "
Accuracy_offset_b_lag = "Accuracy: through repeated precision numerical paste in order to achieve the most accurate results (the larger the value when the long)"
obj_r_b_lag = "Res"
wcb_lag = "Save Settings"
rfl_lag = "X"
language_a_lag = "En"
language_b_lag = "Language: the current is in English"
)
(
makeDir ((GetDir #export)+ "\\cptools_data\\")
tempdata = ((GetDir #export)+"\\cptools_data\\"+"temp.ini")
testPath = doesFileExist tempdata
english()
)
rollout cptools name_lag
(
Group "Main"
(
dropdownlist testList items:#() tooltip:"select pose" across: 3 width:135 enabled:true visible:true
button removeFromList "" height:20 width:20 offset:[59,0] toolTip:removeFromList_lag
button rloading " R" height:20 width:20 offset:[22,0] toolTip:rloading_lag
radioButtons rb_sel "" width:88 height:15 labels:#(rb_sel_a_lag ,rb_sel_b_lag ) offset:[-45,0]
button ac "A" width:18 height:16 offset:[18,-20] enabled:false toolTip:ac_lag
spinner Accuracy_offset " " range:[1,10, 1] type:#integer width:40 offset:[40,-19] toolTip: Accuracy_offset_b_lag enabled:true
spinner spn_start "" range:[-99999,99999, stime] fieldwidth:37 across: 2 offset:[-40,0] type:#integer enabled:false
spinner spn_end "To " range:[-99999,99999, etime] fieldwidth:37 offset:[-60,0] type:#integer enabled:false
button addToList "" width:92 offset:[-19,0]
button pastepose "" width:58 height:42 offset:[61,-47]
button ABbutton "S" width:20 offset:[-77,-26] toolTip:ABbutton_lag enabled:false
)
Group "Setting"
(
button obj_r "" width:32 height:18 offset:[-4,0] across:4 toolTip:obj_r_lag
button obj_xyz "XYZ" width:32 height:18 offset:[-9,0] toolTip:obj_xyz_lag
button obj_tcb "TCB" width:32 height:18 offset:[-21,0] toolTip:obj_tcb_lag
spinner paste_offset "Offset" range:[-99999,99999, 0] type:#integer width:90 offset:[-18,1] toolTip:paste_offset_b_lag enabled:false align:#center
)
HyperLink lnk1 "Address" align:#center color:(color 150 150 150) hovercolor:(color 100 100 100) visitedcolor:(color 150 150 150) address:"http://www.cgwayne.com/"
dropdownlist testListAni items:#() tooltip:"select pose" width:135 enabled:true visible:false offset:[0,-171]
checkbox wayneCheckBox "" offset:[24,120] toolTip:wayneCheckBox_lag
button language_btn "" offset:[85,-18] width:20 height:15 toolTip:language_b_lag
progressbar doit_prog offset:[-9,0] width:190 height:8 color:red
on language_btn pressed do
(
if language_btn.text =="En" then
(
english()
language_btn.text = language_a_lag
hold_CB = wayneCheckBox.checked
hold_RB = rb_sel.state
hold_ST = spn_start.value
hold_ED = spn_end.value
hold_AC = ac.text
hold_AO = Accuracy_offset.value
hold_AB = ABbutton.text
hold_PO = paste_offset.value
hold_SE = spn_start.enabled
hold_EE = spn_end.enabled
hold_AE = ac.enabled
hold_BE = ABbutton.enabled
hold_PA = paste_offset.enabled
hold_TP = testList.visible
hold_TA = testListAni.visible
wayneCheckBox.checked = true
postest = getDialogpos cptools
destroyDialog cptools
createDialog cptools 200 210 pos:postest
-----------------------------------------------»Ö¸´×´Ì¬
wayneCheckBox.checked = hold_CB
rb_sel.state = hold_RB
spn_start.value = hold_ST
spn_end.value = hold_ED
ac.text = hold_AC
Accuracy_offset.value = hold_AO
ABbutton.text = hold_AB
paste_offset.value = hold_PO
spn_start.enabled = hold_SE
spn_end.enabled = hold_EE
ac.enabled = hold_AE
ABbutton.enabled = hold_BE
paste_offset.enabled = hold_PA
testList.visible = hold_TP
testListAni.visible = hold_TA
)else(
english()
language_btn.text = language_a_lag
---------------------------------------