Artwork > Finished Works and Works in Progress

Procedural animation

<< < (2/2)

Raxx:
Very nice! Simple, but I don't think it's been done in Anim8or. Gives me an idea for the theme of the next Anim8or challenge...

ENSONIQ5:
Nice work dwsel, but I warn you, scripting is addictive!  The link below is to a steam engine I built a while back in Anim8or where all the motion (other than the camera) is scripted.  Each script derives its 'speed' factor from the size of a sphere that is not visible, so by just changing the size of the sphere you can change the speed of the engine.  In this video the sphere is keyframed to slowly expand, hence the engine accelerates.



And that is the real power of controller scripts for animation.  Things like rotations can be difficult to keyframe smoothly, and once keyframed their speed is fixed.  With controller scripts you are using mathematical formulae to define a change to an object (size, position, orientation, morphs, etc.) so they are precise, and easily adjusted.

dwsel:

--- Quote from: Raxx on November 14, 2011, 09:40:50 pm ---Very nice! Simple, but I don't think it's been done in Anim8or. Gives me an idea for the theme of the next Anim8or challenge...

--- End quote ---

Hehe, I'm already curious ;)



--- Quote from: ENSONIQ5 on November 15, 2011, 02:10:32 am ---Nice work dwsel, but I warn you, scripting is addictive!  The link below is to a steam engine I built a while back in Anim8or where all the motion (other than the camera) is scripted.  Each script derives its 'speed' factor from the size of a sphere that is not visible, so by just changing the size of the sphere you can change the speed of the engine.  In this video the sphere is keyframed to slowly expand, hence the engine accelerates.



--- End quote ---

How long did it take for you to make this fully animated engine? It looks really complex. And well.. this is perfect example of what should be scripts used for.

I was thinking about using animation scripts for something more organic, like for example a structure moving and morphing in the rhythm triggered by background music, or behave like an oscilloscope or spectrum analyzer (for given previously analyzed and prepared tabbed data).

ENSONIQ5:
The modelling obviously took a while, I don't recall how long, but the scripting was actually quite quick, maybe a couple of hours.  There are only four basic scripts used:

1) Rotation.  This affects the propeller, crankshaft, and planetary gearbox elements.
2) Rotational oscillation.  This is a modified rotation script that rotates an object less than 360 degrees in one axis, then the same amount in the other direction around the same axis.  An example might be a pendulum on a clock.  In this model, the valve rockers are animated with this script.
3) Positional oscillation.  This script is similar to the rotational oscillation but is applied to an object's position rather than orientation, so lateral motion is achieved.  This is applied to the valve pushrods.
4) Morph oscillation.  Similar to the rotational and positional oscillation, this script oscillates a morphing object, in this case the valve spring compression (I imagine this is what you used in your video, assuming the motion is achieved by morphs).

The scripts are then applied to each element, with adjustments made to the 'phase' of the sine/cosine operations behind the movement to ensure each element is correctly synchonised.  Some elements use multiple scripts, for example the piston connecting rods move with both lateral and rotational oscillations (astute readers will notice that conrod motion is not strictly sinusoidal due to the shifting angle of the conrod... I have cheated a bit and stuck to pure sine to keep it simple, since the fault is not visible in the animation).

I am happy to post the scripts themselves (in a new thread so as not to hijack yours) with some explanation of how they work, if anybody is interested.

EDIT: Love your ideas of morphing organic structures to music, that just sounds awesome!

Navigation

[0] Message Index

[*] Previous page

Go to full version