SlideShare a Scribd company logo
1 of 44
Download to read offline
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 représentant
communément appelée avatar.
● L’avatar peut prendre des traits humains
ou une tout autre incarnation sortie d’un
imaginaire quelconque.
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é.
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
Points non traités
● Changement morphologique
● Techniques de modélisation 3D
● Techniques d’animation
● Javascript
● Comment faire du café
● ...
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ê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.”
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.”
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.
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.
● Les modèles nuancés sont totalement dupliqués (clone).
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.
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
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.
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).
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) .
Classification
Gestion du dressing
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 !!
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’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).
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
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 complété des
cartes
de textures
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
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
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
Diversité
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.
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).
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.
Diversité : simulation
● Nous constituons une palette de couleur et définissons les
harmonies (gamme des tendances par constat ou
apprentissage).
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
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
TESTEZ
NOTRE
DEMO !
Un grand merci
Sofiane Benchäa, Lead Graphics Engineer
sofiane@beloola.com
@beloola

More Related Content

Viewers also liked

Programme experiences guerre
Programme experiences guerreProgramme experiences guerre
Programme experiences guerreDHI_Paris
 
4 bioamasse mali_presentation
4 bioamasse mali_presentation4 bioamasse mali_presentation
4 bioamasse mali_presentationF_Chanelle_K
 
1 initiative biogaz_cedeao
1 initiative biogaz_cedeao1 initiative biogaz_cedeao
1 initiative biogaz_cedeaoF_Chanelle_K
 
Intoo list
Intoo listIntoo list
Intoo listINTOO
 
Geomarketing entreprises logistique
Geomarketing entreprises logistiqueGeomarketing entreprises logistique
Geomarketing entreprises logistiqueDatadis
 
Martinique carrefour de la caraibes
Martinique carrefour de la caraibesMartinique carrefour de la caraibes
Martinique carrefour de la caraibesSerge Letchimy
 
Agence régionale de santé
Agence régionale de santéAgence régionale de santé
Agence régionale de santéRaphael Bastide
 
Evaluacion 4 impress
Evaluacion 4 impressEvaluacion 4 impress
Evaluacion 4 impresselegipo
 
1987 Oeuvre environnementale / L'ère du vide
1987 Oeuvre environnementale / L'ère du vide1987 Oeuvre environnementale / L'ère du vide
1987 Oeuvre environnementale / L'ère du videChantal Viger
 
1 presentation etat-lieux_migration_en_afrique_francophone_haiti
1 presentation etat-lieux_migration_en_afrique_francophone_haiti1 presentation etat-lieux_migration_en_afrique_francophone_haiti
1 presentation etat-lieux_migration_en_afrique_francophone_haitiAbdoul Aziz Wane
 
Mon emploi du temps!
Mon emploi du temps!Mon emploi du temps!
Mon emploi du temps!Zamparini
 
5 formations gagnantes dans le secteur de la construction et du bâtiment
5 formations gagnantes dans le secteur de la construction et du bâtiment5 formations gagnantes dans le secteur de la construction et du bâtiment
5 formations gagnantes dans le secteur de la construction et du bâtimentJobboom
 
Présentation e sidoc
Présentation e sidocPrésentation e sidoc
Présentation e sidocalicante2012
 
L'avancement professionnel se trouve ailleurs
L'avancement professionnel se trouve ailleursL'avancement professionnel se trouve ailleurs
L'avancement professionnel se trouve ailleursJobboom
 
La mission de Serge Letchimy relative à l'article 349 du traité de Lisbonne
La mission de Serge Letchimy relative à l'article 349 du traité de LisbonneLa mission de Serge Letchimy relative à l'article 349 du traité de Lisbonne
La mission de Serge Letchimy relative à l'article 349 du traité de LisbonneSerge Letchimy
 

Viewers also liked (20)

La Minoterie
La Minoterie La Minoterie
La Minoterie
 
Us navy
Us navyUs navy
Us navy
 
Programme experiences guerre
Programme experiences guerreProgramme experiences guerre
Programme experiences guerre
 
4 bioamasse mali_presentation
4 bioamasse mali_presentation4 bioamasse mali_presentation
4 bioamasse mali_presentation
 
1 initiative biogaz_cedeao
1 initiative biogaz_cedeao1 initiative biogaz_cedeao
1 initiative biogaz_cedeao
 
Intoo list
Intoo listIntoo list
Intoo list
 
Geomarketing entreprises logistique
Geomarketing entreprises logistiqueGeomarketing entreprises logistique
Geomarketing entreprises logistique
 
Fotos dana sofia
Fotos dana sofiaFotos dana sofia
Fotos dana sofia
 
Martinique carrefour de la caraibes
Martinique carrefour de la caraibesMartinique carrefour de la caraibes
Martinique carrefour de la caraibes
 
FGGI
FGGIFGGI
FGGI
 
Agence régionale de santé
Agence régionale de santéAgence régionale de santé
Agence régionale de santé
 
Evaluacion 4 impress
Evaluacion 4 impressEvaluacion 4 impress
Evaluacion 4 impress
 
1987 Oeuvre environnementale / L'ère du vide
1987 Oeuvre environnementale / L'ère du vide1987 Oeuvre environnementale / L'ère du vide
1987 Oeuvre environnementale / L'ère du vide
 
1 presentation etat-lieux_migration_en_afrique_francophone_haiti
1 presentation etat-lieux_migration_en_afrique_francophone_haiti1 presentation etat-lieux_migration_en_afrique_francophone_haiti
1 presentation etat-lieux_migration_en_afrique_francophone_haiti
 
Mon emploi du temps!
Mon emploi du temps!Mon emploi du temps!
Mon emploi du temps!
 
5 formations gagnantes dans le secteur de la construction et du bâtiment
5 formations gagnantes dans le secteur de la construction et du bâtiment5 formations gagnantes dans le secteur de la construction et du bâtiment
5 formations gagnantes dans le secteur de la construction et du bâtiment
 
2015-10 Communiqué-Quoty-BtoC
2015-10 Communiqué-Quoty-BtoC2015-10 Communiqué-Quoty-BtoC
2015-10 Communiqué-Quoty-BtoC
 
Présentation e sidoc
Présentation e sidocPrésentation e sidoc
Présentation e sidoc
 
L'avancement professionnel se trouve ailleurs
L'avancement professionnel se trouve ailleursL'avancement professionnel se trouve ailleurs
L'avancement professionnel se trouve ailleurs
 
La mission de Serge Letchimy relative à l'article 349 du traité de Lisbonne
La mission de Serge Letchimy relative à l'article 349 du traité de LisbonneLa mission de Serge Letchimy relative à l'article 349 du traité de Lisbonne
La mission de Serge Letchimy relative à l'article 349 du traité de Lisbonne
 

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

  • 1. Show your life with emotion Sofiane Benchäa, Lead Graphics Engineer
  • 2. Développement d’une application 3D d’avatars Mise en place d’une diversité
  • 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. 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. 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. Points non traités ● Changement morphologique ● Techniques de modélisation 3D ● Techniques d’animation ● Javascript ● Comment faire du café ● ...
  • 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. 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. 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. Principes & solutions Modèles de “personnalisation”
  • 13. Système de personnalisation ● Il existe plusieurs schémas de conception. ● Chacun possède ces avantages propres.
  • 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. 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. 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. 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. 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. 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) .
  • 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 !!
  • 26. Physionomie, gestion de l’apparence ● Sets d’items
  • 27. Physionomie, gestion de l’apparence ● Palette de couleurs
  • 29. Rendu & optimisation 3d Objectif 1D!
  • 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. 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. Objectif 1D! ● Une affaire d’optimisation
  • 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. 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. 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. 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
  • 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. 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. 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. Diversité : simulation ● Nous constituons une palette de couleur et définissons les harmonies (gamme des tendances par constat ou apprentissage).
  • 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. 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. TESTEZ NOTRE DEMO ! Un grand merci Sofiane Benchäa, Lead Graphics Engineer sofiane@beloola.com @beloola