Simulation, animation and rendering of crowds in real-time

Nowadays crowd simulation is becoming more important in computer applications such as building evacuation planning, training, videogames, etc., presenting hundreds or thousands of agents navigating in virtual environments. Some of these applications need to run in real time in order to offer complete interaction with the user. Simulated crowds should seem natural and give a good looking impression to the user. The goal should be to produce both the best motion and animation, while minimizing the awkwardness of movements and eliminating or hiding visual artifacts. Achieving simulation, animation and rendering of crowds in real-time becomes thus a major challenge. Although each of these areas has been studied individually and improvements have been made in the literature, its integration in one real-time system is not straight forward. In the process of integrating animation, simulation and rendering of real time crowds, we need to assume some trade-offs between accuracy and quality of results. The main goal of this thesis is to work on those three aspects of a real-time crowd visualization (simulation, animation and rendering) seeking for possible speed-ups and optimizations allowing us to further increase the number of agents in the simulation, to then integrate them in a real-time system, with the maximum number possible of high quality and natural looking animated agents. In order to accomplish our goal we present new techniques to achieve improvements in each one of these areas: In crowd simulation we work on a multi-domain planning approach and on planning using footsteps instead of just root velocities and positions; in animation we focus on a framework to eliminate foot sliding artifacts and on synthesizing motions of characters to follow footsteps; in rendering we provide novel techniques based on per joint impostors. Finally we present a novel framework to progressively integrate different methods for crowd simulation, animation and rendering. The framework offers level-of-detail for each of these areas, so that as new methods are integrated they can be combined efficiently to improve performance. Avui dia la simulació de multituds està agafant importància en aplicacions per computador, com la planificació d'evacuacions d'edificis, entrenament, videojocs, etc., presentant centenars o milers d'agents navegant en entorns virtuals. Algunes d'aquestes aplicacions necessiten ser executades en temps real per poder oferir una interacció completa amb l'usuari. Les multituds simulades han de resultar naturals i fer una bona impressió a l'usuari. L'objectiu ha de ser produir a la vegada tant els millors moviments com la millor animació, mentre es minimitzen els moviments estranys i s'eliminen o amaguen defectes visuals. Aconseguir la simulació, animació i visualització de multituds en temps real esdevé llavors un repte major. Encara que cadascuna d'aquestes àrees ha estat estudiada individualment i que s'han fet millores en la literatura, la seva integració en un sistema en temps real no és directa. En el procés d'integrar l'animació, la simulació i la visualització de multituds en temps real, necessitem assumir alguns equilibris entre la precisió i la qualitat dels resultats. El principal objectiu d'aquesta tesi és treballar en aquests tres aspectes de les multituds en temps real (simulació, animació i visualització) buscant possibles acceleracions i optimitzacions que ens permetin augmentar encara més el nombre d'agents simulats, per després integrar-los en un sistema en temps real, amb el màxim nombre possible de personatges d'alta qualitat i d'aspecte natural. Per aconseguir el nostre objectiu presentem noves tècniques per obtenir millores en cadascuna d'aquestes àrees: En la simulació de multituds treballem en una aproximació on es planifica en múltiples dominis, i en una planificació fent servir petjades en comptes de només velocitats i posicions dels personatges; en animació ens centrem en una arquitectura per a eliminar els problemes de lliscament dels peus i en sintetitzar els moviments d'un personatge perquè segueixi petjades; en visualització aportem noves tècniques basades en impostors per articulació. Finalment presentem una nova plataforma per a integrar progressivament diferents mètodes per a la simulació, animació i visualització de multituds. La plataforma ofereix nivells de detall per a cadascuna d'aquestes àrees, de manera que a mesura que s'integrin nous mètodes, aquests puguin ser combinats de forma eficient per a millorar el rendiment.