Procedural Animation An introduction
What is procedural? Procedural animation is an approach (i.e. a way) to create animation. It is not a style of animation. But the animation created by procedural approach usually have some specific style. 2
Non-procedural modeling How to create this model? Pick a vertex and drag it. Pick another vertex and drag it. Pick another vertex and drag it. Pick another vertex and drag it. Pick another vertex and drag it. 3
Procedural modeling How to create this model? First, I need a ¼ torus. Copy and paste, and then rotate it 180 degrees, I got another side. Merge them together I got the basic shape. The basic shape is then copied to every point on a 16x16 grid, each rotate either 0 or 90 degrees, decided randomly. Finally, I wrap the shape onto a sphere. 4
Non-procedural texturing How to create this texture? Pickup your pen. Paint it. Paint it. Paint it. Paint it. 5
Procedural shading/texturing How to create this texture? First, I need a pattern of strips. Assign yellow and green color to the strips. The pattern is disturbed by a small amount of noise. The pattern is applied on my object, and lastly apply a standard lighting formula, which gives me the basic shading. 6
Non-procedural animation How to create this animation? Set key-frames. Set/modify key-frames. Set/modify key-frames. Set/modify key-frames. Set/modify key-frames. 7
Procedural animation How to create this animation? The first gear will rotate from 0 to 360 degree uniformly. The second gear s rotation is calculated from the first gear s rotation and their radius. The third gear s rotation is calculated from the second gear s rotation and their radius. 8
What is procedural? A Procedure means a black-box, with well defined input and output, for achieving a certain (small) target. Procedural approach means making things by using different procedures that follow in a clearly definite order. Note that the order is not necessary to be linear we will see more examples soon. You define the rules and steps (with a set of input parameters), but not the final outcome. With the rules and parameters, the outcome can always be reproduced (by someone else or by computer). Different parameters give different outcome. 9
Non-procedural approach Need craftsmanship skill. Planning is less important. Just do it. Animator sits in front of the computer, fine-tune here and there, until s/he feels satisfy. Usually cannot reproduce the same result if you ask him/her to do it again. 10
Procedural approach Define the procedures, input and output you need. Express shape and motion algorithmically, as a result of input parameters. Planning is good. How to break the task down into procedures? What should be the input and output? You can write down the steps clearly, reproduce it anytime, or even ask others to reproduce the result. Need logical mind, careful planning, sometimes a little bit mathematics. 11
Advantages of procedural approach Easy to change any input parameters to achieve different effects. Can easily fine-tune the results in front of your client or boss. Can create results in a short time (because computer does much faster than human being). Can test on simple input, and then use complex input for the final result (i.e. good for prototyping). Easy to add, delete, or modify the operations at any stage. Because every steps are recorded down by the procedures. Compare to Maya s construction history? 12
Advantages of procedural approach (cont.) Suitable for: Large amount of geometry, each has its own variation of shape or motion (e.g. a flock of birds) Complicated shape that cannot be created by hand, but well-defined by algorithm/mathematics (e.g. plants and trees). Motions that follow physics (e.g. dynamics and simulation). Motions that are driven by real-world data (e.g. image-driven, audio-driven, or motion capture). 13
Effort/Timeline for both approach Non-procedural Plan Build Modify / fine-tune Procedural Plan Build Modify / fine-tune 14
Both are good I am not saying that procedural is better than non-procedural. Procedural approach can produce something that non-procedural approach cannot easily create, and vice verse. They are complement of each other. A good animation may contain both elements. A good animator should know both approach, and know when to use procedural approach, and when to use non-procedural approach. 15
Spectrum of animation method Actually the boundary between procedural/non-procedural is not a clearcut. The methods to create animation nowadays fall on a continuous spectrum. increasingly procedural Sprite & mesh Bones & skeleton Dynamic & particles AI & behaviors 16
Examples Nearly all animations have some procedural elements. This approach is widely use in the visual effect area. This approach is also used to create abstract style arts or animations. 17
Dice Hitoshi Akayama Kyoto Seika University SIGGRAPH 2005 Electronic Theater 18
Kenneth A. Huff www.kennethahuff.com 997151 19
Floyd Gillis www.floydgillis.com 20
William Latham Evolutionary Art and Computers 21
Tools for procedural approach Designer/Animator designed the procedures, steps, input, output, etc, but those procedures should be implemented by a tool. There are different choices for the tools : computer programming, or; software which workflow fits into procedural idea. 22
The tools we ve chosen To create procedural elements, of course, programming is one of the best tool. However, most students hate/afraid programming. Among existing (3D) software, Houdini is one of the best to practice the procedural idea. Houdini s workflow is based on the procedural paradigm. Reduce the programming effort to minimal. Quickly provide most common 3D elements, such as basic shape, particles, basic rendering, etc. 23
Assessment (15%) Attendance (85%) 4 short animation assignments (less than 15 seconds each) on selected sub-topics. I don t mind you having some nonprocedural elements in the animation (say, key-framing, models created from Maya, or painted texture), but the grading will mainly based on the procedural elements. 24