Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005
description
Transcript of Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005
![Page 1: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/3.jpg)
Introduction (2)
![Page 4: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/14.jpg)
... <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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/26.jpg)
III1- Analyse du processus d’animation
Story-board
![Page 27: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/30.jpg)
III1) Analyse : Animation
![Page 31: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/31.jpg)
III2) Exemple - 1
Synchronisation deux personnages
![Page 32: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/32.jpg)
III2) Exemple - 2
Synchronisation deux personnages
![Page 33: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/33.jpg)
III2) Exemple - 3
Allures différentes
![Page 34: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/34.jpg)
III2) Exemple - 4 Mouvements de caméra : panoramique horizontal
![Page 35: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/35.jpg)
III2) Exemple - 5 Mouvements de caméra : panoramique vertical
![Page 36: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/36.jpg)
III2) Exemple - 6
Plusieurs points de synchronisation
![Page 37: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/38.jpg)
Flou de focale (1)
![Page 39: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/39.jpg)
Flou de focale (2)
![Page 40: Soutenance de TER Encadrant : Eric Languénou jeudi 2 juin 2005](https://reader036.fdocuments.in/reader036/viewer/2022062803/56814726550346895db45ec2/html5/thumbnails/40.jpg)
Des questions ?