La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005

Présentations similaires


Présentation au sujet: "Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005"— Transcription de la présentation:

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

2 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

3 Introduction (2)

4 Plan Général I- Présentation du travail demandé
1) Travail demandé et existant 2) Schéma général de Soap 3) Organisation et découpage du travail II- Principes de fonctionnement 1) Parser XML 2) Passage de la 2D à la 3D 3) Passage de la 3D à l'animation III- Exemples et analyse de séquences animées 1) Description de fichiers XML 2) Étude du fichier de contraintes 3) Analyse des NURBS utilisées 4) Intégration vers POV-Ray 5) Animation de la séquence

5 Plan Général I- Présentation du travail demandé
II- Principes de fonctionnement III- Exemples et analyse de séquences animées

6 Plan Général I- Présentation du travail demandé
1- Travail demandé et existant 2- Schéma général de Soap 3- Organisation et découpage du travail II- Principes de fonctionnement III- Exemples et analyse de séquences animées

7 I1- Travail demandé et existant
Langage utilisé : C++ Travail demandé : moteur du logiciel Non demandé : interface graphique Existant : plusieurs applications

8 I2- Schéma général Interface graphique Fichier XML Moteur de SOAP
POV Rendu de la scène

9 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

10 Plan Général II- Principes de fonctionnement
I- Présentation du travail demandé II- Principes de fonctionnement 1- Parser XML 2- Passage de la 2D à la 3D 3- Passage de la 3D à l'animation III- Exemples et analyse de séquences animées

11 II1- Parser XML : la scène
Regroupe l'ensemble des informations <?xml version="1.0" encoding="ISO "?> <scene> <nom>scene1</nom> <ouverturex>12</ouverturex> <ouverturey>33</ouverturey> <plan> <a>12</a> <b>15</b> <c>18</c> <d>0</d> </plan> ...

12 II1- XML : les personnages
<perso nom="jeannot" taille="1" couleur=" "> <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"> <allure>course</allure> <tete>15</tete> <corps>15</corps> </pointspassages> ...

13 II1- XML : les synchronisations
Synchronisation entre deux personnages uniquement Deux types de synchronisation disponibles « arrivée » « départ » <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>

14 II1- Parser XML : la caméra (1)
Exemple de spécification du mouvement de la caméra : Uniquement des mouvements panoramiques

15 II1- Parser XML : la caméra (2)
... <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> </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> Position fixe Le ratio de l’image est fixe Points de passage : 2 angles et zoom (en fonction de l’ouverture en x et en y)

16 II2- Passage de la 2D à la 3D Calcul du point 3D (X,Y,Z) à partir du point 2D (x,y) Rayon de la sphère englobante du personnage Rayon du disque englobant du point de passage Ouverture horizontale Ouverture verticale

17 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

18 II2- 2D en 3D : solveur de Contraintes,
II2- 2D en 3D : solveur de Contraintes, exemple de fichier de contraintes Constants p00_arriv=0, p00_p01= , p01_p02= , 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;

19 II2- 2D en 3D : solveur de Contraintes,
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 [ , ] p01_arriv in [ , ] p02_dep in [ , ] p02_arriv in [ , ] p03_dep in [ , ] p03_arriv in [ , ] p04_arriv in [ , ] precision: 2.84e-14, elapsed time: 0 ms END OF SOLVING Property: reliable process (no solution is lost) Elapsed time: 0 ms

20 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

21 II2- 2D en 3D : Linéaire vs Nurbs
Utilisation des points clés Méthode de globale interpolation Trajectoire moins saccadée Nurbs Linéaire

22 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

23 II2- 2D en 3D : Utilisation des Nurbs (1)
Exemple : Interpolation de la vitesse

24 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

25 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

26 Plan Général III- Exemples et analyse de séquences animées
I- Présentation du travail demandé II- Principes de fonctionnement III- Exemples et analyse de séquences animées 1) Analyse du processus d’animation 2) Exemples de séquences

27 III1- Analyse du processus d’animation
Story-board

28 III1- Analyse : Du fichier XML à la 3D
parser Soap2D Realpaver Soap Contraintes Soap3D Soap Interpolation Génération de fichiers POV

29 III1) Analyse : Nurbs associées :
Courbe de la vitesse du premier personnage point3 point5 point2 point4 point1 Accélération jusqu’à la vitesse de marche

30 III1) Analyse : fichiers POV-Ray
#version 3.1 global_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, ); object { bob scale 0.5 rotate <0,10,0> translate < ,-30, > } #declare franz=dessine_bonhomme( rgb<70,234,255>/255, ); object { franz scale 0.5 rotate <0,-9,0> translate < ,-30, > }

31 III1) Analyse : Animation

32 III2) Exemple - 1 Synchronisation deux personnages

33 III2) Exemple - 2 Synchronisation deux personnages

34 III2) Exemple - 3 Allures différentes

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

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

37 III2) Exemple - 6 Plusieurs points de synchronisation

38 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

39 Flou de focale (1)

40 Flou de focale (2)

41 Des questions ?


Télécharger ppt "Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005"

Présentations similaires


Annonces Google