Soutenance de TER Encadrant Eric Langunou jeudi 2
- Slides: 40
Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005 GOURAUD Benjamin, GUITTENY Fabrice, PERE Sabine Master 1 informatique SOAP
Introduction (1) Idée originale : mouvements de caméras souvent limités des Soapopé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 ¡
Introduction (2)
Plan Général I- Présentation du travail demandé II- Principes de fonctionnement III- Exemples et analyse de séquences animées
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
I 1 - Travail demandé et existant ¡ Langage utilisé : C++ ¡ Travail demandé : moteur du logiciel ¡ Non demandé : interface graphique ¡ Existant : plusieurs applications
I 2 - Schéma général Interface graphique Fichier XML Moteur de SOAP Fichier POV Rendu de la scène
I 3 - Organisation et découpage du travail ¡ Définition des spécifications du fichier XML et réalisation d'un parser l ¡ ¡ Intégration des données dans la structure Soap 2 D Exportation vers la structure Soap 3 D l Calculs de projections vers la 3 D l Utilisation d'un solveur de contraintes l Utilisation de NURBS Génération de fichiers POV l Interprétation de la structure 3 D l Calcul des images l Création de l'animation
Plan Général I- Présentation du travail demandé II- Principes de fonctionnement 1 - Parser XML 2 - Passage de la 2 D à la 3 D 3 - Passage de la 3 D à l'animation III- Exemples et analyse de séquences animées
II 1 - Parser XML : la scène ¡ Regroupe l'ensemble des informations <? xml version="1. 0" encoding="ISO-8859 -1"? > <scene> <nom>scene 1</nom> <ouverturex>12</ouverturex> <ouverturey>33</ouverturey> <plan> <a>12</a> <b>15</b> <c>18</c> <d>0</d> </plan> . . .
II 1 - 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> . . .
II 1 - XML : les synchronisations ¡ Synchronisation entre deux personnages uniquement ¡ Deux types de synchronisation disponibles l « arrivée » l « départ » <synchro> <synpt pers 1="jeannot" numpt 1="0" typsync 1="arrivee" pers 2="pierrot" numpt 2="1" typsync 2="arrivée"/> <synpt pers 1="pierrot" numpt 1="1" typsync 1="depart" pers 2="jeannot" numpt 2="2" typsync 2="départ"/> </synchro>
II 1 - Parser XML : la caméra (1) ¡ ¡ Exemple de spécification du mouvement de la caméra : Uniquement des mouvements panoramiques
II 1 - Parser XML : la caméra (2). . . Position fixe <camera x="0. 5" y="0. 5" ratio=“ 1. 33"> <pointcamera> <pos theta="10" phy="30"> Le ratio de l’image est fixe <ouvx>0</ouvx> <ouvy>23</ouvy> </pos> <pos theta="50" phy="20"> Points de passage : 2 <ouvx>10</ouvx> angles et zoom (en <ouvy>20</ouvy> fonction de l’ouverture </pos> en x et en y) </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>
II 2 - Passage de la 2 D à la 3 D ¡ Calcul du point 3 D (X, Y, Z) à partir du point 2 D (x, y) Rayon de la sphère englobante du personnage Rayon du disque englobant du point de passage Ouverture horizontale Ouverture verticale
II 2 - 2 D en 3 D : Solveur de Contraintes Solveur utilisé : Realpaver ¡ Principe : ¡ l 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 ¡ l En sortie : un fichier texte contenant les résultats
II 2 - 2 D en 3 D : solveur de Contraintes, exemple de fichier de contraintes Constants p 00_arriv=0, p 00_p 01=31. 5636, p 01_p 02=3. 79875, p 02_p 03=1. 2, p 03_p 04=1. 2; Variables p 00_dep in [0, +oo[, p 01_arriv in [0, +oo[, p 02_dep in [0, +oo[, p 02_arriv in [0, +oo[, p 03_dep in [0, +oo[, p 03_arriv in [0, +oo[, p 04_arriv in [0, +oo[; Constraints p 00_dep>=p 00_arriv, p 01_arriv=p 00_dep+p 00_p 01, p 00_dep=p 00_arriv, p 01_dep>=p 01_arriv, p 02_arriv=p 01_dep+p 01_p 02, p 01_dep=p 01_arriv, p 02_dep>=p 02_arriv, p 03_arriv=p 02_dep+p 02_p 03, p 02_dep=p 02_arriv, p 03_dep>=p 03_arriv, p 04_arriv=p 03_dep+p 03_p 04, p 03_dep=p 03_arriv;
II 2 - 2 D en 3 D : solveur de Contraintes, exemple de fichier de résultats Real. Paver v. 0. 4 (c) LINA 2004 INITIAL BOX p 00_dep in [0 , +oo[ p 01_arriv in [0 , +oo[ p 02_dep in [0 , +oo[ p 02_arriv in [0 , +oo[ p 03_dep in [0 , +oo[ p 03_arriv in [0 , +oo[ p 04_arriv in [0 , +oo[ OUTER BOX 1 p 00_dep = 0 p 01_dep in [31. 5636 , 31. 5636] p 01_arriv in [31. 5636 , 31. 5636] p 02_dep in [35. 3623499999 , 35. 3623500001] p 02_arriv in [35. 3623499999 , 35. 3623500001] p 03_dep in [36. 5623499999 , 36. 5623500001] p 03_arriv in [36. 5623499999 , 36. 5623500001] p 04_arriv in [37. 7623499998 , 37. 7623500001] precision: 2. 84 e-14, elapsed time: 0 ms END OF SOLVING Property: reliable process (no solution is lost) Elapsed time: 0 ms
II 2 - 2 D en 3 D : Interpolation avec les NURBS ¡ But : l l 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
II 2 - 2 D en 3 D : Linéaire vs Nurbs l Utilisation des points clés Nurbs l Méthode de globale interpolation Linéaire l Trajectoire moins saccadée
II 2 - 2 D en 3 D : Interpolation ¡ Réalisée à la manière d'une boîte noire l l Autonome du reste du logiciel Soap Réutilisation possible pour d'autres applications
II 2 - 2 D en 3 D : Utilisation des Nurbs (1) ¡ Exemple : Interpolation de la vitesse
II 2 - 2 D en 3 D : Utilisation des Nurbs (2) ¡ Autre interpolations : l l Angle du corps Angle de la tête Angles de rotation de la caméra Zoom
II 3 - Passage de la 3 D à l'animation ¡ ¡ Calcul de la durée totale de la scène Itération sur le temps l l ¡ ¡ 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
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’animation 2) Exemples de séquences
III 1 - Analyse du processus d’animation Story-board
III 1 - Analyse : Du fichier XML à la 3 D Fichier XML parser Realpaver Soap 2 D Soap Contraintes Soap 3 D Soap Interpolation Génération de fichiers POV
III 1) Analyse : Nurbs associées : Courbe de la vitesse du premier personnage point 3 point 2 point 1 Accélération jusqu’à la vitesse de marche point 5 point 4
III 1) 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>location <0, 0, 0> angle 90 rotate <0, 0, 0>} sky_sphere { S_Cloud 1 } light_source {<10, 11, 12> color rgb<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> }
III 1) Analyse : Animation
III 2) Exemple - 1 ¡ Synchronisation deux personnages
III 2) Exemple - 2 ¡ Synchronisation deux personnages
III 2) Exemple - 3 ¡ Allures différentes
III 2) Exemple - 4 ¡ Mouvements de caméra : panoramique horizontal
III 2) Exemple - 5 ¡ Mouvements de caméra : panoramique vertical
III 2) Exemple - 6 ¡ Plusieurs points de synchronisation
Conclusion : futures extensions Interface graphique ( Open. GL, Java 3 D, . . . ) ¡ 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 ¡
Flou de focale (1)
Flou de focale (2)
Des questions ?
- Quem tem um amigo tem um tesouro bíblia
- Lundi mardi mercredi jeudi vendredi
- Soutenance caffa
- Plan soutenance de stage
- Soutenance gestion de stock
- Soutenance tfe infirmier
- Poster stage ingénieur
- Cadre de soutenance
- Oral mémoire infirmier
- Soutenance
- Soutenance tfe infirmier
- Dom seg ter qua qui
- Ter thin client
- Escola juncadella la cellera de ter
- Texto seja feliz voce pode ter defeitos
- Ter fé e aceitar os desígnios de deus
- Porque o entrevistador não vai agradecer por ele ter vindo
- Beryl ter haar
- Posso ter defeitos viver ansioso
- Kata kerja pasif contoh
- Formas nominais do verbo
- Margreet ter steege
- Uma das coisas que eu acho fascinante em jesus
- Hoogste gebouw dubai
- O que é preterito perfeito
- Codex in mir4
- Ter calibration
- Odsgm meb
- Esempio fattura 74 ter
- Viver e nao ter vergonha de ser feliz letra
- Hidrocarburo
- Oudste brug ter wereld
- Q tér
- Barney tan
- No desenho abaixo estao representados os terrenos l ll lll
- 15 ter
- Slidetodoc.com
- Verbo conceito
- 14 ter letra c
- Pompeii werkstuk
- E eu fico com a pureza da resposta