"Simulating Crowd-Motion using Behavioural Animation"

"Simulating Crowd-Motion using Behavioural Animation" is title of my diploma for the grade of Diplom Informatiker (FH) at the University of Applied Sciences Dortmund which I successfully completed in May 2000. You'll find the paper on the topic , the implementation of the findings and some sample animations generated with my software. This work is heavily based on the findings of Craig W. Reynolds, the man who released papers on behavioural animation first and inspired people to use such techniques in films like "The Lion King" (Disney) or "Jurassic Park" (Universal) to animate crowds. Visit his website, it is an excellent starting point for many highly interisting topics of computer graphics and artificial intelligence.
Check out my work and I'd be happy to hear your comments and critics. You are free to use everything for personal or educational use. If you want to earn money with this, please contact me and we'll surely come together.

Creating computer animated crowd scences for use in film, television and other media is an area, where traditional techniques used in computer animation can only be used with great difficulties. This paper deals with one possible approach for creating these kinds of scenes at relativly low expense: Behavioural Animation. A implementation model is presented, based on so called autonomous agents, their physical properties and steering behaviours. It is examplary implemented in the simulation software bugz, including an interface to the animation packages Maya 2.5, Lightwave 6.0 and Cinema 4D XL.

download - Diploma "Simulation von Gruppenbewegungen durch Verhaltensgesteuerte Animation"
(Adobe Acrobat PDF, 547 KB, German version available only)
  - UML Class-Modell  (GIF, 30 KB)

bugz is a standalone behavioural animation system.With bugz you can create autonomous characters, change their physical attributes and apply various predefined steering-behaviours (you can even change them over time by using so called "triggers"). Finally you are able to create nice looking crowd motions by simulating their interaction in a 2d-world. Besides pure viewing pleasure, the motion data can be used in a computer animation package (plugins are provided).

In case you are interested in source code, you'll find the code for the most important functions at the end of my paper. If you are intersted in the whole code, feel free to contact me.

download - bugz 1.0 win (ZIP 380 KB)
incl. example simulations and import scripts for Maya, Lightwave, Cinema4D XL
  - bugz User Manual (Adobe Acrobat PDF, 191 KB, English)

All sample animations were created using bugz, Lightwave 6.0 and Cinema 4D XL 5.0.

Seek-behaviour causes the bugs to align their orientation towards the specified target. If a bug continues to seek, it will pass through the target, then turn back to seek it again.
ObstacleAvoidance: Circle
Bugs try not to crash in the circle by checking if they'd hit in in the future and if so, steer away from the circle.
Bugs with this behaviour will try to approach and form a group with other nearby bugs by heading for the average position of these bugs.

ObstacleAvoidance: Group
A example of a combination of various steering beaviours: Seek makes the bugs move in one direction, separation prevents them from crowding together, cohesion keeps the group together, obstacle avoidance helps them not to crash in the box.


Bonus: Fireflies
All the bonus animations are examples of autonomous agents seeking (moving) targets using the MothSeek behaviour, which causes a bug to move around a target in elliptical paths, much like a moth seeking a light bulb.

Bonus: Flies

Bonus: Fish