Show your life with emotion
Sofiane Benchäa, Lead Graphics Engineer
Développement d’une
application 3D d’avatars
Mise en place d’une diversité
Quelques repères
● Une des clés de l’immersion dans un
monde virtuel est la projection de l’
utilisateur d’une entité le r...
Quelques repères
● Afin de rendre agréable l’expérience
virtuelle, les jeux vidéo s’emploient à
instiguer une physionomie ...
Plan de l’exposé
1. Introduction
○ Déclaration d’intention
○ Repérage des contraintes,
aperçu des objectifs
○ Explication
...
Points non traités
● Changement morphologique
● Techniques de modélisation 3D
● Techniques d’animation
● Javascript
● Comm...
Introduction
Déclaration d’intention
Déclaration d’intention
Que souhaitons-nous obtenir ?
Déclaration d’intention
“ Nous souhaitons obtenir un avatar homme
ou femme, actif, pouvant venir d'origines
diverses, se v...
Repérage
“ Nous souhaitons obtenir un avatar homme
ou femme, actif, pouvant venir d'origines
diverses, se vêtant d'une pan...
Explication
● "homme ou femme" : ici le genre est clairement exprimé.
● "actif" : indication d’une cible et donc une tranc...
Principes & solutions
Modèles de “personnalisation”
Système de personnalisation
● Il existe plusieurs schémas de conception.
● Chacun possède ces avantages propres.
Modèle monolithe
● Méthode de création simple.
● Il existe donc autant d’avatars possibles que de modèle disponibles.
● Le...
Modèle monolithe
● Comme il a été vu, cette méthode ne
permet pas de combiner les modèles.
Cependant, il est possible de d...
Modèle monolithe
● Comme il a été vu, cette méthode ne
permet pas de combiner les modèles.
Cependant, il est possible de d...
Principe générique par
remplacement
● Cette approche offre plus de souplesse dans
la création des modèles et d’avantage de...
Principe générique par agrégat
● Ce modèle est une variante du modèle de substitution.
● Vision naturelle de l’habillage.
...
Principe dynamique complet
● Possibilité d’appliquer n’importe quel modèle à n’importe corps car les
les ajustements sont ...
Classification
Gestion du dressing
Classification, gestion du dressing
● Chaque item et accessoire est issue
d’une classification.
● Les items suivent la str...
Classification
Classification
Physionomie
Gestion de l’apparence
Classification
Physionomie, gestion de l’apparence
● Sets d’items
Physionomie, gestion de l’apparence
● Palette de couleurs
Plans, architecture logicielle
Rendu & optimisation 3d
Objectif 1D!
Objectif 1D!
● Un drawcall correspond à l’action d’affichage d’un objet GL
pendant une trame de rendu.
● Une instance d’ob...
Objectif 1D!
● Une opération permet de réduire les appels : le batching.
● fusion des items dans une seule géométrie.
● As...
Objectif 1D!
● Une affaire d’optimisation
Rendu des matériaux
● Le matériau est représenté sur texture.
● La texture apporte un réalisme sur les surfaces.
atlas com...
Rendu des matériaux
● Problème d’encodage des informations
● Combinaison des intensités exprimé sur
● Combinaison des inte...
Rendu des matériaux
● Méthode du transfert de gradient
● Préserve les caractéristiques
● Supporte la multi-résolution
grad...
Traitement CG
● Possibilité d’enlever les zones du corps couverts.
● vertex color et matrice booléenne.
● masquage VS supp...
Diversité
Diversité : pourquoi ?
● Dans le cadre d’une simulation, il y a
nécessité de cohérence dans la
représentation des individu...
Diversité : simulation
● Nous devons classifier les tenues selon certains critères (couleur, style,
tendance, etc.).
● Nou...
Diversité : simulation
● Formulons quelques hypothèses.
● Probabilité qu’un item appartienne à style X.
● Probabilité qu’u...
Diversité : simulation
● Nous constituons une palette de couleur et définissons les
harmonies (gamme des tendances par con...
Diversité : simulation
● La résolution peut s'effectuer soit de manière déterministe ou
probabiliste.
● suggestions (recom...
Bibliographie / Webographie
● Jason Mitchell, Moby Francke, Dhabih Eng, Illustrative Rendering in Team
Fortress 2 (2007)
●...
TESTEZ
NOTRE
DEMO !
Un grand merci
Sofiane Benchäa, Lead Graphics Engineer
sofiane@beloola.com
@beloola
Prochain SlideShare
Chargement dans…5
×

WebGL Paris 2015 - Conférence de S.Benchaa (Lead Graphics Engineer @Beloola)

432 vues

Publié le

Développement d’une application 3D d’avatars: Mise en place d’une diversité

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
432
Sur SlideShare
0
Issues des intégrations
0
Intégrations
67
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

WebGL Paris 2015 - Conférence de S.Benchaa (Lead Graphics Engineer @Beloola)

  1. 1. Show your life with emotion Sofiane Benchäa, Lead Graphics Engineer
  2. 2. Développement d’une application 3D d’avatars Mise en place d’une diversité
  3. 3. Quelques repères ● Une des clés de l’immersion dans un monde virtuel est la projection de l’ utilisateur d’une entité le représentant communément appelée avatar. ● L’avatar peut prendre des traits humains ou une tout autre incarnation sortie d’un imaginaire quelconque.
  4. 4. Quelques repères ● Afin de rendre agréable l’expérience virtuelle, les jeux vidéo s’emploient à instiguer une physionomie basée sur le style. Ils font varier également les différentes couches appliquées à l’avatar (items) afin que l’utilisateur puisse développer son propre personnage et refléter sa personnalité.
  5. 5. Plan de l’exposé 1. Introduction ○ Déclaration d’intention ○ Repérage des contraintes, aperçu des objectifs ○ Explication 2. Principes & solutions ○ Modèles de “personnalisation” ○ Classification, gestion du dressing ○ Physionomie, gestion de l’ apparence ○ Plans, architecture logicielle 3. Rendu & optimisation ○ Objectif 1D! ○ Rendu des matériaux ○ Traitements CG 4. Diversité 5. Bibliographie / Webographie
  6. 6. Points non traités ● Changement morphologique ● Techniques de modélisation 3D ● Techniques d’animation ● Javascript ● Comment faire du café ● ...
  7. 7. Introduction Déclaration d’intention
  8. 8. Déclaration d’intention Que souhaitons-nous obtenir ?
  9. 9. Déclaration d’intention “ Nous souhaitons obtenir un avatar homme ou femme, actif, pouvant venir d'origines diverses, se vêtant d'une panoplie de tenues variées. Ces dernières refléteraient alors les usages et/ou l'esprit véhiculé par les courants culturels actuels. L'avatar aime son image, soigne son look et est fasciné par les combinaisons.”
  10. 10. Repérage “ Nous souhaitons obtenir un avatar homme ou femme, actif, pouvant venir d'origines diverses, se vêtant d'une panoplie de tenues variées. Ces dernières refléteraient alors les usages et/ou l'esprit véhiculé par les courants culturels actuels. L'avatar aime son image, soigne son look et est fasciné par les combinaisons.”
  11. 11. Explication ● "homme ou femme" : ici le genre est clairement exprimé. ● "actif" : indication d’une cible et donc une tranche d'âge ? ● "venir d'origines diverses" : il y a ici un soucis de représentativité ● "tenues variées" : la gestion d'un dressing est à prévoir. ● "courants culturels actuels" : il faudra prendre en compte les divertissements, styles musicaux (surtout!) etc. ● "soigne son look" : un large choix dans la personnalisation. L’ apparence doit être gérée. ● "fasciné par le changement" : cela nous indique le caractère combinatoire des tenues.
  12. 12. Principes & solutions Modèles de “personnalisation”
  13. 13. Système de personnalisation ● Il existe plusieurs schémas de conception. ● Chacun possède ces avantages propres.
  14. 14. Modèle monolithe ● Méthode de création simple. ● Il existe donc autant d’avatars possibles que de modèle disponibles. ● Les modèles nuancés sont totalement dupliqués (clone).
  15. 15. Modèle monolithe ● Comme il a été vu, cette méthode ne permet pas de combiner les modèles. Cependant, il est possible de décliner l’ apparence d’un même modèle ce qui atténue l’effet clone.
  16. 16. Modèle monolithe ● Comme il a été vu, cette méthode ne permet pas de combiner les modèles. Cependant, il est possible de décliner l’ apparence d’un même modèle ce qui atténue l’effet clone. X
  17. 17. Principe générique par remplacement ● Cette approche offre plus de souplesse dans la création des modèles et d’avantage de combinaisons. Le corps est fragmenté en plusieurs parties interchangeables.
  18. 18. Principe générique par agrégat ● Ce modèle est une variante du modèle de substitution. ● Vision naturelle de l’habillage. ● Les modèles sont à usage exclusif d’un corps prédéfini. ● Des solutions existent afin de répondre aux problèmes morphologiques des corps (vision réaliste).
  19. 19. Principe dynamique complet ● Possibilité d’appliquer n’importe quel modèle à n’importe corps car les les ajustements sont réalisés dynamiquement. ● Le principe est très coûteux. ● Il génère de nouvelle contraintes qui doivent être résolues par le biais d’ un système expert*. * (cf. : cours de Marie-Paul Cani sur la Réutilisation et transfert des modèles 3D, Collège de France) .
  20. 20. Classification Gestion du dressing
  21. 21. Classification, gestion du dressing ● Chaque item et accessoire est issue d’une classification. ● Les items suivent la structure anatomique du corps et donc du maillage en cas de déformations et animations. ● Tout doit rentrer dans une case. ● Pas de règles d’exception !!
  22. 22. Classification
  23. 23. Classification
  24. 24. Physionomie Gestion de l’apparence
  25. 25. Classification
  26. 26. Physionomie, gestion de l’apparence ● Sets d’items
  27. 27. Physionomie, gestion de l’apparence ● Palette de couleurs
  28. 28. Plans, architecture logicielle
  29. 29. Rendu & optimisation 3d Objectif 1D!
  30. 30. Objectif 1D! ● Un drawcall correspond à l’action d’affichage d’un objet GL pendant une trame de rendu. ● Une instance d’objet GL (pas forcément 3D) possédant un matériau et/ou une texture représente un drawcall. ● Le CPU pousse le GPU les éléments à afficher avec un coût nominal variant selon les capacités de la machine ainsi que la résolution des buffers de l’objet (maîtrise des coûts).
  31. 31. Objectif 1D! ● Une opération permet de réduire les appels : le batching. ● fusion des items dans une seule géométrie. ● Assemblage des textures (atlas). ● Un modèle 3D === Un shader. une seule texture obtenue avec une opération de bin-packing
  32. 32. Objectif 1D! ● Une affaire d’optimisation
  33. 33. Rendu des matériaux ● Le matériau est représenté sur texture. ● La texture apporte un réalisme sur les surfaces. atlas complété des cartes de textures
  34. 34. Rendu des matériaux ● Problème d’encodage des informations ● Combinaison des intensités exprimé sur ● Combinaison des intensités + énergies lumineuses sur ● Cas des normales !! Ex. : eps = 1000 a1 = 0.123, b1 = 0.456 c1 = a1||b1 = 0.123456
  35. 35. Rendu des matériaux ● Méthode du transfert de gradient ● Préserve les caractéristiques ● Supporte la multi-résolution gradient A avec 3 points de caractérisations gradient B avec 4 points de caractérisations gradient C avec 2 points de caractérisations
  36. 36. Traitement CG ● Possibilité d’enlever les zones du corps couverts. ● vertex color et matrice booléenne. ● masquage VS suppression. Temps réel Post-traitement discard (shader) suppression des triangles + processus rapide et interactif + réversibilité - triangles cachés toujours pris en compte - géométrie non optimale + géométrie optimisée + géométrie allégée - processus lent - commutation non permise
  37. 37. Diversité
  38. 38. Diversité : pourquoi ? ● Dans le cadre d’une simulation, il y a nécessité de cohérence dans la représentation des individus. ● Peupler un environnement doit prendre en compte les paramètres qui le définissent. ● Une simulation informatique est capable de répondre plus rapidement (instanciation de milliers d’acteurs virtuels) que l’humain.
  39. 39. Diversité : simulation ● Nous devons classifier les tenues selon certains critères (couleur, style, tendance, etc.). ● Nous établissons les codes vestimentaire à partir de l’existant et calculons la probabilité d’association des tenues pour un code vestimentaire donné, conditionné à une cause (typiquement un réseau baysien).
  40. 40. Diversité : simulation ● Formulons quelques hypothèses. ● Probabilité qu’un item appartienne à style X. ● Probabilité qu’un set items appartienne au cv. ● Probabilité que le cv respecte la tendance. ● Probabilité que le cv respecte les préférences de l’individu.
  41. 41. Diversité : simulation ● Nous constituons une palette de couleur et définissons les harmonies (gamme des tendances par constat ou apprentissage).
  42. 42. Diversité : simulation ● La résolution peut s'effectuer soit de manière déterministe ou probabiliste. ● suggestions (recommandation) : CV Casual = 0.68 CV Sport = 0.12 CV Business = 0.77 CV Casual = 0.73 CV Sport = 0.67 CV Business = 0.02 CV Casual = 0.81 CV Sport = 0.16 CV Business = 0.09
  43. 43. Bibliographie / Webographie ● Jason Mitchell, Moby Francke, Dhabih Eng, Illustrative Rendering in Team Fortress 2 (2007) ● Rozenn Bouville, Interopérabilité des environnements virtuels 3D : modèle de réconciliation des contenus et des composants logiciels (2012) ● Kamal Siegel, How to build a character customization system (2008) ● Jonas Materinez, Space-optimized texture atlases (2013) ● Lap-Fai Yu1, Sai-Kit Yeung2, Demetri Terzopoulos1, Tony F. Chan3, DressUp! Outfit Synthesis Through Automatic Optimization (SIGRAPHAsia 2012) ● Carol O’Sullivan, Variety Is the Spice of (Virtual) Life (2009) ● Marie-Paul Cani, Design Preserving Garment Transfer, ACM Transactions on Graphics, Association for Computing Machinery (ACM), 2012
  44. 44. TESTEZ NOTRE DEMO ! Un grand merci Sofiane Benchäa, Lead Graphics Engineer sofiane@beloola.com @beloola

×