24 June, 2012

GroupConstraint Intro Demo!

Finally, here is a demo of the dynamic multi-way constraint system that I have been working on.

Following are some of the features of this constraint system:

  1. Multi-way constraint allows invertible relationship without cycle issues.
  2. The driver of the system can be animated.
  3. Only one keyframe required for switching the driver.
  4. All the follower nodes can be animated while constrained by driver of the system.
  5. Auto matching for drivers at switching frames to avoid popping nodes effect.
  6. Current driver indicator.

Your feedback is welcome! :)

GroupConstraint Intro Demo from Maulik Kataria on Vimeo.


  1. that looks cool. is there a complex node tree when creating the group constraint?
    also are you intending on releasing this to the public?

  2. Good job maulik, Do you still use callback to tame keyframe value change on your object?

  3. Very impressive! nice work,

    Whats going on with the rotation on the last switch - looks like your getting gimbal? Im still getting the hang of maya, i'll have to try and convert mine to Maya some day!

  4. Thanks for the comments guys!

    It's a single custom node that does all the work, however I might split it later if I need to reuse some parts of it. I have thought of releasing it, but since it's not tested thoroughly I will see how it goes.

    Yes, callback system is still being used for taking care of updating offsets. This will allow the compute to be faster when user scrubs the timeline or do the batch rendering I believe.

  5. Cool stuff ! Glad u finished it. :) I am curious how u are handling animation changes. I find that is the toughest to resolve in such a system.

    1. Thanks JS :)
      I think the difficult part was to update all offset related info when the nodes are keyed so that there is no pop at the switching frames. I have a generic animation callback that checks if keying something affects my current node, and if it does I recalculate the values for offsets. Keying driver turned out to be easier than I thought.

  6. Hey Maulik,

    that looks great! It would be really cool if you released it. A good demo for it would be animating a rubik's cube!

    1. Thanks Mark. It's funny I also thought about Rubik's cube for a demo. GroupConstraint would work for that problem, but I didn't see the bi-directionality in that example. To me it's just dynamic space switching with some rules.

      About releasing, I have it in my mind but I would really like to polish it and do beta testing before releasing it. Once my demo reel is done, I am planning to do that.