
Principe des sorties des Ateliers
Fonctionnement et principe de la pédagogie
intro de la section
Première présentation et autres alternatives
Différence entre un moteur de jeu et un framework
Présentation du site officiel de Unity et des licences existantes
Installation d'une version de Unity depuis UnityHub
Création d'un nouveau projet avec Unity Hub
Présentation des fenêtres principales de l'éditeur de Unity
Premier exercice du cours
comment trouver des assets gratuits pour commencer le prototypage de votre jeu vidéo ?
Comment ajouter des éléments dans la scène depuis le dossier Assets ? Contrôle systématique de la position ...
Présentation de quelques raccourcis claviers hyper utiles...
Découvrez le nouvel outil Transform Tools depuis Unity 2017
Cette notion est fondamentale dans le développement
Dans tous les jeux et beaucoup d'applications, il est nécessaire de savoir détecter des collisions. Sans même parler de notion de Physics 3D (Physique), avec la gravité par exemple, il nous faut comprendre les colliders et collision avant d'aller plus loin.
Retrouvons le composant Rigidbody, vu dans la session précédente, comme étant essentiel pour les collisions.
Une fois équipé d'un Rigidbody, on peut scripter en C# l'interaction qui doit avoir lieu. Utilisation des callbacks de Collision de Unity.
Voici comment procéder pour suivre cette mise en application sur les collisions avec Unity
Pour commencer nous allons gérer tout d'abord notre personnage: le Dragon
Comme nous voulons que ce soit notre Dragon qui détecte les collisions, nous lui mettons un composant Rigidbody, et un composant Collider pour définir son Volume de collision.
Retrouvez la vidéo timeline, sans parole, mais avec explications incluses.
On continue par la préparation du CheckPoint du point de vue des collisions
Comme nous voulons que ce soit notre Dragon puisse entrer en collision avec le CheckPoint, et donc que l'on puisse agir en cas de détection, nous lui mettons un composant Collider pour définir son Volume de collision.
Retrouvez la vidéo timeline, sans parole, mais avec explications incluses.
Et si on testait différents réglagles ?
La vidéo ci-dessus présente 3 tests avec des réglages différents sur le paramètre IsTrigger.
Cela vous permet de bien voir comment se comporte les uns et les autres selon les réglages.
Il est à noter que dès que l'on désactive sur le dragon IsTrigger, ce dernier est impacté par la collision, et ce grâce au moteur Physique de unity, qui agit au travers du composant Rigidbody. Le CheckPoint n'a aucune réaction, lui, car il n'a pas ce composant !
Dans le cas d'un jeu comme Angry Birds, qui exploite pleinement le moteur physique, il faudrait bien sûr ajouter le composant Rigidbody au CheckPoint !
Finalisons cet Atelier en scriptant en C# la détection de la collision
Dans cette session nous allons utiliser les 3 méthodes de callback de type IsTrigger, afin de pouvoir détecter l'entrée, le fait de rester, ainsi que la sortie de la zone de collision du ChekPoint.
Retrouvez la vidéo timeline, sans parole, mais avec explications incluses.
Voici d'autres vidéos sur le thème des collision avec Unity
Bilan de l'Atelier
Découvrez les différentes lumières existantes dans Unity. Apprenez à les connaître pour mieux vous en servir.
Un autre type de lumière très utilisé dans Unity.
On mettrait pas des spots dans la cuisine ?
Voici un type de lumière qui va vous forcer à faire un Bake !
Un Material émissif a la propriété d'émettre de la lumière sur sa surface.
Prise en main du projet Imite une mise en lumière
Comment faire et le piège caché révélé !
L'Input Manager c'est quoi ?
Voyons maintenant comment utiliser un Axe par script C#
Cas d'étude plus précis sur l'axe Jump en guise de mise en pratique
Présentation de l'Atelier
En utilisant la méthode Input.GetKeyDown(), nous allons coder notre premier script de déplacement
Retrouvez le lien vers la vidéo #DebugZone n°1 sur l'erreur rencontrée dans cette session: https://www.youtube.com/watch?v=w0V713KJjFM&feature=youtu.be (publiée Samedi 25/04/2020)
Ici nous complétons le script initial pour pouvoir faire une rotation avec les touches de son clavier
Maintenant que le script est fonctionnel nous allons ajuster le script selon nos besoins.
Nous utilisons ici une notion importante dans le développement de jeu vidéo !
Tout jeu dispose au moins d'une caméra, sans cela les joueurs ne verront rien à l'écran !
Utile principalement pour les jeux 2D, cette caméra est essentielle
Indispensable aux jeux 3D, la caméra perspective est un pilier dans Unity.
Dernière possibilité sur les types de Caméras dans Unity
Présentation de la mission
Nous allons maintenant utiliser une caméra dans notre scène, tout en lui ajustant un effet Shake.
Cet effet sera pour cette première méthode, basé sur un script qui agira sur le composant Transform de notre GameObject MainCamera.
Retrouvez le package de démarrage de la mission .
Utilisons le Transform pour remuer notre Caméra
Le code est issu d'un dépôt online, et il a été crée par "ftvs".
La classe est utilisée directement dans notre scène, avec quelques ajustements cependant pour ajuster l'effet. Mais on ne change pas le concept initial du script C#.
Sachez que l'utilisation systématique de la méthode Update n'est pas conseillée. En effet rappelez vous bien que toutes les méthodes update de tous les script, sont appelées en boucle de manière très rapide !
Ainsi il est possible de conserver l'esprit de ce script, tout en le couplant avec l'utilisation.
Prenons un exemple trouvé sur la toile ...
Rappels essentiels avant de commencer
Selon la caméra à utiliser la technique de zoom est différente...
Utilisons maintenant un autre paramètre pour le zoom avec une caméra 3D
Il faut maintenant limiter les valeurs possibles du zoom, afin de finaliser le script
uGUI est apparu sur les version 5.x de Unity ...il y avait quoi avant ?
Le Canvas est une des briques essentielles de Unity GUI
Comment disposer nos éléments d'interface ?
Utilisation de 2 composants principaux
On va pas toujours utiliser la police par défaut de unity !
C'est à vous !
Avez-vous réussi l'exercice précédent ?
Introduction de l'Atelier
Processus de création d'un prefab
Comment modifier un prefab après coup ? Edition d'un prefab (prefab workflow)
Création de clone de Prefab dynamiquement par script
Ajuster la parenté (Parent-Child) lors de l'instantiation
Ajuster le Quaternion lors de l'instantiation
Comment gérer les Nested Prefab et les "Variant" (Variantes)
Mise en application avec un prefab plus évolué
Conclusion
Présentation et objectifs
Introduction et présentation de la scène de travail
utilisation de GetComponent pour changer l'orientation du Player
Comment utiliser cette méthode ?
Récupération du score donné par l'item
Préparons l'étude sur l'utilisation de la staticité en commençant par un cas de comparaison.
Modification des scripts précédents pour prendre la voie statique.
Appliquez ce qui a été vu sur la session précédente
Correction de l'exercice précédent
Présentation de la partie 3
Comment utiliser les méthodes ?
Envoyer un message au Player pour bloquer ses input.
Envoyer un message à plusieurs GameObject en même temps !
liens ressources
Bienvenue sur ce second volume, ciblé sur les fondamentaux du moteur de jeux Unity 2018-2019, orienté clairement pour les jeux vidéos.
Dans ce cours vous allez apprendre à utiliser les principales fonctionnalités de Unity 2018-2019, tout en codant en C# .
Une introduction à la programmation orientée objet sous Unity sera aussi traitée afin de vous initier correctement au monde de la création de jeux vidéos et applications.
Il est à noter qu'il est préférable d'avoir des bases dans le langage C# avant d'aborder ce cours.
Vous en avez assez d’imiter un cours ?
Vous vous sentez incapables de personnaliser les contenus qu’on vous propose ou que vous trouvez sur internet?
Vous ne savez pas par où commencer votre jeu vidéo ?
Apprenez à apprendre !!
Réfléchissez par vous mêmes !!
A la fin de ce cours vous serez autonomes pour pouvoir créer votre propre jeu vidéo avec le thème de votre choix.
En apprenant les composants nécessaires d'un jeu vidéo et leur utilisation dans Unity, mais aussi comment trouver les informations ou ressources utiles, vous serez en mesure d’inventer VOS solutions.
NOTE : volume 3 en cours de réalisation : Programmation Orientée Objet C# pour les jeux Unity Développeur . Sortie prévue hiver 2020-printemps 2021.
Dernière mise à jour : 19 Mai 2020 puis le 06 Juin 2020
Ajout d'un Atelier IHM #niv 1 : composant Text et Images, notion de Canvas
Ajout d'un Atelier complet sur la notion de Prefab : compatible Unity 2018 et 2019
Ajout d'un Atelier sur l'API de Unity afin de voir comment communiquer entre scripts et GameObject
Contenu
Dans un premier temps nous verrons comment installer Unity et démarrer un projet, tout en voyant une première approche du travail du Level Designer.
A la fin de cette partie vous aurez les outils et les ressources pour créer votre scène de jeu.
Puis nous verrons les composants essentiels de Unity comme les Colliders ou encore les Rigidbody.
Un Atelier est aussi dédié à l'utilisation des lumières (Light) dans Unity.
Les notions sur les Input sont réparties en plusieurs Ateliers. L'utilisation des touches clavier est traitée dans l'Atelier "clavier", dans lequel nous faisons un script de déplacement d'un personnage. Et la souris est traitée dans l'Atelier "zoom avec la molette de la souris"
L'Atelier Camera vous présente les différents types de caméras possible dans Unity, tout en vous proposant, en exercice d'implémenter le fameux effet Shake Camera !
Plusieurs ateliers sur les interfaces utilisateurs (IHM) avec le package Unity UI (uGUI) sont prévus. Un atelier est déjà publié.
Un Atelier dédié à l'utilisation de Prefab et du nouveau Prefab Workflow depuis Unity 2018, notions essentielles de Unity.
Afin de pouvoir communiquer entre scripts et GameObject, un atelier dédié est proposé afin de découvrir 3 méthodes différentes et complémentaires.
Les notions d'objets et de programmation orientée objet seront introduites afin de vous initier au codage sous Unity en C#, tout en utilisant l'API de Unity.
Afin de mettre en pratique ce que vous apprendrez, il est prévu des Ateliers de types projets. Le premier porte sur un mini-jeu 2D, un mix entre un Bubble Shooter et un Walll Breaker.
Retrouvez le jeu complet, pour le fun sur:
Apple Store : lien dans la première session de l'Atelier
Google Play: lien dans la première session de l'Atelier
Programme à venir
Nous verrons d'autres composants essentiels de Unity comme les Input pour mobiles.
Nous aborderons par la suite, la gestion des animations 2D et 3D.
Enfin nous verrons la gestion des interfaces utilisateurs (UI/UX), des sons, ainsi que des astuces de développement ou encore des études de cas.
Ce cours est compatible Unity 2017, Unity 2018, Unity 2019, Unity 2020.
Si vous rencontrez des difficultés en cours d'apprentissage, vous pouvez utiliser la section Questions/Réponses et je ferai de mon possible pour vous débloquer.
Commencez dès maintenant, au travers de ce second volume, votre formation “Développeur Unity”.
Rejoignez le cours, en cliquant sur Suivre ce cours en haut à droite.