Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gestion de projet multiplateforme avec Unity

153 views

Published on

Slides utilisées lors du meetup Unity Lyon #4 à Wanadev. On parle ici de gestion de projet multiplateforme. Comme répondre aux problématiques de chaque plateformes sur le même projet ?

Published in: Engineering
  • Visit Here to Download eBook === http://hellowbookeas.cf/2212562977-le-kit-du-chef-de-projet.html
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Gestion de projet multiplateforme avec Unity

  1. 1. GESTION DE PROJET MULTIPLATEFORME MEETUP UNITY LYON #4 - YANNICK COMTE
  2. 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. 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. 4. QU’EST-CE QUI DIFFÉRENCIE UNE PLATEFORME D’UNE AUTRE ?
  5. 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. 6. LES CHOSES À FAIRE DEPUIS L'ÉDITEUR
  7. 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. 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. 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. 10. ECRIRE DU CODE MULTIPLATEFORME
  11. 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. 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
  13. 13. IMPLÉMENTATION VIA PREPROCESSORS
  14. 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
  15. 15. INTERFACE GRAPHIQUE
  16. 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. 17. GESTION DE PLUSIEURS SDKS INCOMPATIBLES ENTRE EUX
  18. 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. 19. MERCI ! DES QUESTION ?

×