Real-time 3D skeletal animation and mesh skinning

Ribeiro da Costa, Nuno Miguel (2016) Real-time 3D skeletal animation and mesh skinning. Bachelor thesis, Scuola Universitaria professionale della Svizzera italiana (SUPSI).

[img] Slideshow
poster_NunoMiguel_RibeiroDaCosta.ppt

Download (1MB)

Abstract

Questo progetto si è posto l’obiettivo di affrontare due argomenti specifici della computer grafica moderna: il mesh skinning e la skeletal animation. Per lo sviluppo del progetto si sono utilizzati due motori grafici, uno personale all’interno del quale implementare i primi esempi in modo da familiarizzare con gli argomenti trattati e poterli implementare in un ambiente conosciuto, in seconda battuta l’implementazione è passata all’interno di un engine offerto dal relatore, questa seconda implementazione è risultata più robusta e implementata secondo le convenzioni impostate dal relatore. Si è studiato il funzionamento dello skinning e le varie tecniche di deformazione di mesh, in maniera particolare linear blending e dual quaternion blending. Questo studio è stato necessario per poter risolvere problemi di perdita di volume sulle articolazioni durante la rotazione che avviene utilizzando la tecnica del linear blending. L’utilizzo dei dual quaternion ha permesso la soluzione di questi problemi. La seconda fase è consistita nello sviluppo di un nuovo plug-in per 3D Studio Max per poter esportare informazioni riguardanti le animazioni, questo tool ha poi permesso di poter animare oggetti 3D all’interno di un motore grafico messo a disposizione del relatore. È stata posta particolare attenzione sul modo col quale venivano riprodotte le animazioni, utilizzando un metodo di interpolazione fra un frame e l’altro per ottenere un risultato fluido anche a framerate bassi. Nonostante le limitazioni dei quaternioni duali, cioè l’impossibilità di aggiungere trasformazioni di scaling alle animazioni è stato comunque possibile implementare un sistema di animazione completo e senza problemi di candy-wrap. English version This project’s objective is to face two specific topics of modern computer graphics: mesh skinning and skeletal animation. To develop this project two different graphic engines have been used, a personal one on which to implement some first examples and attempts to get acquainted with the topics and implement them in a known environement, on a second phase the implementation was focused on a graphic engine implemented by the supervisor, this second implementation had to be more robust and respect the supervisor’s conventions. It has been studied how skinning works and various techniques to deform meshes, particularly linear blending and dual quaternion blending. This study has been necessesary in order to solve the problems of volume loss around joints while rotating them that happens while using linear blending. Using dual quaternions solved this problem. A second phase of this project was the implementation of a 3D Studio Max plug-in to export information about the animations of a scene, this tool ha made it possible to animate objects inside the supervisor’s graphic engine. Particular attention has been put on the way that the animation were played, interpolating between keyframes to achieve a more fluid animation even at lower framerates. Despite the limitations on dual quaternions which make it impossible to represent scaling trasformation while animating an object it has still been possible to implement a complete animation system without candy-warp problems.

Item Type: Thesis (Bachelor)
Subjects: Informatica
Divisions: Dipartimento tecnologie innovative > Ingegneria informatica
URI: http://tesi.supsi.ch/id/eprint/934

Actions (login required)

View Item View Item