[Closed] Spinner/slider script
I was wondering if anyone knows of a script that would allow me to rig movements of my rig to spinners or sliders. I know that I can use manipulator sliders for this but the problem is that if I start to rig all the parts the viewport has a lot of stuff in it.
I also know that I could set morph targets for the movements but I am hoping to freeze the mesh so that it is not selectable. I was hoping to rig something that is a similar to a synoptic view that xsi has but instead of a pic I could list a bunch of spinners and they would move the limbs. I want to be able to keep the controllers that are on the rig to a minmum for some of the fine movements for things like arm roll and such.
I dont know if there is something out there like this. I have gone through the scripts at scriptspot and have looked at some of the other websites like Paul Neale’s but I have yet to see anything. I am currently trying to learn maxscript but this is a lil beyond my capabilities right now. Any help pointing me in the right direction would be greatly appreciated.
You could add Custom Attributes to any scene object (for example to a dedicated control object which does nothing else) and wire the rig to its spinners/sliders. You can add more spinners to the CA whenever you need them. To manipulate your rig, you just select the control object and the spinners will appear in the Modify Panel.
Hey Bobo thanks for the reply!
This is definitely what I am searching for. I am still leaning and was sure that there was something out there to do this.
Here is a script I did for just that reason. It was based on the script provided under Max tutorial Rigging Finger Curl. If you haven’t gone through the Rigging Finger Curl tut I highly recommend it. It really help me understand many things. The original was only spinners and I wanted Sliders, Vales and a reset button. I had to include spinners to get a value readout but that’s all I use them for. I would much rather use the sliders to move the object then spinners.
My next goal for the CTRL script is to visual color code the slider blocks to visual separate them. In order to conserve vertical space I pushed them together. This is great to prevent scrolling up and down but visually they need some delineation. Group Box’s are to much I would really like to have alternating color bands behind each block. I’m having trouble figuring out the bitmap background ui’s.
http://forums.cgsociety.org/showthread.php?t=380287
–Author – @othoap.com” data-bbcode=”true”>sam@othoap.com
–CTRL_v1.5
--This script was modified on 7/10/06 from the original script "handDef.ms"
–from the 3D StudioMax tutorial files on hand rigging attributes. Sorry I
–don’t know the original authors name:( I also had help from Mobeen at
–3DBuzz with a spinner “ui:naming” issue, Thanks Mobeen.
–I found my self always having to type in “0” for each spinner to return
–the subject back to the start pose. So I altered the script to include
–reset buttons on each spinner attribute and a master reset for all.
--Also I find sliders a nicer control to work with so use the slider for control
–and the spinner for confirmation of the value. I would like to see a slider with a
–built in value field read out in the future. Maybe even a grow bar behind
–the scrubber under the tic marks. Also it would be great to have a alpha on the
–slider so backgrounds would show thought.
–The following block communicates with Paul Neal’s PEN_Attribute_Holder2 – http://www.paulneale.com/ to insert the rollout into the ui
global armDef
for numDef = 1 to (custAttributes.count $.modifiers[1]) do
(
print (custAttributes.get $.modifiers[1] numDef).name
if (custAttributes.get $.modifiers[1] numDef).name == "Arm Controls" then
(
armDef = (custAttributes.getDef $.modifiers[1] numDef)
)
)
armDef = attributes “FK Arm Controls:”
redefine:armDef
–This block sets up the spinner and slider variable names
(
parameters mainP rollout:mainR
(
ShoulderExten type:#float ui:(spinSE,slideSE)
ShoulderShrug type:#float ui:(spinSS,slideSS)
ArmLift type:#float ui:(spinAL,slideAL)
ArmSwing type:#float ui:(spinAS,slideAS)
ElboBend type:#float ui:(spinEB,slideEB)
ArmTwist type:#float ui:(spinAT,slideAT)
ArmTwist2 type:#float ui:(spinAT2,slideAT2)
WristWave type:#float ui:(spinWW,slideWW)
WristShake type:#float ui:(spinWS,slideWS)
)
–This block describes the interface elements and the positions and parameters. I’m using alignments and offsets to
–arrange the spinners and sliders instead of pos:. It’s easier to adjust if you add a new block. I only have to adjust
–the reset button y vale “pos:[x,y]” by 55 units to move down.
rollout mainR "FK Arm Controls:"
(
spinner spinSE "Shoulder in-out" align:#right offset:[0,0] range:[-180,180,0] fieldWidth:50
slider slideSE "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetSE "R" pos:[145,35] width:15 height:16
on resetSE pressed do
(
spinSE.value = 0.0 --inserts 0.0 value into the spinner field to only reset this block
)
spinner spinSS "Shoulder Shrug" align:#right offset:[0,0] range:[-180,180,0] fieldWidth:50
slider slideSS "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetSS "R" pos:[145,85] width:15 height:16
on resetSS pressed do
(
spinSS.value = 0.0
)
spinner spinAL "Arm Lift" align:#right offset:[0,5] range:[-180,180,0] fieldWidth:50
slider slideAL "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetAL "R" pos:[145,140] width:15 height:16
on resetAL pressed do
(
spinAL.value = 0.0
)
spinner spinAS "Arm Swing" align:#right offset:[0,5] range:[-180,180,0] fieldWidth:50
slider slideAS "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetAS "R" pos:[145,195] width:15 height:16
on resetAS pressed do
(
spinAS.value = 0.0
)
spinner spinEB "ElboBend" align:#right offset:[0,5] range:[-180,180,0] fieldWidth:50
slider slideEB "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetEB "R" pos:[145,250] width:15 height:16
on resetEB pressed do
(
spinEB.value = 0.0
)
spinner spinAT "Arm Twist" align:#right offset:[0,5] range:[-180,180,0] fieldWidth:50
slider slideAT "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetAT "R" pos:[145,305] width:15 height:16
on resetAT pressed do
(
spinAT.value = 0.0
)
spinner spinAT2 "Arm Twist2" align:#right offset:[0,5] range:[-180,180,0] fieldWidth:50
slider slideAT2 "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetAT2 "R" pos:[145,360] width:15 height:16
on resetAT2 pressed do
(
spinAT2.value = 0.0
)
spinner spinWW "WristShake" align:#right offset:[0,5] range:[-180,180,0] fieldWidth:50
slider slideWW "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:40
button resetWW "R" pos:[145,415] width:15 height:16
on resetWW pressed do
(
spinWW.value = 0.0
)
spinner spinWS "WristWave" align:#right offset:[0,5] range:[-180,180,0] fieldWidth:50
slider slideWS "" align:#left offset:[0,-5] range:[-180,180,0] fieldWidth:10
button resetWS "R" pos:[145,470] width:15 height:16
on resetWS pressed do
(
spinWS.value = 0.0
)
–This block sets up an array of the spinners to insert a 0.0 value to reset all at once
button resetAll "Reset All" align:#center offset:[0,5]
on resetAll pressed do
(
#(spinSE,spinSS,spinAL,spinAS,spinEB,spinAT,spinAT2,spinWW,spinWS).value = 0.0
)
)
)
custAttributes.add $.modifiers[1] armDef
————————————-end
Popeye9 I have invested much time on this subject, Please email me if you get stuck