1
Introduction à Unity
Du moteur temps réel à votre première scène interactive
Étienne Peillard
IMT Atlantique
Les objectifs du cours
ExpliquerRelier entrées, simulation et rendu.
Se repérerDistinguer ressources, scène et vues de travail.
ConstruireAssocier un comportement aux bons composants.
Fil rouge : un cube que l’on voit, qui tombe, puis avec lequel on interagit.
Un moteur orchestre une application
Entrées et logiqueLire une action et décider de ses effets.
SimulationFaire évoluer objets, collisions et animations.
Image et sonRestituer l’état du monde à l’utilisateur.
Unity réunit un éditeur de création et un moteur d’exécution.
Une boucle entre action et perception
- AgirUn clic, une touche, un geste.
- Mettre à jourLa logique transforme l’état du monde.
- RestituerUne nouvelle image et un retour sonore.
Temps réel : produire une réponse assez vite pour permettre l’interaction.
Des services qui travaillent ensemble
| Service | Rôle | Exemple du cube |
|---|
| Rendu | Produire l’image depuis une caméra | Afficher sa surface et son ombre |
| Physique | Simuler mouvement et contacts | Le faire tomber sur le sol |
| Audio | Jouer et spatialiser les sons | Entendre un impact |
| Entrées | Interpréter les actions | Déclencher le lancer |
Pourquoi Unity dans ce parcours ?
Un éditeur visuelAssembler une scène et inspecter ses objets.
Des scripts C#Ajouter les règles propres à l’application.
Des cibles variéesConstruire un exécutable adapté à une plateforme.
D’abord une scène 3D sur écran ; la RV ajoutera suivi, affichage et interactions spécifiques.
Trois outils, trois moments
Unity HubGérer les versions et ouvrir les projets.
Unity EditorCréer, configurer et tester l’application.
Application construiteExécuter le résultat sur la machine cible.
Projet, asset, scène, instance
| Notion | Ce qu’elle désigne | Exemple |
|---|
| Projet | Ressources et réglages de l’application | Le dossier d’une application |
| Asset | Ressource enregistrée dans le projet | Matériau, script, scène, modèle 3D |
| Scène | Ensemble organisé de GameObjects | UnityBasics |
| Instance | Un exemplaire utilisé dans une scène | Un cube placé dans la scène |
Project montre les ressources ; Hierarchy montre les objets de la scène ouverte.
Un matériau partagé, deux objets distincts
Lire l’espace de travail
Un même objet, plusieurs points de vue
Les fenêtres à retrouver
Scene / GameConstruire le monde / voir depuis la caméra.
Hierarchy / InspectorSélectionner l’objet / régler ses composants.
Project / ConsoleTrouver une ressource / lire les erreurs.
Construire, tester, arrêter
EditConfigurer les objets puis enregistrer la scène.
PlayObserver le comportement et tester les entrées.
StopRevenir à l’édition et vérifier ce qui est conservé.
Arrêter Play avant de modifier durablement la scène, puis sauvegarder.
Un GameObject se construit par composition
GameObjectLe support : un nom, un état actif, des composants.
TransformPosition, rotation et échelle dans la hiérarchie.
Autres composantsGéométrie, affichage, collisions ou comportement.
Question utile : quel composant fournit la fonction que je cherche ?
Un cube visible n’est pas encore un cube physique
| Composant | Fonction |
|---|
| Mesh Filter | Référence la géométrie du cube |
| Mesh Renderer | Affiche cette géométrie avec un matériau |
| Box Collider | Décrit une forme pour les contacts |
| Rigidbody | Permet de simuler le mouvement physique |
Afficher, détecter les contacts et simuler le mouvement sont des fonctions séparées.
Géométrie, matériau, shader, texture
MeshLa forme : sommets et triangles.
MatériauDes réglages d’apparence partagés entre objets.
Shader et texturesUn calcul de surface et les images qui l’alimentent.
Choisir des matériaux compatibles avec le pipeline URP du projet.
Un prefab, plusieurs instances
Le modèleUn asset enregistre un objet, ses composants et ses enfants.
Les instancesPlusieurs exemplaires gardent un lien avec ce modèle.
Les overridesUne propriété peut être modifiée sur un seul exemplaire.
Partager un matériau n’est pas la même chose que partager un prefab.
Du fichier C# au comportement
- ÉcrireUne classe dérive de MonoBehaviour.
- CompilerUnity recharge le code enregistré.
- AttacherLe script devient un composant sur un GameObject.
Le script décrit le comportement ; chaque composant porte ses propres réglages.
Lire un premier composant
45 degrés/seconde × durée de l’image = angle à appliquer sur cette image.
Tous les calculs n’ont pas la même cadence
StartInitialiser avant le premier Update du composant.
UpdateMettre à jour la logique liée aux images affichées.
FixedUpdatePréparer les actions liées au pas de simulation physique.
Distinguer une vitesse, une variation par image et une force physique.
Relier le script à la scène
Champ sérialiséExposer un paramètre ou une référence dans Inspector.
Référence assignéeGlisser l’objet ou le composant attendu dans le champ.
Composant recherchéRécupérer un composant existant avec GetComponent.
Avant d’accuser le calcul, vérifier les références et les composants présents.
Importer une ressource sans perdre le fil
Package ManagerGérer les fonctionnalités et leurs dépendances.
Assets importésExaminer modèles, matériaux, prefabs et scripts.
CompatibilitéVérifier version de Unity, pipeline et système d’entrées.
Importer → vérifier → tester une scène minimale, avant d’intégrer au projet.
Diagnostiquer avec une hypothèse
| Symptôme | Premier contrôle |
|---|
| Le cube traverse le sol | Colliders présents et configurations physiques |
| Le script ne fait rien | Compilation, composant attaché et activé |
| Une référence est null | Champ Inspector et objet/composant recherché |
| Les entrées ne répondent pas | Focus Game, Input System et configuration |
Observer → formuler une hypothèse → modifier une chose → vérifier.
Tester aussi en dehors de l’éditeur
- ConfigurerChoisir la cible dans Build Profiles.
- ConstruireInclure les scènes nécessaires au démarrage.
- ExécuterTester le résultat sur la machine cible.
Valider tôt un petit build, puis avancer par ajouts vérifiables.
De la scène à l’application interactive
AssemblerSol, cubes, matériau partagé et prefab.
Faire agirGravité, rotation, contrôleur et lancer d’objets.
VérifierConsole, comportement attendu et exécutable.
Identifier les objets, les composants et les effets attendus pour concevoir une interaction.
Retrouver une réponse fiable
Manuel UnityComprendre un concept et les réglages de l’éditeur.
API de scriptVérifier une propriété, une méthode et ses unités.
Version du projetVérifier la version de Unity et celle des packages installés.