No, this thread is not about rhyming to rap music :D. I am interested to know possible ways of implementing scripted behaviour in animations.
How to explain it better? Let’s imagine the following scenarios:
A character moves in front of an automatic door, the door opens.
A rigid body (a ball) presses a floor tile and trigerring a particle effect.
A switch is trigerred the light is ON
This way animators will not have to achieve animation sequences with the precision of time but letting the animated objects interact by themselves or with the world based on specific rules they set.
More or less a similar behaviour could be implemented in the Game Engine, but in this case it specific to animation. Have you got any ideas? Is it a common technique? Is it used often?
It’s easier to animate by hand, unless you are working on a game where said movement happens often. But why would you use a rigid body to trigger a switch? Everything you mention sounds like a game.
Those particular examples, I agree with the above comments. But to answer your more general question, yes, this is done all the time, but usually when something warrants it. One of the big changes in 2.5x was that everything is animatable. There was this functionality in 2.4x but it has been made more uniform across the program in 2.5x.
So yes, you could have a light come on tied into the rotation or position of a switch and so on.
The reasons not to do something by hand are when you are making changes to the controller and you want this automatically updated in the item so that each time you edit the controller you don’t have to also edit the item. This would be a time saver.
Another example is if you have several items you wan to control only once. For example several lights you want to fade in at the same time. They could all be driven by an empty and you can then just tweak the fade using one item rather than having to go in and made the changes to each light.
Another possible solution for simulating a crowd animation. Mostly comes handy in large number of objects to be animated, where manual animation is not productive.