Aller au contenu

Cours 6

Élections Québec 2026

Christine Fréchette (CAQ) (première ministre sortante), Charles Milliard (PLQ), Ruba Ghazal (QS), Paul St-Pierre Plamondon (PQ), Éric Duhaime (PCQ)

C’est votre première élection provinciale? Voici ce qu’il faut savoir | Élections Québec 2026

La Boussole électorale

La Boussole électorale est un outil développé par des politologues pour vous aider à comparer vos opinions avec celles des partis.

Où quand comment ?

Le lundi 5 octobre 2026

Vous devriez avoir reçu votre carte d’information de l’électeur pour savoir où voter. Sinon, trouvez votre bureau de vote .

Pour savoir qui se présente dans votre circonscription et connaître ses enjeux spécifiques, cherchez votre circonscription .

Asset Store et Git

Avant d'installer un asset que vous testez pour la première fois, faites toujours un commit et un push. Certains assets peuvent corrompre un projet !

Pour éviter de devoir recommencer inutilement depuis une vieille version, assurez-vous de faire des commit/push régulièrement.

Character controller

Ajuster les options en mode Play permet de tester sans briser les configurations

Effet humain 💃

Par défaut, il y a un petit effet de respiration qui déplace légèrement la caméra pour un effet plus humain.

Pour le désactiver, dans PlayerFollowCamera, dans Cinemachine Camera > Procedural Components > Noise, choisir None.

Ajustements généraux

PlayerArmature (TPS) ou PlayerCapsule (FPS) :

  • Move Speed
  • Sprint Speed
  • Jump Height
  • Gravity

Autres options à regarder dans PlayerFollowCamera > Cinemachine Third Person Follow :

  • Damping : La vitesse de réponse de la caméra quand on est en mouvement
  • Shoulder Offset : Repositionne la caméra à partir du personnage

Champ de vision (FOV) 👀

PlayerFollowCamera :

  • Cinemachine Camera > Lens > Field Of View : changer la valeur

2.5D

Reculer la caméra : PlayerFollowCamera > Cinemachine Third Person Follow > Camera Distance

Retirer la perspective : sur MainCamera, dans Camera > Projection, changer Perspective pour Orthographic

Désactiver ⬆ et ⬇ : sur PlayerArmature, ajouter ce script :

Controles25D.cs
using UnityEngine;
using StarterAssets;

[DefaultExecutionOrder(-100)]
public class Controles25D : MonoBehaviour
{
    StarterAssetsInputs input;
    void Start() { 
        input = GetComponent<StarterAssetsInputs>(); 
    }

    void Update() { 
        input.move.y = 0; 
    }
}

Vue d'oiseau

PlayerArmature :

  • Camera Angle Override = 65
  • Cocher Lock Camera Position (désactive la gestion de la caméra par la souris)

Vue isométrique

Une vue isométrique c'est quand la caméra suit le personnage d'un angle d'environ 35° vers le bas (35.264° exactement) et 45° en diagonale, sans perspective.

  • Retirer la perspective : sur MainCamera, dans Camera > Projection, changer Perspective pour Orthographic

PlayerArmature :

  • Rotation Y = 45
  • Cocher Lock Camera Position
  • Camera Angle Override = 35.264

PlayerFollowCamera :

  • Lens > Orthographic Size = 6
  • Cinemachine Camera > Procedural Components > Noise = None
  • Shoulder Offset = 0, 0, 0
  • Vertical Arm Length = 0
  • Camera Distance = 20
  • Décocher Avoid Obstacles

Saut multiple

Et si on branchait le CES 🤔 !?

Woah ! Bonne idée !

  • Dans un Trigger Cube, ajoute une Action de type Invoke Events.
  • Ensuite, glisse le PlayerArmature (en TPS) ou le PlayerCapsule (en FPS) dedans
  • Comme fonction, choisis ExtraJumpsTPS (ou ExtraJumpsFPS), puis AjouterSaut
  • Entre la hauteur du saut ajouté (ex. : 3) : ça ajoutera un saut de plus !

S'accroupir en FPS

Tir

Tir.cs
using UnityEngine;
using UnityEngine.InputSystem;

public class Tir : MonoBehaviour
{
    public GameObject bulletPrefab;
    public Transform fireStartingPoint;
    public Camera cam;
    public float speed = 60f;

    void Update()
    {
        if (Mouse.current.leftButton.wasPressedThisFrame)
        {
            Quaternion direction = Quaternion.Euler(cam.transform.eulerAngles.x, transform.eulerAngles.y, 0);
            GameObject bullet = Instantiate(bulletPrefab, fireStartingPoint.position, direction * bulletPrefab.transform.rotation);
            bullet.GetComponentInChildren<Rigidbody>().AddForce(direction * Vector3.forward * speed, ForceMode.VelocityChange);
            Destroy(bullet, 3f);
        }
    }
}
  1. Dans Assets > _ > Scripts, ajouter le script ci-dessus (Create > Scripting > MonoBehaviour Script)
  2. Créer un prefab pour le projectile
    • Créer un Empty Object et le renommer « Bullet »
    • Créer une Sphere (GameObject > 3D Object > Sphere) comme enfant de « Bullet »
    • Réduire l'échelle de la sphère (ex. : 0.2)
    • Sur « Bullet » (l'Empty Object, pas la sphère), ajouter un Rigidbody :
      • Collision Detection = Continuous Dynamic
      • Mass = Environ 0.1
    • Glisser « Bullet » dans le dossier Assets > _ > Prefabs pour en faire un prefab
    • Supprimer « Bullet » du panneau Hierarchy
    • Appliquer un nouveau Tag au prefab (ex. : Projectile)
  3. Créer le départ du projectile
    • En FPS, créer un Empty Object comme enfant de PlayerCameraRoot
    • En TPS, créer un Empty Object comme enfant de PlayerArmature
    • Le renommer « ShootStart »
    • Le déplacer de sorte qu'il soit un peu devant le personnage
  4. Appliquer le script
    • Ajouter sur PlayerCapsule (FPS) ou PlayerArmature (TPS)
    • Glisser le prefab Bullet, le ShootStart et la MainCamera dans les champs du panneau Inspector

Ajustement

En TPS, ajouter un peu de Shoulder Offset (X) sur PlayerFollowCamera aide à mieux voir la trajectoire du projectile.

Tir en TPS

Le script Tir.cs utilise l'orientation horizontale du personnage et l'inclinaison verticale de la caméra. En FPS, le personnage tourne avec la caméra, donc le projectile part là où l'on regarde. En TPS, par contre, le personnage se tourne dans sa direction de déplacement : le projectile part donc devant le personnage, pas nécessairement là où la caméra regarde.

Pour un effet plus "normal", il est préférable de faire tourner le personnage en même temps que la caméra :

  • Appliquer le script MatchCameraYaw.cs sur PlayerArmature
  • Glisser PlayerCameraRoot dans le champ Player Camera Root du script

L'inconvénient est que l'animation de déplacement sera moins fluide lors des déplacements latéraux.

Viseur

Qui dit tir, dit Viseur (Crosshair) ! Même sans tir, ça aide à orienter le regard.

Pour un FPS, rien de nouveau. Il suffit d'ajouter un canvas avec au centre, ledit crosshair ! Voici plein d'images utiles pour cela : https://kenney.nl/assets/crosshair-pack .

Pour un TPS, le crosshair est effectivement une option, mais il est alors préférable d'utiliser le script MatchCameraYaw.cs pour que le personnage soit toujours orienté dans la même direction que la caméra.

Retour sur les UI

Technique 9 slicing sprite

La technique du 9-slice scaling permet d'étirer une image matricielle sans la déformer ni la pixelliser. Elle est principalement utilisée pour les éléments d'interface (UI) comme les boutons ou les boîtes de dialogue.

  1. Trouver une image de bouton carré sur Kenney.nl
  2. Glisser l'image dans Assets > _ > Sprites
  3. Cliquer sur l'image

    Cliquer sur Install 2D Sprite Package si ce n'est pas déjà installé

  4. Texture type = Sprite (2D and UI)
    • Si l'image est en pixelart, Filter Mode = Point (no filter)
  5. Sprite Mode = Single
  6. Cliquer sur Apply
  7. Cliquer sur Open Sprite Editor
  8. Glisser les 4 lignes vertes vers le centre de sorte à avoir un centre uni
  9. Cliquer sur Apply et fermer le Sprite Editor

Dans le panneau Hierarchy :

  1. Cliquer sur un bouton dans le canvas
  2. Dans le panneau Inspector, glisser le sprite du panneau Project vers Image > Source Image
  3. Image Type = Sliced

Événement déclenché par le clavier

  • Créer un Empty Object
  • Ajouter le composant Condition Watcher (fourni par le CES)

Ça se configure de la même manière qu'avec un prefab Trigger. On peut ainsi déclencher des actions quand la condition est respectée.

Animation par keyframe

Créer un clip

  1. Ajouter la fenêtre Animation à votre interface (placez-la idéalement au même endroit que la console).
  2. Cliquer sur l'élément à animer
  3. Dans le panneau Animation, cliquer sur Create
  4. Nommer l'animation (ex. : AvionAnimation.anim) et l'enregistrer sous Assets > _ > Animations

Configurer l'animation (Dopesheet)

  1. Pour faciliter la gestion de l'animation, cliquer sur le bouton d'enregistrement rouge
  2. Appliquer une modification sur l'objet dans le panneau Scene (ex. : position, rotation et scale)
  3. Déplacer le curseur sur la ligne du temps
  4. Appliquer d'autres modifications
  5. Déplacer le curseur sur la ligne du temps
  6. Appliquer d'autres modifications et ainsi de suite.
  7. Cliquer sur le bouton d'enregistrement à nouveau pour arrêter d'enregistrer
  8. Ajuster l'animation avec les curves au besoin

Animator

  1. Un nouveau panneau devrait apparaitre à côté de Scene et Game. S'il n'y est pas, Window > Animation > Animator
  2. Cliquer sur l'animation pour changer sa vitesse (Speed) dans l'Inspector au besoin
  3. Double-cliquer sur l'animation, puis cocher ou décocher Loop Time dans l'Inspector

How to create animations in Unity | Synty Studios

Splines

  1. Dans Package Manager cliquer sur Unity Registry
  2. Chercher Splines et cliquer sur Install (il se peut que ce soit déjà installé)

Création du Spline

Dans le panneau Scene, utiliser l'option "Create Spline" situé dans la barre d'outils de gauche.

Loft Road Behaviour

Pour afficher un Spline sous forme de route :

  1. Importer les exemples du package : Package Manager > Splines > Samples > Import
  2. Créer un Spline
  3. Ajouter le composant "Loft Road Behaviour" sur le Spline

Pour augmenter la largeur :

  • Ajouter un élément dans Widths
  • Utiliser l'outil Width dans la barre d'outil :

Pas de Collider ?

Non par défaut il n'y a pas de collider.

Pour en ajouter un, ajoutez SplineRoadBehaviour.cs à vos scripts (Assets > _ > Scripts) et glissez-le sur l'Inspector du spline en question. Ça va en créer un.

MAIS, idéalement, la route serait à plat sur le plancher.

Build With SPLINES in UNITY 6 | Synty Studios

Spline animate

Pour créer une animation qui suit le Spline :

  1. Créer un Spline
  2. Sélectionner le GameObject à animer
  3. Ajouter un Composant "Spline Animate"
  4. Glisser le Spline créé dans le champ "Spline"
  5. Ajuster les paramètres au besoin

À essayer

  • "Spline Instantiate" : permet de créer des instances le long d'un spline
  • "Spline extrude" : permet d'utiliser un Spline pour en faire une forme (ex. : tuyaux)

How to get started with the splines package | Unity

Projet final

  • Semaine 6 | 1 octobre ⭐️ Aujourd'hui
  • Semaine 7 | 8 octobre 🏃🏻‍♂️ Sprint 1 : Prototype
  • Semaine 8 | 22 octobre
  • Semaine 9 | 29 octobre 🏃🏻‍♂️ Sprint 2 : Tranche verticale
  • Semaine 10 | 5 novembre
  • Semaine 11 | 12 novembre
  • Semaine 12 | 19 novembre 🏃🏻‍♂️ Sprint 3 : Alpha
  • Semaine 13 | 26 novembre
  • Semaine 14 | 3 décembre 🏃🏻‍♂️ Sprint 4 : Beta
  • Semaine 15 | 10 décembre 🏃🏻‍♂️ Sprint 5 : Oral

Trello

Propositions de cartes

  • Ajouter la capacité de tirer un projectile
  • Configurer le comportement du personnage contrôlable
  • Ajouter une animation pour x
  • Ajouter une animation pour y
  • Ajouter une animation pour z