Est-ce qu'on peut dire que c'est fait… a la main ?
Modelisation par assemblage
C.S.G.
C.S.G.: Constructive Solid Geometry
Combiner des briques de base (solides) par des operations:
Union
Intersection
Difference
Union:
Intersection:
Difference:
Representation sous forme d'arbre:
Fonction implicite d'un solide:
interieur
surface
exterieur
Pour le calcul des C.S.G.:
Modelisation par revolution
L'objet est construit par la rotation d'une forme autour d'un axe de revolution
Fonction d'un angle
Fonction d'un pas d'echantillonnage
Trace du contour:
L'axe de revolution se situe au centre (axe vert et axe rouge)
On se rend compte que le Graal n'est rien d'autre qu'une fulte a champagne
Autres exemples:
La boule de bowling presente des C.S.G.
Modelisation par extrusion
L'objet est construit par une surface suivant une trajectoire
Le chemin peut etre plus ou moins complique
C'est peut-etre une etoile de mer mais je la fait sortir de terre
Retour a la main de tout a l'heure:
Cartes d'altitudes
Permet generalement de representer les terrains:
Construction:
Iterative
…
Exemple:
Is this minecraft
Blobs/Metaballs
Representation d'un objet par iosurface
Imaginons qu'on met une source d'energie qui chauffe:
Qu'est-ce qui se passe si on a 2 points d'energie qui se rapprochent ?
On obtient une courbe car les valeurs se somment.
On peut utiliser cette courbe pour modeliser des formes arrondies.
En 2D:
En 3D:
J'ai fait un petit objet, je sais pas ce que c'est. Hand-spinner?
On peut faire des gouttes de mercure qui s'attachent ensemble.
Le point d'energie n'est pas forcement ponctuel, ca peut un un plan, un cylindre, etc.
On un un p'tit.. p'tit cheval
Rendu
En raytracing, evaluation le lonf du rayon
Algorithme des "marching cubes"
Particules
Attention au calcul des normales
Modelisation
Eau
…
Modelisation de la vegetation
Graftales
Modelisation desplantes
L-Systems (Lindenmayer, 1968)
Similaire a une grammaire
souvent utilise pour modeliser la vegetation (mais pas seulement)
Y'a un super cours de theorie des langages donne par Jonathan Fabrizio
On par de l'axiome et on applique la regle de production
On divise le 1 segment en 3 sous-segments
On rajoute 2 segments inclines
On repete a chaque etape
On a besoin de differentes regles d'evolutions (branches, couleurs, etc.). Le plus dur c'est de definir la grammaire de base.
Acquisition
Comment font-ils pour faire des modeles aussi beau ?
Scan 3D
Pour le monde de Nemo: On a un vrai artiste qui fait un vrai modele
Suite au scan 3D du modele
Pour Avatar:
Cette pratique est assez courante.
D'autres artistes scultent directement le modele numerique.
Sculpture 3D:
Codage des Formes/Maillages
Aretes aillees
B-rep
Array of vertex
Enregistrer tous les sommets et leurs proprietes
Pas tres compact
Array of indexes
Lister les sommets et leur caracteristiques
Tablea d'addressage indexe
Dans cette exemple: le sommet 1 est enregistre plusieurs fois, on a pas a enregistrer ses caracteristiques a chaque fois, on fait un addressage indexe.
Ne mache pas toujours, les proprietes peuvent varier d'un meme sommet en fonction du polygone auquel il est rattache.
Aretes ailles
Une arete:
une orientation
Sommet de depart et d'arrivee
On les memorise selon un ordre
deux faces
deux sommets
quatre aretes
Le sommet actuel y est toujours lie si elles existent
Boundary Representation B-Rep
Un solide est modelise par les elements exterieurs.
Cela donne une surface fermee
Ensemble de :
Faces, aretes et sommets + relations topologiques
Les faces ne doivent pas s'intersecter ailleurs que sur des aretes explicites (de la B-REP)
Les afces doivent separer l'interieur de l'exterieur du solide
Redondance des donnees risque d'incoherence
Modelisation d'une scene
Deformation/Mouvements/Objets articules
Representation hierarchique
Systeme de pile de matrices
Deformations libres
On veut contorsionner un objet mais ses morceaux doivent restes coherents.
Une solution: faire un volume de Bezier et modifier les points de controle
Solution simple
Pas la plus efficace
Animation
Generation de toutes les images qui composent l'animations
Il faut donc modeliser les transformations
Deplacements
Deformations
Changement de couleur
…
Equation de mouvement
Definitions des positions et orientations - trajectoire a suivre
Position cle et interpolation
Specification que de quelques positions puis interpolation automatique pour generer les positions intermediaires (pas facile de respecter toutes les contraintes)
Modele physique
Donne du realisme au mouvement
L'ordinateur calcul les positions intermediaires
L'animateur fait les images "cles" de l'animation
Positions cles
Celle de droite c'est quand Fabrizio va voir mon raytracer
Vitesse du mouvement
Il faut gere l'acceleration du mouvement entre 2 positions cles
Un mouvement lineaire n'est pas realiste
Il y a du travail sur l'expression du visage
Le monde de Nemo
Filmer des poissons reels pendant tres longtemps et reproduire le mouvement
Animations difficiles
Animation de personnages
Definition de l'animation complete du personnage
Difficile et consommation memoire trop elevee
Definition d'un "squelette" et d'une "peau"
Le mouvement est specifie uniquement pour le squelette
Gain de place
Retournons sur la main: On a rajoute un squelette, si on veut bouger la main, on bouge le squelette.
Le squelette de la main est anatomiquement faux
Definition d'un "squelette"
Le corps humain comporte environ 200 os
Environ une centaine d'articulations
assemblage de segments rigides
Structure arborescente hierarchique
Rotation avec ajout de contraintes
Cinematique inverse
Trouver la bonne position
Le deplacement des os entraine le deplacement de la peau
La peau
Cylindres
Maillages ou surfaces (Splines…)
Attachement de chaque point a un os
Ponderation de l'attachement d'un point aux os voisins
Modeles de muscles
Modelisation par blobs et surfaces implicites
Dans l'ensemble ce type de modeles n'est plus trop utilise
Modelisation des muscles par des ressorts
Modelisation par particules hierarchiques
Noyau: lie au reste du modele
Derme: deformation del'objet
Epiderme: cohesion et surface + interaction et collisions avec le rest du monde
Diminution de la complexite
Interaction uniquement avec la couche voisine
Interaction avec l'exterieur geree au niveau de l'epiderme
diminution du nombre de particules
diminution de la quantite de calculs
Problemes de jointures
Augmentation du maillage aux jointures
Ajout d'os dans l'articulation
Ajout de contraintes: section minimal autour de chaque os..
Lissage des ponderations des contributions des os sur l'enrobage
Animation de visages
Quelques positions modelisees
Normal, souriatn..
Calcul automartique des transitions (morphing)
Temps reel: Blend shape
Position neutre
Codage des deltas pour arriver a une position particuliere
Motion capture
Realisme important
Des acteurs vont jouer la scene
Jouent dans un hangar dans lequel ils sont geolocalises
Ils auraient pu se peindre le visage en bleu mais ils ont pas oses
Au moins ils ont des p'tites oreilles
Camera: geolocalisee
Mapping:
C'est pendant l'entrainement, pas le hangar
Mouvement du visage:
Une grosse bete va manger des chevaux:
On va caller des modeles 3D de chevaux qui se feront manger
Fonctionne de la meme facon que le motion capture avec les humains:
Pas tous les filmes utilisent le motion capture, comme Ratatouille
Tissus et vetements
Modeles masses-ressorts
Maillage de Provot
On met des "masses"
Ajout de ressorts pour le cisaillement et la courbure
Indique les contraintes physiques entre chacune des masses
Collisions et autocollisions
Beaucoup de calculs
division de l'espace et volumes englobants
Autocollisions
Eviter que le tissus passe au travers de lui-meme en se repliant