SlideShare une entreprise Scribd logo
1  sur  19
GESTION DE PROJET
MULTIPLATEFORME
MEETUP UNITY LYON #4 - YANNICK COMTE
QUI SUIS-JE ?
• SPÉCIALISÉ PROGRAMMATION 3D & VR
• CHEF DE PROJET / LEAD DÉVELOPPEUR CHEZ
WANADEV
• DÉVELOPPEUR INDÉPENDANT CHEZ DEMONIXIS
GAMES
• PLUSIEURS JEUX LIVRÉS (PRINCIPALEMENT VR) AVEC
UNITY SUR PLUSIEURS PLATEFORMES
@CYannick
Yannick Comte
SOMMAIRE
• QU’EST-CE QUI DIFFÉRENCIE UNE PLATEFORME D’UNE AUTRE ?
• LES CHOSES À FAIRE DEPUIS L'ÉDITEUR
• ECRITURE DE CODE MULTIPLATEFORME
• GESTION UI ET HUD
• GESTION DE PLUSIEURS SDKS INCOMPATIBLES ENTRE EUX
Tous les extraits de code proviennent du jeu GunSpinning VR
QU’EST-CE QUI DIFFÉRENCIE UNE
PLATEFORME D’UNE AUTRE ?
QU’EST CE QUI DÉFINIT UNE PLATEFORME ?
LE HARDWARE
• CPU / GPU
• INPUT : GAMEPAD, MOTION CONTROLLER, TOUCH...
• PROTOCOLE RÉSEAU : WEBSOCKET, SOCKET..
• ÉCRAN : LUMINOSITÉ, TAILLE, RÉSOLUTION..
LE SOFTWARE
• SYSTÈME D’EXPLOITATION
• KIT DE DÉVELOPPEMENT
• PLUSIEURS RESTRICTIONS
LES CHOSES À FAIRE DEPUIS L'ÉDITEUR
LES RÉGLAGES DE QUALITÉ
• CRÉER UN OU PLUSIEURS PROFILS PAR PLATEFORMES
• LOD BIAS PERMET D'AFFICHER PLUS RAPIDEMENT
LES LODS. IMPORTANT SUR MOBILE PAR EXEMPLE
POUR FORCER DES MODÈLES PLUS LOW POLY.
• NOMBRE DE LUMIÈRES TEMPS RÉEL (FORWARD
RENDERER)
• RÉSOLUTION DES TEXTURES / FILTRAGE
• MODE D'OMBRE SUPPORTÉS
PASSER SUR UNE AUTRE PLATEFORME
• C'EST IMPORTANT CAR UNITY ADAPTE L'ÉDITEUR À
LA PLATEFORME
• CERTAINES DÉFINITIONS SONT DISPONIBLE
(UNITY_ANDROID PAR EXEMPLE)
• CERTAINES PLATEFORMES DISPOSES DE
SIMULATEUR (WINDOWS MIXED REALITY, MAGIC
LEAP)
• C'EST LA PREMIÈRE ÉTAPE AVANT DE TESTER SUR LE
DEVICE
UTILISER PLUSIEURS SCÈNES
• NE PAS HÉSITER À AVOIR UNE SCÈNE SPÉCIFIQUE SUR
MOBILE PAR EXEMPLE
• OU D'UTILISER DES SCÈNES ADDITIVES QUI AJOUTENT DU
DÉCORS NON NÉCESSAIRES SUR D'AUTRES
• C'EST QUELQUE CHOSE DE TRÈS FRÉQUENT :)
ECRIRE DU CODE MULTIPLATEFORME
ECRITURE DE CODE MULTIPLATEFORME
• ECRITURE DE CODE LE PLUS GÉNÉRIQUE POSSIBLE
• CRÉATION D’ABSTRACTIONS ET D'IMPLÉMENTATIONS AVEC DES PREPROCESSORS
• VALIDATION DU FONCTIONNEMENT
• PUIS OPTIMISATION DU CONTENU PAR PLATEFORME !
• ATTENTION AUX SDKS INCOMPATIBLES ENTRE EUX
• ATTENTION AUX COMPORTEMENTS NON DÉSIRÉS DU FAIT DE PRENDRE EN CHARGE PLUS D'UNE
PLATEFORME
• TENTER D'AUTOMATISER UN MAXIMUM LES TESTS, CAR C'EST PRIMORDIALE
CRÉER DES ABSTRACTIONS
• ON CRÉE UNE ENTITÉ DE BASE AVEC DES
MÉTHODES ABSTRAITES
• ON DÉRIVE CETTE CLASSE AVEC LE
NOMBRE REQUIS D’ABSTRACTION
• UN MANAGER EST CHARGÉ
D’INSTANCIER LA OU LES BONNES
CLASSES ET DE LES UTILISER
• LE DÉVELOPPEUR NE TRAVAIL QU’AVEC
LE MANAGER, LE RESTE EST TRANSPARENT
IMPLÉMENTATION VIA PREPROCESSORS
LES PREPROCESSEURS
Preprocesseur Plateforme
UNITY_STANDALONE Windows, Linux, Mac
UNITY_STANDALONE_WIN Windows
UNITY_ANDROID Famille Android (téléphone, tablette, VR
mobile)
UNITY_IOS Famille IOS
UNITY_WSA Windows Store Application (UWP)
UNITY_XBOXONE Xbox One
UNITY_WEBGL WebGL
https://docs.unity3d.com/Manual/PlatformDependentCompilation.html
INTERFACE GRAPHIQUE
INTERFACE GRAPHIQUE
• SCREENSPACE VS WORLDSPACE
• SI L'UI EST COMPLEXE IL FAUT L'ADAPTER À
L'ÉCRAN
• SI L'UI PEUT ÊTRE FACILEMENT SCALÉE, UNITY
PROPOSE UN COMPOSANT QUI FAIT ÇA POUR
VOUS
• C'EST GÉNÉRALEMENT UNE MAUVAISE IDÉE DE
CONVERTIR UNE UI SCREENSPACE EN
WORLDSPACE
• LE CODE QUI GÈRE L'UI DOIT POUVOIR
FONCTIONNER AVEC TOUS LES TYPES D'UI
GESTION DE PLUSIEURS SDKS
INCOMPATIBLES ENTRE EUX
GESTION DE PLUSIEURS SDKS
• PARFOIS LES SDKS NE SONT PAS COMPATIBLES ENTRE EUX
(DLLS, JAR, MANIFEST.XML, ETC...)
• IL N'Y A PAS TROP DE POSSIBILITÉS.. SOIT ON FORK SUR UNE
BRANCHE, SOIT ON ADAPTE LE PROJET
• UNITY PERMET DE CRÉER DES ÉDITEUR CUSTOM, DE CRÉER SES
PROPRES PREPROCESSORS
• LE FRAMEWORK .NET PERMET DE DÉPLACER DES FICHIERS, DE
LES RENOMMER...
• AJOUTER UN ~ À LA FIN D'UN FICHIER/DOSSIER INDIQUERA À
UNITY DE NE PAS LE TRAITER
MERCI ! DES QUESTION ?

Contenu connexe

Similaire à Gestion de projet multiplateforme avec Unity

Sortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de testSortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de testDorra BARTAGUIZ
 
YLT paris js - mars 2015
YLT paris js - mars 2015YLT paris js - mars 2015
YLT paris js - mars 2015gaelmetais
 
[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec XamarinCellenza
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéeNicolas Silberman
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
L’informatique efficience
L’informatique efficienceL’informatique efficience
L’informatique efficienceMichel Bruchet
 
Exemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUMExemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUMAgile Tour 2009 Québec
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAssociation Agile Nantes
 
Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survieNicolas VERINAUD
 
Préparer et distribuer une application moderne d'entreprise
Préparer et distribuer une application moderne d'entreprisePréparer et distribuer une application moderne d'entreprise
Préparer et distribuer une application moderne d'entrepriseMicrosoft
 
C'est quoi, du bon code ?
C'est quoi, du bon code ?C'est quoi, du bon code ?
C'est quoi, du bon code ?Rémi Lesieur
 
Guillaume St Etienne : Services et Contrats Agiles
Guillaume St Etienne : Services et Contrats AgilesGuillaume St Etienne : Services et Contrats Agiles
Guillaume St Etienne : Services et Contrats Agilesagiletourbordeaux
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testablemartinsson
 
Méthodologie projet, historique et innovation
Méthodologie projet, historique et innovationMéthodologie projet, historique et innovation
Méthodologie projet, historique et innovation2le
 
Ergonomie et taux de clic Webx D&N 2012
Ergonomie et taux de clic Webx D&N 2012Ergonomie et taux de clic Webx D&N 2012
Ergonomie et taux de clic Webx D&N 2012jessica_papiot
 

Similaire à Gestion de projet multiplateforme avec Unity (20)

Sortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de testSortons de la pyramide pour construire une stratégie de test
Sortons de la pyramide pour construire une stratégie de test
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Agile pour l'echafaud ATT2020.pptx
Agile pour l'echafaud ATT2020.pptxAgile pour l'echafaud ATT2020.pptx
Agile pour l'echafaud ATT2020.pptx
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
YLT paris js - mars 2015
YLT paris js - mars 2015YLT paris js - mars 2015
YLT paris js - mars 2015
 
[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiée
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
L’informatique efficience
L’informatique efficienceL’informatique efficience
L’informatique efficience
 
Services & Contrats Agiles
Services & Contrats AgilesServices & Contrats Agiles
Services & Contrats Agiles
 
Exemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUMExemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUM
 
Method XP
Method XP Method XP
Method XP
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survie
 
Préparer et distribuer une application moderne d'entreprise
Préparer et distribuer une application moderne d'entreprisePréparer et distribuer une application moderne d'entreprise
Préparer et distribuer une application moderne d'entreprise
 
C'est quoi, du bon code ?
C'est quoi, du bon code ?C'est quoi, du bon code ?
C'est quoi, du bon code ?
 
Guillaume St Etienne : Services et Contrats Agiles
Guillaume St Etienne : Services et Contrats AgilesGuillaume St Etienne : Services et Contrats Agiles
Guillaume St Etienne : Services et Contrats Agiles
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testable
 
Méthodologie projet, historique et innovation
Méthodologie projet, historique et innovationMéthodologie projet, historique et innovation
Méthodologie projet, historique et innovation
 
Ergonomie et taux de clic Webx D&N 2012
Ergonomie et taux de clic Webx D&N 2012Ergonomie et taux de clic Webx D&N 2012
Ergonomie et taux de clic Webx D&N 2012
 

Plus de Yannick Comte

Présentation de HDRP
Présentation de HDRPPrésentation de HDRP
Présentation de HDRPYannick Comte
 
De Unity à Unreal Engine 4
De Unity à Unreal Engine 4De Unity à Unreal Engine 4
De Unity à Unreal Engine 4Yannick Comte
 
Un rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DUn rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DYannick Comte
 
Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Yannick Comte
 
Présentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonPrésentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonYannick Comte
 
XVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityXVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityYannick Comte
 
Windows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftWindows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftYannick Comte
 
Meetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceMeetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceYannick Comte
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Yannick Comte
 
Formation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité VirtuelleFormation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité VirtuelleYannick Comte
 
Le guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelleLe guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelleYannick Comte
 
Initiation à Unity 5
Initiation à Unity 5Initiation à Unity 5
Initiation à Unity 5Yannick Comte
 
La réalité virtuelle sur mobile
La réalité virtuelle sur mobileLa réalité virtuelle sur mobile
La réalité virtuelle sur mobileYannick Comte
 

Plus de Yannick Comte (13)

Présentation de HDRP
Présentation de HDRPPrésentation de HDRP
Présentation de HDRP
 
De Unity à Unreal Engine 4
De Unity à Unreal Engine 4De Unity à Unreal Engine 4
De Unity à Unreal Engine 4
 
Un rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DUn rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3D
 
Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018
 
Présentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonPrésentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D Lyon
 
XVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityXVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed Reality
 
Windows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftWindows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon Microsoft
 
Meetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceMeetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open source
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
 
Formation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité VirtuelleFormation Unity 3D Réalité Virtuelle
Formation Unity 3D Réalité Virtuelle
 
Le guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelleLe guide rapide de la réalité virtuelle
Le guide rapide de la réalité virtuelle
 
Initiation à Unity 5
Initiation à Unity 5Initiation à Unity 5
Initiation à Unity 5
 
La réalité virtuelle sur mobile
La réalité virtuelle sur mobileLa réalité virtuelle sur mobile
La réalité virtuelle sur mobile
 

Dernier

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 

Dernier (15)

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 

Gestion de projet multiplateforme avec Unity

  • 1. GESTION DE PROJET MULTIPLATEFORME MEETUP UNITY LYON #4 - YANNICK COMTE
  • 2. QUI SUIS-JE ? • SPÉCIALISÉ PROGRAMMATION 3D & VR • CHEF DE PROJET / LEAD DÉVELOPPEUR CHEZ WANADEV • DÉVELOPPEUR INDÉPENDANT CHEZ DEMONIXIS GAMES • PLUSIEURS JEUX LIVRÉS (PRINCIPALEMENT VR) AVEC UNITY SUR PLUSIEURS PLATEFORMES @CYannick Yannick Comte
  • 3. SOMMAIRE • QU’EST-CE QUI DIFFÉRENCIE UNE PLATEFORME D’UNE AUTRE ? • LES CHOSES À FAIRE DEPUIS L'ÉDITEUR • ECRITURE DE CODE MULTIPLATEFORME • GESTION UI ET HUD • GESTION DE PLUSIEURS SDKS INCOMPATIBLES ENTRE EUX Tous les extraits de code proviennent du jeu GunSpinning VR
  • 4. QU’EST-CE QUI DIFFÉRENCIE UNE PLATEFORME D’UNE AUTRE ?
  • 5. QU’EST CE QUI DÉFINIT UNE PLATEFORME ? LE HARDWARE • CPU / GPU • INPUT : GAMEPAD, MOTION CONTROLLER, TOUCH... • PROTOCOLE RÉSEAU : WEBSOCKET, SOCKET.. • ÉCRAN : LUMINOSITÉ, TAILLE, RÉSOLUTION.. LE SOFTWARE • SYSTÈME D’EXPLOITATION • KIT DE DÉVELOPPEMENT • PLUSIEURS RESTRICTIONS
  • 6. LES CHOSES À FAIRE DEPUIS L'ÉDITEUR
  • 7. LES RÉGLAGES DE QUALITÉ • CRÉER UN OU PLUSIEURS PROFILS PAR PLATEFORMES • LOD BIAS PERMET D'AFFICHER PLUS RAPIDEMENT LES LODS. IMPORTANT SUR MOBILE PAR EXEMPLE POUR FORCER DES MODÈLES PLUS LOW POLY. • NOMBRE DE LUMIÈRES TEMPS RÉEL (FORWARD RENDERER) • RÉSOLUTION DES TEXTURES / FILTRAGE • MODE D'OMBRE SUPPORTÉS
  • 8. PASSER SUR UNE AUTRE PLATEFORME • C'EST IMPORTANT CAR UNITY ADAPTE L'ÉDITEUR À LA PLATEFORME • CERTAINES DÉFINITIONS SONT DISPONIBLE (UNITY_ANDROID PAR EXEMPLE) • CERTAINES PLATEFORMES DISPOSES DE SIMULATEUR (WINDOWS MIXED REALITY, MAGIC LEAP) • C'EST LA PREMIÈRE ÉTAPE AVANT DE TESTER SUR LE DEVICE
  • 9. UTILISER PLUSIEURS SCÈNES • NE PAS HÉSITER À AVOIR UNE SCÈNE SPÉCIFIQUE SUR MOBILE PAR EXEMPLE • OU D'UTILISER DES SCÈNES ADDITIVES QUI AJOUTENT DU DÉCORS NON NÉCESSAIRES SUR D'AUTRES • C'EST QUELQUE CHOSE DE TRÈS FRÉQUENT :)
  • 10. ECRIRE DU CODE MULTIPLATEFORME
  • 11. ECRITURE DE CODE MULTIPLATEFORME • ECRITURE DE CODE LE PLUS GÉNÉRIQUE POSSIBLE • CRÉATION D’ABSTRACTIONS ET D'IMPLÉMENTATIONS AVEC DES PREPROCESSORS • VALIDATION DU FONCTIONNEMENT • PUIS OPTIMISATION DU CONTENU PAR PLATEFORME ! • ATTENTION AUX SDKS INCOMPATIBLES ENTRE EUX • ATTENTION AUX COMPORTEMENTS NON DÉSIRÉS DU FAIT DE PRENDRE EN CHARGE PLUS D'UNE PLATEFORME • TENTER D'AUTOMATISER UN MAXIMUM LES TESTS, CAR C'EST PRIMORDIALE
  • 12. CRÉER DES ABSTRACTIONS • ON CRÉE UNE ENTITÉ DE BASE AVEC DES MÉTHODES ABSTRAITES • ON DÉRIVE CETTE CLASSE AVEC LE NOMBRE REQUIS D’ABSTRACTION • UN MANAGER EST CHARGÉ D’INSTANCIER LA OU LES BONNES CLASSES ET DE LES UTILISER • LE DÉVELOPPEUR NE TRAVAIL QU’AVEC LE MANAGER, LE RESTE EST TRANSPARENT
  • 14. LES PREPROCESSEURS Preprocesseur Plateforme UNITY_STANDALONE Windows, Linux, Mac UNITY_STANDALONE_WIN Windows UNITY_ANDROID Famille Android (téléphone, tablette, VR mobile) UNITY_IOS Famille IOS UNITY_WSA Windows Store Application (UWP) UNITY_XBOXONE Xbox One UNITY_WEBGL WebGL https://docs.unity3d.com/Manual/PlatformDependentCompilation.html
  • 16. INTERFACE GRAPHIQUE • SCREENSPACE VS WORLDSPACE • SI L'UI EST COMPLEXE IL FAUT L'ADAPTER À L'ÉCRAN • SI L'UI PEUT ÊTRE FACILEMENT SCALÉE, UNITY PROPOSE UN COMPOSANT QUI FAIT ÇA POUR VOUS • C'EST GÉNÉRALEMENT UNE MAUVAISE IDÉE DE CONVERTIR UNE UI SCREENSPACE EN WORLDSPACE • LE CODE QUI GÈRE L'UI DOIT POUVOIR FONCTIONNER AVEC TOUS LES TYPES D'UI
  • 17. GESTION DE PLUSIEURS SDKS INCOMPATIBLES ENTRE EUX
  • 18. GESTION DE PLUSIEURS SDKS • PARFOIS LES SDKS NE SONT PAS COMPATIBLES ENTRE EUX (DLLS, JAR, MANIFEST.XML, ETC...) • IL N'Y A PAS TROP DE POSSIBILITÉS.. SOIT ON FORK SUR UNE BRANCHE, SOIT ON ADAPTE LE PROJET • UNITY PERMET DE CRÉER DES ÉDITEUR CUSTOM, DE CRÉER SES PROPRES PREPROCESSORS • LE FRAMEWORK .NET PERMET DE DÉPLACER DES FICHIERS, DE LES RENOMMER... • AJOUTER UN ~ À LA FIN D'UN FICHIER/DOSSIER INDIQUERA À UNITY DE NE PAS LE TRAITER
  • 19. MERCI ! DES QUESTION ?