How does the
deformation scene work
Starting with the plane deformation:
Amelie can be used to deform any object. To do
so, you need to apply a texture deformation and select Amelie as
the procedural texture. Texture deformation means where the texture
has the value of 0 (black) no deformation will be done, the higher
(1 or greater) the value of the texture will be further will be
pushed the object point.
As the deformation of the plane depends of the
distance between the plane point and the object. So the first thing
we need to calculate is the distance between 2 points. Here you
need some math background. Pythagoras gives us some hints for that:

That's mean if we have a length A and B and we
want to calculate C we need to make C=SQRT(A*A+B*B) this formula
work also in 3D (hopefully), so it will be D=SQRT(A*A+B*B*C*C).
This is exactly what does our user element "Distance to point".
Now we have a distance between a coordinate on
the plane and the sphere object. All we need to find is some formula
that give us some higher deformation near 0 (0 means the sphere
is exactly at this coordinate) and less deformation further away.
I choose to use arctangent as you may see that this function makes
some sort of nice shape (use the help to see the shape of some function).
I know that it make a spike just under the sphere, but this is not
directly a problem because we are looking above the plane and the
sphere hide us this detail :-)
After some tweaks to get exactly the needed shape
you end up with the expression included in the scene.
Rotate the sphere:
The sphere rotation is done simply by calculating
the distance travelled by the sphere (1 element) and giving that
number to a macro that calculate the rotation given a distance and
the radius of the object. Just need to set the "Align to path"
in the Heading controller and you are done. |