Fraunhofer-Gesellschaft

Publica

Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Animation von Avataren bei physikalisch basierten Kleidungssimulationen

 
: Freund, F.
: Luckas, V.; Fuhrmann, A.

Darmstadt, 2003, 45 S.
Darmstadt, FH, Bachelor Thesis, 2003
Deutsch
Bachelor Thesis
Fraunhofer IGD ()
physically based modeling; Collision Detection; cloth simulation; animation; virtual try-on

Abstract
In der vorliegenden Arbeit wird ein Verfahren zur Kollisionserkennung zwischen stark deformierbaren Stoffen und bewegten Avataren innerhalb einer physikalisch basierten Simulation vorgestellt. Dazu wird eine frühere Arbeit zur Kollisionsbestimmung mit Hilfe von Distanzfeldern erweitert um auch mit dynamischen Szenen arbeiten zu können. Für die Speicherung der Animationen wurde ein eigenes Dateiformat spezifiziert. Die erstellten Animationen können dabei in eine Schleife übergehen um lange Bewegungsabläufe darzustellen ohne allzu große Datenmengen zu erzeugen.
Die Kollisionserkennung erfolgt durch die Interpolation der in den Distanzfeldern abgelegten Abstände zur Geometrie des Avatars. Dazu werden für alle Keyframes der Animation die Distanzen vorberechnet und zur Laufzeit linear interpoliert. Die Bestimmung des aktuellen Frames erfolgt dabei über die verstrichene Simulationszeit und die Frequenz der vorgegebenen Keyframes. Allerdings müssen zusätzlich zur Interpolation einige Sonderbetrachtungen gemacht werden um Fehler zu vermeiden.
Die sogenannten "Gürtel"-Partikel werden benutzt um ein langsames weggleiten der Hose oder des Rockes durch die Einwirkung der Gravitation zu verhindern. Diese werden dazu mit Hilfe der Baryzentrischen Koordinaten relativ zum Avatar fixiert. Sie erhalten eine unendliche Masse um ihren Nachbarpartikeln als Halt zu dienen. Dadurch wird auch erreicht, dass auftretende Kräfte keinerlei Beschleunigung auf diese Partikel haben und so deren Position verändern können.
Um Kollisionen der sogenannten "kritischen" Partikel zu vermeiden werden diese ebenfalls gesondert behandelt, da sie durch ihre Nachbarn nach der Kollisionsantwort eventuell wieder in einen Kollisionszustand verschoben würden. Deshalb werden interne Federkräfte so berechnet das nur die unkritischen Partikel nach der Kollisionsantwort verschoben werden. Außerdem werden alle "kritischen" Punkte in Bewegungsrichtung verschoben, um die Anzahl der entstehenden Kollisionen zu vermindern. Dazu wird die Verschieberichtung aus den beiden umschließenden Keyframes errechnet.
Schließlich wurden mehrere Klassen in Java implementiert und in das bestehende System "Virtual TryOn" integriert um das vorgestellte Konzept zu überprüfen und auf seine Geschwindigkeit und Stabilität zu testen.

 

This Bachelor thesis deals with collision detection between clothing and moving avatars during a physically based simulation. A former thesis using distance fields to detect collisions is adjusted to work with dynamic situtations. A new file format to save animations has been specified. Generated animations may step into a loop to show longer motions without producing huge amounts of data. Collison detection is performed by interpolating the distance fields which hold the distance to the geometry of the avatar at a given time. These distances are precalculated for all keyframes of the animation. Elapsed simulation time and the frequency of keyframes is used to detect the current frames and their interpolation. In addition to the interpolation some special cases must be examined to avoid errors.
So-called "belt"-particles are used to prevent the trousers from floating down through the influence of gravity. These particles are fixed relatively to the avatar using relative coordinates. "Belt"-particles are given an infinite mass to make them a fixed point to there neighbors. This also prevents extern forces from changing their velocity and consequently their position.
So-called "critical" particles are also treated differently, because these particles might be pulled back into a state of collision by there neighbors after collision response. Internal spring forces between particles are adjusted so that only uncritical particles are moved after the collisionresponse. In addition all "critical" particles are moved along the direction of movement to reduce the number of collisions. This direction is determined by the difference of the jointpoints in the keyframes.
To validate the above concept and test it's stabilty and performance different Java classes have been implemented and integrated into the existing "Virtual TryOn"-Prototyp.

: http://publica.fraunhofer.de/dokumente/N-19299.html