Home Coding, Scripting, Shaders

3DSMAX Maxscript Reaction manager via maxscript???

polycounter lvl 7
Offline / Send Message
dg3duy polycounter lvl 7
Using maxscript I am looking for information on how to use reaction manager but I find that there is almost no information on how to use it together with attribute holder .
I’m very disoriented, I don’t know which is the way to do what I show in the animated image.

Replies

  • dg3duy
    Offline / Send Message
    dg3duy polycounter lvl 7

    At the moment, a state is created for each object, and what I’m looking for is that it is only one state with all the objects, as I show in the image.



    </code><div class=" Quote"><code><code>b1 = $Rectangle_002&nbsp;<br> <code>select $TopGreenPoint_???_ctrl_root_point<br><code>b2 = selection as array&nbsp;for i = 1 to b2.count do<br><code>(<br><code>cont = b2[i].pos.controller.weight[1].controller = Float_Reactor ()<br><code>reactTo cont $Rectangle_002.modifiers[#Attribute].CustomAttribute.Mouth_Zip.controller<br><code>)

  • dg3duy
    Offline / Send Message
    dg3duy polycounter lvl 7
    Update and Help!
  • monster
    Offline / Send Message
    monster polycounter
    Huh, I can't get it to work either. But my initial thought is that the way you are setting it up, you can use an instanced controller. It'll be faster that way anyway.
    b2 = getcurrentselection()
    cont = Float_Reactor ()
    
    for i = 1 to b2.count do
    (
    	b2[i].pos.controller.weight[2].controller = cont
    )
    
    reactTo cont $Rectangle_002.AttributeHolder.Mouth_Zip.controller
    In general I avoid Reaction Controllers because they are so slow when you've created an entire character rig. And if you ever need multiple characters in a scene it'll be unuseable.

    If you are only doing 1 to 1 values then Wire Parameters will be much faster, then Script Controllers, then Expression Controller, and finally Reaction Controllers as a last resort.
  • dg3duy
    Offline / Send Message
    dg3duy polycounter lvl 7
    monster said:
    Huh, I can't get it to work either. But my initial thought is that the way you are setting it up, you can use an instanced controller. It'll be faster that way anyway.
    b2 = getcurrentselection()
    cont = Float_Reactor ()
    
    for i = 1 to b2.count do
    (
    	b2[i].pos.controller.weight[2].controller = cont
    )
    
    reactTo cont $Rectangle_002.AttributeHolder.Mouth_Zip.controller
    In general I avoid Reaction Controllers because they are so slow when you've created an entire character rig. And if you ever need multiple characters in a scene it'll be unuseable.

    If you are only doing 1 to 1 values then Wire Parameters will be much faster, then Script Controllers, then Expression Controller, and finally Reaction Controllers as a last resort.
    Thanks for the advice, I decided to do what I was looking for through wire parameters, I completely discarded reaction manager. The code you gave me anyway, I'll try it later, but from what you say about reaction manager it's better to look for another substitute.

Sign In or Register to comment.