ScriptSpot

Script

Face Pose Saver

By BredM1 · 2017-11-29

Version
v.03
Version requirement
Any
Date updated
2017-11-29
Votes
1
Download
Download
Description

A 3ds Max script to save key positons of the face witch is controlled with sliders

Video link

GitHub link

ABOUT THE SCRIPT:
It's a tool for animators to save key face poses and speed up work. It's gets the position of the selected sliders and do a snapsot on the viewport and save as a button. First you have to set the "CHR" as the charachter name and set the path where the picurates begin saved.

Additional Info

USE: Right click on button: Saves the actual position of the selected object's and create an image button from the viewport Left click on button: Sets the object to the saved position Save, Load: Save, load files Numbered Multipler buttons: Set's the strenght of the saved pose Set Project button: The path where the viewport picurates get saved Set CHR button: The current charachter name, this name was used when the picurates begin saved KNOWN BUGS: There is an issue when you try to load a saved files the picurates doesn't appear.
Videos

Tags: script, Animation, Position, save, 3ds max, slider, 3ds max facial animation

Comments (3)

3dsmax 2017/2019

Kordaling · 2020-06-13

3dsmax 2019/2017
Does not work.

Takes 3 to 5 clicks to apply a pose.
When the pose is applied,
it move the controllers to their parents location instead of simply applying a rotation.

ex :
rotate Jaw bone 10degrees.
save
apply pose

result :
move the jaw bone to the neck bone position. no rotation on the jaw.

EDIT :

It doesnt apply rotations... he only applies translates.
My very simple rig uses both.
Are you planning to add that feature?

thanks

.

miauu · 2017-12-07

I think that you have to update your script and to make all global variables local(if it is possible) or to give them a unique names. Right now all those variables are globa:


-- object name and position storage arrays 1-18
P1=#()
P2=#()
P3=#()
P4=#()
P5=#()
P6=#()
P7=#()
P8=#()
P9=#()
P10=#()
P11=#()
P12=#()
P13=#()
P14=#()
P15=#()
P16=#()
P17=#()
P18=#()
-- List's
PaLL = #(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)
-- List's names string's
PNameAll = #("P1=", "P2=","P3=","P4=","P5=","P6=","P7=","P8=","P9=","P10=","P11=","P12=","P13=","P14=","P15=","P16=","P17=","P18=")
-- Button names strings
Butt_Names = #("Pose_1", "Pose_2", "Pose_3", "Pose_4", "Pose_5", "Pose_6", "Pose_7", "Pose_8", "Pose_9", "Pose_10", "Pose_11", "Pose_12", "Pose_13", "Pose_14", "Pose_15", "Pose_16", "Pose_17", "Pose_18")
-- Button selected to rename
re_Butt =
-- label selected to rename
re_Butt_lab = 
-- Button name position in list
butt_num = 
-- Position Multipler
Multipler = 1
-- current multipler strenght
Curr_mult_str = "1"

-- stores path and chr string in array to make able to wirte in a file as a string
path_to_string = #()
chr_to_string = #()

-- kepes update----------------------------------
-- button base names
button_pic_names = #("Pose_1", "Pose_2", "Pose_3", "Pose_4", "Pose_5", "Pose_6", "Pose_7", "Pose_8", "Pose_9", "Pose_10", "Pose_11", "Pose_12", "Pose_13", "Pose_14", "Pose_15", "Pose_16", "Pose_17", "Pose_18")
-- bitmap sape path
pic_path = "W:/W_SOROZATOK/C_MESE/A_kovacs_es_az_Isten/FPS_Script/"
-- current chr name
CHR = "CHR"

Thanks

BredM1 · 2017-12-07

Okay, thank you for the feedback :) later I update the script.