Procedural Animation Experiment #2, Snake
Another Animal has added to the procedural Zoo. The Snake... generally it's rig is done using a basic setup, just a spline IK solver, then you use the percent of the path constraint to animate the movement along the spline, pretty basic and with enough control, but i wanted to make a more interesting approach making it more procedural... you now... less work to do when you are animating it.
In this Rig the snake is only controlled by one Object (Main_control) Which defines the trajectory of the snake... and that's it, all the rest of the animation is done by the rig. But, the animator can control others parameters of the movement of the snake as well.
Let's take a look:
In this Rig the snake is only controlled by one Object (Main_control) Which defines the trajectory of the snake... and that's it, all the rest of the animation is done by the rig. But, the animator can control others parameters of the movement of the snake as well.
Let's take a look:
As you Can see in the video the snake is doing a sort of wave movement in regards of the trajectory of the Main_control, the wave was done using a spline that has a Ripple modifier on it, and the snake trajectory has a Spline Ik Solver with that spline as target. To Make the snake follow the movement of the Main_Helper i programmed a Spline Object Called "Trajectory", this object creates a spline that traces the movement of the target. It was pretty useful to deform the snake along the trajectory of the Control_Main, and actually is not expensive in viewport as i though it could be.
I'm using two Ripple modifiers to control each half of the snake, the effect is blended between those. The phase of the Ripple modifiers is wired to the percent of the target along its path to bring the snake to life.
Currently the Ground system is not implemented because it has some problems when the wave movement is too wide, but... i'll try to come up with a solution soon. i am thinking to make a more natural wave movement of the snake using only rotations of the bones instead of a Ripple-spline, and Also... it should be very useful to blend the procedural movement with Hand animation, because sometimes the animator will want to have absolute control of the snake body.
I'm using two Ripple modifiers to control each half of the snake, the effect is blended between those. The phase of the Ripple modifiers is wired to the percent of the target along its path to bring the snake to life.
Currently the Ground system is not implemented because it has some problems when the wave movement is too wide, but... i'll try to come up with a solution soon. i am thinking to make a more natural wave movement of the snake using only rotations of the bones instead of a Ripple-spline, and Also... it should be very useful to blend the procedural movement with Hand animation, because sometimes the animator will want to have absolute control of the snake body.