Notifications
Clear all

[Closed] bi directional constraining

Has anyone by any chance implemented the Autodesk Maya Masterclass “Bi Directional Constraining” by ILM´s Tim Naylor and Andrea Maiolo for 3dsmax? Im proficient with maxscript but this one requires the use of the sdk probably so im quite not up to the task yet.
It would would be greatly appreciated if someone would like to port this to max!

7 Replies

nop, i was surfing for same thing. but i think, in 3dsmax, due to list controllers its possible even without going to SDK. specially PAUL NEALE facial rigging DVD. he shows how he manage face muscle / controller structure. where you move one control on lips and relative cheeks controller moves as well and vice versa.
i actually write a script to speed up that for common use. but still having a constraint won’t be bad.

 eek

Instancing controllers via $.attribute.controller = target.attribute.controller or via weak referencing using layered list controller will do what your asking. I.e putting two list controllers on two points, then in those controllers a script_controller then a bezier_postion. Having each points script controller weak referencing the other objects bezier “2” position controller. (with one having the offset difference)

cheers,

thanks eek, ill try this immediately!

I thought… “Bi Directional Constraining”, was something like multi pivots…

1 Reply
 eek
(@eek)
Joined: 11 months ago

Posts: 0

it depends – you could have one object controlling another and vice versa and there bi-directionally controlling each other. For pivots you just changing the transform space of an object with an ‘offset’ to compensate.

All of this is a little complex to do – what makes it really hard is making it intuiative to the user/animator. Some the ILM paper doesnt handle all that well – but its a step in the right direction.

interactively works nicely,and it is not difficult, I suppose similar to the new“working pivot” in max2008

I’ve tested ideas, trying to control the user interactivity or even the keys, but nothing of this seems correct, because max basically acts in 2 ways ‘interactive’ and ‘animation’. and somehow if you control interactivity, that means that a more dense script has to be flawless, because if the user does something that is not supposed, everything breaks.

I understand when you say it is compex. and when I think about multiple pivots, I can only imagine a single pivot, that you move and key in the trackbar like anything else. without the need of special keys. or even without the need of an offset position saved somewhere. but it sounds impossible. I know.
·

 eek

Think about how max treats a standard mesh, with the world, transform and offset matrix. Understanding these, will allow you to do some very powerful things – its what a lot of riggers etc skip but its the bare bones of it all.

Free form constraining, is essentially changing the parent space of an object like the link constraint essentially. If you think of it as 2 ever growing dynamic arrays – one for time and one for object. All you doing is populating them both with a space at a time, and using some sort of system checking callbacks when handlers to determine – its tricky though and this would be messy to implement. Would be better with some c++