View Full Version : Float reactor tutorial (intermidiate-advanced)

05 May 2004, 07:35 PM
Hi every one ...

this is my first tutorial here ... (Haaay)

it is a littel advanced or intermidiate advance thing ...
it is about wireing the attributes of an aboject to the another object's atributes .... i used 3dmax 5.0

there is a lot of of ways to use this ... in this tutorial we will use it
make a small control system over a hand .....

in this tutorial we will learn how to make custom attributes and then how
to wire the hand to these custiom attributes ...

shall we start ..!!

ok first we will see how to make custom attributes ...

1-make a dummy object as in image 01

as you can see , in the modefy pannel there is no attributes for this Dummy

2-as in image 02 ... go to the animation drop down menue and click on add
custom attribute ...

3- a dialog box will appear ... here you can determine the type of the
attribute you want to add .... here you specify the type of the attribute
and the value range , it's name bla bla bla .... after that you press on the
add bottom to add that attribute ...feel free to chick them all ...

as in this image you can see different attributes i have added to this Dummy
1-Float attribute with range from 0 to 100

2-integer attribute ..

3-i am not sure what this one called ..

4-slider attribute

5- chick box ...

ok now , delete that dummy and let go to business ....

we will start making the hand ... a simple one .... make a box ,
this represents the hand , so you call it "hand" then go to the Hierarchy panel
and then press on "Affect pivot only" then move the pivot point the edge of the
hand . as in this image

continue ...............

05 May 2004, 07:37 PM
now go to motion panel and make sure that the rotation controller is "Euler XYZ"
if not .... click on the small bottom and assign that controller as in this image

now ... make 4 copies of that box to make 2 fingers as in this image ...

change the dimension of the fingers by changing the values of the hight , length and
width , DON'T USE SCALE ...if you use scale ... then you should select the
objects that you scalled and "reset scale" from the Hierarchy panel , like in the image
above ...give them the name as above

now link "Finger_L_A" with "Finger_L_B" with "Hand"

link "Finger_R_B" with "Finger_R_A" with "Hand"

ok .... save your work ...

now , we want to make an abject that controll the rotation
of the hand around Y & Z axis and control the finger's Rotation around
the Y axis .... ( to make this simple we just going to control the y rotation
, for real cases , you will have to control the X ,Y ,Z , making the hand close
all to gether , the fingers get close to gether bla bla bla )

lets turn & burn

1-make a dummy as in the begining of this tutorial ...
2-go to animation drop down menu and click on "add custom attribute"
3-input the data as in this image

click on add ....

you have just added a float attribute with value from 0 to 100 with the name
"Hand Rotation Y"

now keep every thing as it is and change the name only to "Hand Rotation Z"
click add

change name to "Finger_L_A Rotation Y" and add
change name to "Finger_L_B Rotation Y" and add
change name to "Finger_R_A Rotation Y" and add
change name to "Finger_R_B Rotation Y" and add
close the add attribut dialog box ....
now in the modefy panel , your dummy should look like this

now you all can see ... we will use the dummy to controll the hand.

only now the quiation is how are we going to tell the hand to take the orders
from the dummy ....

ok , now we shall talk to the hand !!!

we have to put some kind of cotroller that link inbetween the hand and the dummy...
and this controller is ....the "Float Reactor" ...

select the hand and go the motion panel .... select the rotation Y and then
click on the small bottom -the assign controller bottom- as in the next image ...
a window will appear , select "Float Reactor" then press on "ok"


05 May 2004, 07:38 PM
another window will pop up ...

click on "React to" , it will turn yellow ... then click on the dummy a drop list
will appear ... follow the list as in this image ...
this way we linked the y rotation (Local Y) to the attribute called "hand rotation Y"
in the dummy .... now we should define values to this relation ...
in other words .... how much the hand rotate when the value of "hand rotate Y" = 0-100

keep the "Reactor Parameter" window OPEN select the dummy and go to the
modefy panel ...

make sure that the value of "hand rotation y " = 0 ... then go to the reactor window
and change the "state" value ... note how the hand start to rotate around it's
local y axis ... when you are ok with the amount of bend ( lets say 1 as in my
tutorial ) press on the "set reaction value as in this image ...

this way we told the hand to rotate 1 when the value of the dummy's attribute
"hand rotate y" = 0 ...
keep the reactor window open ..

now the max value ....

again on the dummy ... change the value of the "hand rotate Y" to 100
then go and change the value of "state" to -0.7 then press on "create reaction"
another reaction called reaction02 2 will be generated in this image..
note that the lower 2 bars summaries the input & output values..
what we have done is that we told the hand that when the "Hand Rotate Y" = 0
then the the hand rotate around it's Local Y axis 1.0 and when the "Hand Rotate Y" = 100
the hand Rotate around it's local Y axis -0.7

now close the reactor window , and cange the values of the "hand Rotate Y"
and see how the hands rotate ...

IMPORTANT NOTE : your hand may rotate in deffirent diriction than this example
this is mainlly because the local axis of the hand in this example may differ
form the one that you did , thats depends on the view port that you generated
the box -the hand- in ....

any how that in not that big deal ... once you uderstood the idea you can apply it to
what ever axis you like ...

now the hand z axis ...

select the hand and go to the motion panel , select the rotation Z , and then
assign the float reactor ...

05 May 2004, 07:39 PM
Note : if the old window ( the y float reaction) opened , the one with
the 2 reactions in , just close it and right click the Z rotation (in the motion panel step
nomber 2 in the image above ) and select proprites ...

now click on "ract to" then clcik on the dummy and go throgh the list and
chose "Hand Rotate Z"

now keep the window open ... and select the dummy and go to modefy panel

make sure that the "Hand Rotate Z" = 0 and then go to the reactor window and
change the value of the "state" to 0.5 (or what ever value you like)
click on "set reaction value"

then on the modefy panel again change the value of "Hand Rotate Z" to 100
and then change the "state" value to -0.5 and click on "create reaction"

close the reactor window and chick the hand's rotation by changing the "Hand
rotation Z"

now the fingers ....
select the finger called "Finger_L_A" and go to the motion panel and repeat the
same steps ... assign a float reactor to it's y rotation and link it to the dummy

then the "Finger_L_A rotation Y" = 0 the "state" = 0.7 click the set reaction bottom


05 May 2004, 07:42 PM
the "Finger_L_A rotation Y" = 100 the "state" =-0.7 , press create reaction

now you do the same for the rest of the fingers and the result should be some thing
like this

note how the hand change by just changing the dummy's attributes...

thats it ... ofcourse you can animate the hand by changing the values of the

of course this is a simple example ... you can make all the fingers be linked
to only one attribute in order to make them close to form a fist with just changing
one value spinner ...

this is usefull for facial animation , you can link not only rotation , scale
position , color , hight , width ... whatever ... also you can link not only
to custom attributes ...but also to existing attributes , for example you can
link and abject color to the radous of a sphere , or an object position to
a box hight ... and so on ....

have fun .... and i hope that i was able to explain this in a good way that every one understood ....

by the way , i have learened this from the book "Mastering the art of production with 3Dmax 4"
by Jason Busby . Michele Bousquet

another "by the way" the site that host the images will let them for one month , so if you find this tutorial usefull , save the page on your hard disk ...

i would like to post the max file do you can download , how can i post it ...

see ya ...


04 April 2005, 08:34 AM
it unfortunately looks like all your links are borken and you can attach files to your posts, like the max file ;)

04 April 2005, 04:49 PM


04 April 2005, 07:41 AM
sorry , but the server that i posted the images on , keeps them for one month ... :banghead:
i have attached the images to this reply


04 April 2005, 07:55 AM
continue... :bounce:

04 April 2005, 08:01 AM
the last file ....

u r supposed to find files from 01 up to 22

have fun


04 April 2005, 06:51 PM
try putting ur tutorial at ( ... wayyyyyyyyyyy better place.

04 April 2005, 08:23 PM
sry to tell u, the zip file is corrupt

04 April 2005, 12:37 PM
sorry about that , i don't know why ?? :argh:

i will try to post it on the link that "12950629" gave .

if u like i will mail it to u ...

12950629: thanks for the link


05 May 2005, 10:51 PM
I wouldn't mind checking it out...
Any chance you could send it over to ?
Thnx Wolf ;)

05 May 2005, 07:55 AM

bindyeye: i have sent you the file

hope u find it usefull


CGTalk Moderation
05 May 2005, 07:55 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.