An Automata-based Animation Engine to Control Articulated Characters Jos´ e Diego Ferreira Martins , Luciana Porcher Nedel , Paulo Fernando Blauth Menezes , Fernando Accorsi Instituto de Informtica - Universidade Federal do Rio Grande do Sul Caixa Postal 15.064 - 91.501-970 - Porto Alegre - RS - Brasil Universidade Norte do Paran´ a, Centro Polit´ ecnico, Londrina, RS, Brasil jdfmartins,nedel,blauth @inf.ufrgs.br, fernando.accorsi@prof.unopar.br Abstract. It is a hard task to produce animation involving human-like figures due to behavior planning and choreographing movements with many degrees of freedom. In this paper, we explore the use of finite automata with output as a framework to specify the motion of articulated figures at the joints level. This approach permits us to assign each graphical transformation of the actor to a symbol belonging to the output alphabet, giving free output configuration and reusability. Another advantage of this method is it provides information retrieval from the current state of the automata. Results were obtained using the Java3D engine, generating real time animations on web-browsers. 1. Introduction The main goal of computer animation is to synthesize the desired motion effect which is, in fact, a mixing of natural phenomena, perception and imagination. The animator designs the dynamic behavior of the objects using his mental representation of causality. He imagines how it moves, gets out of shape or reacts when it is pushed, pressed, pulled, or twisted. So, the animation system has to provide the user with motion control tools able to translate the animator wishes from his own language [Thalmann and Thalmann, 1996]. In animations involving human-like figures this task is yet more complicated. As in the general case, the animator has to plan the high level behavior of each actor in the virtual environment. Additionally, he may also actuate as a choreographer, taking care of all the details involving the skeleton movement. As a human skeleton has about 200 degrees of freedom and an animation sequence is rarely composed by just one character, it is definitely a hard task to produce this kind of animations. To simulate the behavior of the human beings, we consider a system implemented in 4 levels. The lowest one deals with the rotation of each joint. The intermediary level is responsible for encapsulating composed movements that bring together a set of single joint motions. These movements represent simple tasks (e.g. stand-up, sit-down, take something, give a step) that used together can provide a higher abstraction level, so called behaviors (e.g. open the door, walk from one position to another one, etc). Finally, the higher abstraction motion level we are considering is the cognitive level. In this level, a