40
Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Embed Size (px)

Citation preview

Page 1: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Soutenance de TEREncadrant : Eric Languénou

jeudi 2 juin 2005 SOAP

GOURAUD Benjamin,

GUITTENY Fabrice,

PERE Sabine

Master 1 informatique

Page 2: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Introduction (1)

Idée originale : mouvements de caméras souvent limités des Soap-opéras

Outil simple et rapide pour créer des séquences animées

S'inspire des storyboards de films pour décrire une scène

Scènes réalistes du point de vue des mouvements des personnages et de caméra

Page 3: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Introduction (2)

Page 4: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Plan Général

I- Présentation du travail demandé

II- Principes de fonctionnement

III- Exemples et analyse de séquences animées

Page 5: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Plan Général

I- Présentation du travail demandé1- Travail demandé et existant2- Schéma général de Soap3- Organisation et découpage du travail

II- Principes de fonctionnement

III- Exemples et analyse de séquences animées

Page 6: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

I1- Travail demandé et existant

Langage utilisé : C++

Travail demandé : moteur du logiciel

Non demandé : interface graphique

Existant : plusieurs applications

Page 7: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

I2- Schéma général

Interfacegraphique

FichierXML

FichierPOV

Moteur deSOAP

Rendu dela scène

Page 8: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

I3- Organisation et découpage du travail

Définition des spécifications du fichier XML et réalisation d'un parser

Intégration des données dans la structure Soap2D

Exportation vers la structure Soap3D Calculs de projections vers la 3D

Utilisation d'un solveur de contraintes

Utilisation de NURBS

Génération de fichiers POV Interprétation de la structure 3D

Calcul des images

Création de l'animation

Page 9: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Plan Général

I- Présentation du travail demandé

II- Principes de fonctionnement1- Parser XML2- Passage de la 2D à la 3D3- Passage de la 3D à l'animation

III- Exemples et analyse de séquences animées

Page 10: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II1- Parser XML : la scène

<?xml version="1.0" encoding="ISO-8859-1"?><scene>

<nom>scene1</nom> <ouverturex>12</ouverturex> <ouverturey>33</ouverturey> <plan>

<a>12</a> <b>15</b> <c>18</c> <d>0</d>

</plan>

...

Regroupe l'ensemble des informations

Page 11: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II1- XML : les personnages

<personnages> <perso nom="jeannot" taille="1" couleur="255 50 100">

<pointspassages> <pt x="0" y="0" r="0.02"> <deplacement> <allure>marche</allure> <tete>10</tete>

<corps>30</corps> </deplacement>

</pt> <pt x=“0.5" y=“0.5" r=“0.08">

<deplacement> <allure>course</allure> <tete>15</tete> <corps>15</corps>

</deplacement> </pointspassages>

...

Page 12: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II1- XML : les synchronisations

<synchro> <synpt pers1="jeannot" numpt1="0" typsync1="arrivee" pers2="pierrot" numpt2="1" typsync2="arrivée"/> <synpt pers1="pierrot" numpt1="1" typsync1="depart" pers2="jeannot" numpt2="2" typsync2="départ"/></synchro>

Synchronisation entre deux personnages uniquement

Deux types de synchronisation disponibles

« arrivée »

« départ »

Page 13: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Exemple de spécification du mouvement de la caméra :

Uniquement des mouvements panoramiques

II1- Parser XML : la caméra (1)

Page 14: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

... <camera x="0.5" y="0.5" ratio=“1.33">

<pointcamera><pos theta="10" phy="30"> <ouvx>0</ouvx> <ouvy>23</ouvy></pos><pos theta="50" phy="20"> <ouvx>10</ouvx> <ouvy>20</ouvy></pos>

</pointcamera> <synchrocam>

<syncampt pers="jeannot" poscam="2" pospers="1" typsync="arrivée"/><syncampt pers="pierrot" poscam="4" pospers="4" typsync="départ"/>

</synchrocam> </camera></scene>

II1- Parser XML : la caméra (2)

Le ratio de l’image est fixe

Position fixe

Points de passage : 2 angles et zoom (en

fonction de l’ouverture en x et en y)

Page 15: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- Passage de la 2D à la 3D

Calcul du point 3D (X,Y,Z) à partir du point 2D (x,y)

)tan(..

)tan(..

)tan(.

yyZY

xxZX

xr

RZ

Rayon de la sphère englobante du personnage

Rayon du disque englobant du point

de passageOuverture horizontale

Ouverture verticale

Page 16: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : Solveur de Contraintes

Solveur utilisé : Realpaver Principe :

En entrée : un fichier texte contenant le CSP (système de contraintes)

Les constantes Les variables et leur domaine Le système de contraintes

En sortie : un fichier texte contenant les résultats

Page 17: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : solveur de Contraintes, exemple de fichier de contraintes

Constants p00_arriv=0, p00_p01=31.5636, p01_p02=3.79875, p02_p03=1.2, p03_p04=1.2;

Variables p00_dep in [0,+oo[, p01_dep in [0,+oo[, p01_arriv in [0,+oo[, p02_dep in [0,+oo[, p02_arriv in [0,+oo[, p03_dep in [0,+oo[, p03_arriv in [0,+oo[, p04_arriv in [0,+oo[;

Constraints p00_dep>=p00_arriv, p01_arriv=p00_dep+p00_p01, p00_dep=p00_arriv, p01_dep>=p01_arriv, p02_arriv=p01_dep+p01_p02, p01_dep=p01_arriv, p02_dep>=p02_arriv, p03_arriv=p02_dep+p02_p03, p02_dep=p02_arriv, p03_dep>=p03_arriv, p04_arriv=p03_dep+p03_p04, p03_dep=p03_arriv;

Page 18: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : solveur de Contraintes, exemple de fichier de résultats

RealPaver v. 0.4 (c) LINA 2004INITIAL BOX

p00_dep in [0 , +oo[ p01_dep in [0 , +oo[ p01_arriv in [0 , +oo[ p02_dep in [0 , +oo[ p02_arriv in [0 , +oo[ p03_dep in [0 , +oo[ p03_arriv in [0 , +oo[ p04_arriv in [0 , +oo[

OUTER BOX 1 p00_dep = 0 p01_dep in [31.5636 , 31.5636] p01_arriv in [31.5636 , 31.5636] p02_dep in [35.36234999999999 , 35.36235000000001] p02_arriv in [35.36234999999999 , 35.36235000000001] p03_dep in [36.56234999999999 , 36.56235000000001] p03_arriv in [36.56234999999999 , 36.56235000000001] p04_arriv in [37.76234999999998 , 37.76235000000001]

precision: 2.84e-14, elapsed time: 0 msEND OF SOLVING Property: reliable process (no solution is lost) Elapsed time: 0 ms

Page 19: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : Interpolation avec les NURBS

But : rendre les trajectoires des personnages

plus élégantes, fluides et réalistes Prendre en compte les accélérations et

décélérations lors d'un changement d'allure

Adoucir les rotations du corps et de la tête

Accentuer la fluidité des mouvements de caméra et du zoom

Page 20: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : Linéaire vs Nurbs

Linéaire

Nurbs

Utilisation des points clés

Méthode de globale interpolation

Trajectoire moins saccadée

Page 21: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : Interpolation

Réalisée à la manière d'une boîte noire Autonome du reste du logiciel Soap Réutilisation possible pour d'autres applications

Page 22: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : Utilisation des Nurbs (1)

Exemple : Interpolation de la vitesse

Page 23: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II2- 2D en 3D : Utilisation des Nurbs (2)

Autre interpolations : Angle du corps Angle de la tête Angles de rotation de la caméra Zoom

Page 24: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

II3- Passage de la 3D à l'animation

Calcul de la durée totale de la scène Itération sur le temps

Toutes les n secondes, génération d’un fichier POV

Récupération des informations à l’aide de l’interpolation

POV vers PNG (POV-Ray) Animation

Page 25: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Plan Général

I- Présentation du travail demandé

II- Principes de fonctionnement

III- Exemples et analyse de séquences animées

1) Analyse du processus d’animation2) Exemples de séquences

Page 26: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III1- Analyse du processus d’animation

Story-board

Page 27: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III1- Analyse : Du fichier XML à la 3D

FichierXML

Soap2D

parser

Soap3DSoap

Interpolation

Realpaver

Génération de fichiers POV

SoapContraintes

Page 28: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III1) Analyse : Nurbs associées :

Courbe de la vitesse du premier personnage

point1

point2

point3

point4

point5

Accélération jusqu’à la vitesse de marche

Page 29: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III1) Analyse : fichiers POV-Ray

#version 3.1global_settings { assumed_gamma 2.2 }#include "colors.inc"#include "textures.inc"#include "skies.inc"#include "bonhomme.inc"camera {up <0.0, 1.0, 0.0> right <1.33, 0.0, 0.0>location <0,0,0> angle 90 rotate <0,0,0> rotate <0,0,0>}sky_sphere { S_Cloud1 }light_source {<10,11,12> color rgb<255,255,255>/255}plane { <0, 1, 0>, -30 texture { Yellow_Pine scale 100 } }#declare bob=dessine_bonhomme( rgb<255,50,100>/255,10.5715);object { bob scale 0.5 rotate <0,10,0> translate <-37.7578,-30,108.046> }#declare franz=dessine_bonhomme( rgb<70,234,255>/255,-5.94179);object { franz scale 0.5 rotate <0,-9,0> translate <5.55556,-30,15.8976> }

Page 30: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III1) Analyse : Animation

Page 31: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III2) Exemple - 1

Synchronisation deux personnages

Page 32: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III2) Exemple - 2

Synchronisation deux personnages

Page 33: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III2) Exemple - 3

Allures différentes

Page 34: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III2) Exemple - 4 Mouvements de caméra : panoramique horizontal

Page 35: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III2) Exemple - 5 Mouvements de caméra : panoramique vertical

Page 36: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

III2) Exemple - 6

Plusieurs points de synchronisation

Page 37: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Conclusion : futures extensions

Interface graphique ( OpenGL, Java3D, ...)

Mouvements caméras plus complexes comme les travellings

Doublage sonore Étoffer la scène avec des objets

(problème de collisions) Effets spéciaux, flou de focale

Page 38: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Flou de focale (1)

Page 39: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Flou de focale (2)

Page 40: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 SOAP GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique

Des questions ?