Travail2
Ce travail vous aidera à vous familiariser avec les principes de la 3D dans Unity.
1. Préparer le projet¶
- Premièrement, créez un nouveau projet à l'aide du modèle 3D (Built-In Render Pipeline).
- Créez les dossiers suivants pour ranger vos fichiers dans la fenêtre project:
- Animation
- Art
- Audio
- Font - Materials
- Prefabs
- Scripts
- Ensuite, importez le paquet Polygon - Sampler Pack de Synty studio à l'aide du Package Manager.
2. Préparer la première Scène¶
- Créez une nouvelle scène à votre nom.
- Dans les dossiers Synty studio, sélectionnez un Prefab de sol que vous placerez en position (0,0,0). Au besoin, utilisez plusieurs tuiles pour créer un assez gros terrain.
- Dans les mêmes dossiers, sélectionnez un bâtiment qui comprend un intérieur et un extérieur. Positionnez celui-ci sur le terrain. Si le terrain est trop petit pour la maison, agrandissez-le. On va essayer de laisser la taille de la maison à (1,1,1).
- Agrémentez la maison et son extérieur de quelques prefabs. Divisez l'intérieur de votre bâtiment en trois zones grâce aux objets. Note: Vous pouvez aussi créer trois zones à l'extérieur et ne pas avoir de bâtiment ou encore avoir un bâtiment qui est une zone et deux zones à l'extérieur ou l'inverse. C'est à votre choix!
- Dans le dossier Assets-> SyntyStudios-> PolygonPrototype-> Prefabs-> Icons, trouvez les objets point light et spot light, mettez-les dans deux zones différentes de votre bâtiment.
Bonne pratique
Classez vos objets de décoration dans des GameObject Empty bien nommés. Cela vous permettra de vous retrouver plus facilement dans votre hiérarchie!
3. Créer une télévision¶
Information
Assurez-vous d'être dans la zone qui ne contient ni le spot light, ni le point light. Vous pouvez créer une télévision ou tout autre objet. L'important est qu'éventuellement une vidéo jouera sur la surface.
Nous allons créer une télé à l'aide des objets 3D de Unity.
- Créez un objet vide à une position de (0,0,0) nommé tele, les parties de votre télévision iront à l'intérieur de celui-ci. (Hierarchy -> Clic droit -> Create Empty)
- Créez un cube, puis redimensionnez-le au format de votre télévision. (Hierarchy -> Clic droit -> 3D Object -> Cube)
- Créez ensuite un plane qui sera votre écran et positionnez-le au-dessus du cadre de votre télévision. (Hierarchy -> Clic droit -> 3D Object -> Plane)
- Créez un matériel pour le cadre de votre télé et choisissez sa couleur. (Project -> Materials -> Clic droit -> Create -> Material)
- Créez également un matériel pour votre écran et choisissez une image par défaut.
4. Modifier le ciel (Skybox)¶
Nous allons modifier la Skybox de votre scene.
- Créez un nouveau matériel. Comme shader, sélectionnez Skybox, procedural.
- Ouvrez la fenêtre lighting. (Window -> Rendering -> Lighting)
- Glissez votre nouveau ciel comme Skybox material dans la section Environnement, Skybox Material de la fenêtre Lighting.
- Dans l'inspecteur, modifiez les paramètres de votre ciel pour lui donner les couleurs de votre choix.
5. Déplacement du personnage¶
Pour configurer le déplacement de votre caméra, vous devez télécharger ces scripts:
- Suivez ensuite la vidéo suivante pour bien configurer votre joueur et ses déplacements:
Attention
Assurez-vous que le scale de votre personnage n'est pas inférieur à (0.1, 0.1, 0.1). Cela nous assurera du bon fonctionnement des colliders.
6. Éclairage de la scène¶
- Ajustez le directionnal light à votre goût.
- Créez une point light sur le bulbe que vous avez inséré plus tôt.
- Créez un spot light sur le spot que vous avez inséré plus tôt.
Note
Si vous ne voulez aucune ombre, vous pouvez aller dans le paramètre Shadow Type de votre éclairage et sélectionner No Shadows.
7. Création de zones¶
Note
Rappel, vous avez besoin de 3 zones, une avec une télévision (ou un objet qui joue une vidéo), une avec un spotlight et une avec un pointlight. Les zones peuvent être à l'extérieur ou l'intérieur, mais elles doivent être faciles à trouver.
- Créez un objet vide avec un box collider pour chaque pièce de la maison. Assurez-vous que les colliders ont la bonne taille pour couvrir toute la pièce.
- Activez la fonction is Trigger de chaque collider pour permettre à votre personnage de se promener entre les pièces.
8. Allumer ou éteindre une lumière avec la détection¶
- Suivez la vidéo suivante pour allumer ou éteindre une ampoule selon la présence ou non de votre personnage dans la pièce:
9. Partir ou arrêter une vidéo avec la détection¶
- Suivez la vidéo suivante pour partir ou arrêter une vidéo dans votre télévision selon la présence ou non de votre personnage dans la pièce:
10. Animer un paramètre sur une lumière¶
- Suivez la vidéo suivante pour animer l'état d'une lumière et partir vos animations selon la présence ou non de votre personnage dans la pièce:
11. Créer des prefabs¶
- Suivez la vidéo suivante pour ajouter des objets que le personnage pourra récupérer dans votre pièce:
12. Amasser des objets¶
- Suivez la vidéo suivante pour amasser des objets et les compter:
13. Canvas et réussite¶
- Suivez la vidéo suivante pour terminer votre exercice:
- Vous pouvez télécharger votre son de réussite depuis internet, pixabay en a des bons.
14. Colliders¶
- Assurez-vous que le personnage ne puisse pas tomber dans le vide en disposant des box colliders autour de votre terrain.
- Assurez-vous aussi qu'on puisse entrer et sortir de votre maison.
15. Défis¶
Avant de terminer, vous devez réaliser au moins deux des défis suivants. Il n'y a pas d'indications sur comment les réussir, faites des tests!
- Animez une lumière Directionnal light pour simuler le cycle du jour et de la nuit à l'extérieur de la maison.
- Ajustez le script de votre personnage pour qu'il apparaisse au même endroit à chaque fois que le jeu recommence OU ajustez le script pour que peu importe la position de votre personnage au début, la bonne zone est détectée, puis animée.
- Créez une quatrième zone de détection. Dedans il y a un objet animé et lorsque vous entrez dans la zone l'animation de cet objet change.
- Lorsqu'on appuie sur la touche esc. un menu apparaît et nous permet de fermer le jeu.
Attention
Si vous voulez que votre personnage puisse se téléporter, vous aurez besoin d'activer et de désactiver le Character controller de votre joueur. Voici un extrait de code pour vous aider:
joueur.GetComponent<CharacterController>().enabled = false;
joueur.transform.position = zoneTeleport.transform.position;
joueur.GetComponent<CharacterController>().enabled = true;
16. Exporter le jeu¶
- Exporter le jeu à l'aide du bouton build dans File, build settings.
- Remettez le .exe de votre jeu à votre nom dans le dossier de remise: