Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Les composants définissent ce qu'une entité peut faire.

Une entité est le conteneur. Les composants sont les fonctionnalités attachées à ce conteneur.

image.png

Cette leçon présente les principaux types de composants que vous verrez en tant que débutant. Il n'est pas nécessaire de mémoriser toutes les options pour l'instant. L'objectif est de reconnaître le schéma :

> Quand une entité a besoin d'une fonctionnalité, vous ajoutez généralement le composant qui fournit cette fonctionnalité.

Les entités sont construites à partir de composants

Une nouvelle entité peut commencer très simple.

Ensuite, en ajoutant des composants, elle devient plus capable :

  • Ajoutez un Transform Component, et elle aura une place dans le Monde 3D.
  • Ajoutez un Mesh Component, et elle peut devenir visible.
  • Ajoutez un Rigid Body Component, et elle peut entrer en collision avec le monde.
  • Ajoutez un Python Component, et elle peut exécuter du code de jeu.
  • Ajoutez un Logic Bricks Component, et elle peut exécuter une logique visuelle.
  • Ajoutez un Audio Player Component, et elle peut jouer un son.

C'est le workflow normal dans Cave : construire des entités en combinant des composants.

Par exemple :

Objet voulu Configuration possible de composants
Torche Transform, Mesh, Light, Audio Player.
Porte Transform, Mesh, Rigid Body, Logic Bricks ou Python.
Joueur Transform, Character, Camera, Animation, Python.
Récupérable de santé Transform, Mesh, Rigid Body déclencheur, Logic Bricks ou Python.

Au lieu de chercher un type d'objet spécial pour chaque situation, vous composez l'objet dont vous avez besoin.


Composants principaux

Certains composants sont si courants que vous les verrez constamment.

Composant But principal
Transform Component Stocke la position, la rotation et l'échelle.
Camera Component Définit une vue de caméra.

Transform Component

Le Transform Component stocke la position, la rotation et l'échelle.

image.png

La plupart des entités 3D en dépendent car la plupart des objets ont besoin d'exister quelque part dans le monde. Lorsque vous déplacez, faites tourner ou redimensionnez une entité dans la Vue 3D, vous modifiez son transform.

De nombreux autres composants dépendent du transform :

  • Une lumière a besoin d'une position.
  • Un mesh a besoin d'une position.
  • Une caméra a besoin d'une position.
  • Une source sonore 3D a besoin d'une position.

Camera Component

Le Camera Component définit une vue de caméra.

image.png

Utilisez-le lorsque vous souhaitez qu'une entité agisse comme une caméra de jeu.

Les caméras sont utilisées pour :

  • Jeux à la première personne.
  • Jeux à la troisième personne.
  • Jeux en vue de dessus.
  • Menus.
  • Cinématiques.
  • Vues spéciales.

Une scène a une caméra de scène par défaut, mais les caméras de jeu sont généralement des entités avec des Camera Components. Cela les rend plus faciles à déplacer, rattacher, animer, script, ou changer pendant le jeu.


Composants graphiques

Les composants graphiques contrôlent ce que le joueur voit.

Composant Utilisation
Mesh Component Objets 3D visibles.
Light Component Sources de lumière locales.
Particle Component Effets visuels composés de nombreuses petites particules.
Animation Component Lecture d'animations squelettiques.
Animation Socket Component Attachement d'entités enfants aux os animés.

Mesh Component

Le Mesh Component affiche un mesh avec un matériau.

image.png

Utilisez-le pour :

  • Accessoires.
  • Murs.
  • Personnages.
  • Portes.
  • Armes.
  • Éléments de décor.
  • Tout ce qui est visible.

Un Mesh Component fait généralement référence à un asset mesh et à un asset matériau. Le mesh fournit la forme, tandis que le matériau contrôle l'apparence de la surface.

Light Component

Le Light Component ajoute un éclairage local à la scène.

image.png

Utilisez-le pour :

  • Lampes.
  • Torches.
  • Lumières magiques.
  • Accessoires lumineux.
  • Projecteurs.

Le soleil de la scène et l'ambiance affectent toute la scène. Les Light Components sont placés sur des entités lorsqu'un éclairage local est nécessaire à un endroit spécifique.

Particle Component

Le Particle Component crée des éléments visuels répétés et des effets.

image.png

Utilisez des particules pour :

  • Fumée.
  • Étincelles.
  • Poussière.
  • Feu.
  • Vent.
  • Débris.
  • Effets magiques.

Les particules sont utiles car vous ne voulez pas que chaque étincelle ou nuage de poussière soit une entité complète placée manuellement. Un seul Particle Component peut générer et contrôler de nombreux petits visuels.

Animation Component

Le Animation Component joue les animations squelettiques.

image.png

Il fonctionne avec des armatures et des assets d'animation, et peut gérer la lecture, le mélange, les couches et la pose animée finale.

Utilisez-le pour :

  • Personnages animés.
  • Créatures animées.
  • Accessoires squelettiques.
  • Tout mesh animé importé utilisant des os.

Animation Socket Component

Le Animation Socket Component attache une entité enfant à un os spécifique d'une entité parent animée.

image.png

Utilisez-le pour :

  • Épées.
  • Armes à feu.
  • Boucliers.
  • Casques.
  • Sacs à dos.
  • Accessoires de main.

Plutôt que de mettre à jour manuellement l'accessoire à chaque image, le socket suit l'os sélectionné.


Composants physiques

Les composants physiques contrôlent la collision et les mouvements physiques.

Composant Utilisation
Rigid Body Component Collision, objets physiques, déclencheurs.
Character Component Mouvement des personnages joueurs et PNJ.
Physics Constraint Component Connexion entre corps rigides.

Rigid Body Component

Le Rigid Body Component donne à une entité un comportement physique.

image.png

Utilisez-le pour :

  • Collisions statiques.
  • Objets dynamiques.
  • Accessoires physiques.
  • Objets fantômes de type déclencheur.

Par exemple, un mur peut utiliser un rigid body statique pour empêcher le joueur de le traverser. Une caisse mobile peut utiliser un rigid body dynamique pour réagir aux forces.

Character Component

Le Character Component est conçu pour les mouvements de type personnage.

image.png

Utilisez-le pour des joueurs ou PNJ qui doivent :

  • Marcher.
  • Sauter.
  • Glisser le long des murs.
  • Gérer les pentes.
  • Se déplacer comme un personnage plutôt qu'un objet physique libre.

C'est généralement un meilleur point de départ pour un personnage contrôlable qu'un simple rigid body.

Physics Constraint Component

Le Physics Constraint Component connecte des rigid bodies entre eux.

Il est utile pour des configurations physiques plus avancées, telles que :

  • Charnières.
  • Articulations.
  • Ponts.
  • Systèmes ragdoll.
  • Objets physiques connectés.

Vous n'en aurez pas besoin immédiatement, mais c'est bon de savoir ce que c'est. Plus tard, cela peut aider pour des portes battantes, objets suspendus ou pièces mécaniques.


Composants de monde et de jeu

Certains composants aident à construire le monde ou à présenter le jeu au joueur.

Composant Utilisation
Terrain Component Paysages extérieurs et terrains sculptés.
Audio Player Component Sons, musiques, ambiances, et audio 3D.
UI Element Component Textes, boutons, panneaux, HUDs, et menus.

Terrain Component

Le Terrain Component crée et édite le terrain.

image.png

Utilisez-le pour des niveaux extérieurs, paysages, collines, vallées, routes et grandes surfaces au sol.

Le terrain dispose de ses propres outils d'édition, abordés plus tard.

Audio Player Component

Le Audio Player Component joue des sons ou musiques.

Il peut être utilisé pour :

  • Musiques.
  • Boucles d'ambiance.
  • Effets sonores.
  • Audio positionnel 3D.
  • Sons d'interface.

L'audio peut aussi être déclenché via des scripts, Logic Bricks, timelines, callbacks UI, et callbacks d'animation.

UI Element Component

Le UI Element Component crée des éléments d'interface de jeu.

image.png

Utilisez-le pour :

  • Textes.
  • Boutons.
  • Panneaux.
  • Menus.
  • Barres de vie.
  • Éléments HUD.

L'UI dans Cave est aussi construite à partir d'entités, ce qui signifie que l'UI peut utiliser la hiérarchie, les composants, les propriétés et la logique comme les autres parties du jeu.


Composants logiques

Les composants logiques font se comporter les entités.

Composant Utilisation
Python Component Comportements réutilisables en Python pour le gameplay.
Python Code Component Petit code Python inline.
Logic Bricks Component Graphes de scripting visuel.
State Machine Component Comportement basé sur des états.

Python Component

Le Python Component attache un script Python à une entité.

image.png

Utilisez-le pour une logique de jeu réutilisable telle que :

  • Comportement de porte.
  • Comportement d'ennemi.
  • Interactions.
  • Logique d'interface.
  • Règles de jeu.
  • Systèmes personnalisés.

Python Code Component

Le Python Code Component stocke de petits extraits de code Python inline directement dans le composant.

image.png

Utilisez-le pour des tests rapides, des petits comportements locaux, ou des prototypes uniques.

Pour une logique réutilisable plus importante, préférez un asset script Python avec un Python Component.

Logic Bricks Component

Le Logic Bricks Component attache un asset Logic Bricks à une entité.

image.png

Les Logic Bricks sont le système de scripting visuel de Cave. Ils vous permettent de créer un comportement en connectant des nœuds au lieu d'écrire du code directement.

image.png

Utilisez-les pour les déclencheurs, interactions simples, comportements d'interface, et événements de gameplay plus faciles à comprendre visuellement.

State Machine Component

Le State Machine Component attache une machine à états hiérarchique à une entité.

image.png

Les machines à états sont utiles pour les comportements qui ont des états bien définis, tels que :

  • Idle.
  • Walk.
  • Chase.
  • Attack.
  • Flee.
  • Dead.

Elles sont particulièrement utiles pour les ennemis, les PNJ, et la logique de jeu structurée.


Vehicle Components

Cave inclut également des composants liés aux véhicules.

Vous pouvez les voir si vous générez du contenu de départ pour véhicules.

Component Purpose
Vehicle Component Transforme un objet physique en un corps de type véhicule.
Wheel Component Définit le comportement des roues d’un véhicule.

Le Vehicle Component fonctionne avec un rigid body et des wheel components.

Le Wheel Component inclut des comportements liés à la roue comme la suspension, la direction, le rayon de la roue, et si la roue est une roue avant.

Practical Component Recipes

Voici quelques manières simples de penser la composition des composants :

Goal Component Recipe
Visible static prop Transform + Mesh.
Solid wall Transform + Mesh + Rigid Body.
Moving player Transform + Character + Python + Camera.
Torch with ambience Transform + Mesh + Light + Audio Player.
Button in a menu UI Element + Python or Logic Bricks.
Enemy behavior Character + Animation + State Machine or Python.

Ce ne sont pas des règles strictes. Ce sont des points de départ.

Au fur et à mesure que vous créez plus d’objets, vous serez plus rapide pour choisir les composants appropriés.

Other Components

Cave possède des composants plus spécialisés que ceux abordés dans cette leçon.

C’est normal.

Vous n’avez pas besoin de connaître tous les composants avant de créer votre première scène. Pour l’instant, concentrez-vous sur ce principe utile : une entité devient utile quand vous lui ajoutez les bons composants.