Cave : Guide de démarrage
Cave : Guide de démarrage
Lesson 5 of 19 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
Cave est conçu pour être simple à apprendre, mais il comporte tout de même quelques concepts importants que vous devez comprendre.
Cette leçon explique les termes clés que vous verrez partout dans l'éditeur : scene, entity, component, asset, entity template, transform, rigid body, character component, Python component, logic brick, timeline et runtime.
Ceci est une vue d'ensemble à haut niveau, sans entrer dans les détails spécifiques de chaque terme, mais il est important de commencer à améliorer votre compréhension du moteur. Une fois ces mots compris, le reste du moteur devient beaucoup plus facile à appréhender.
Le Panorama Général
La plupart des projets Cave sont construits à partir de quelques idées répétées :
| Concept | Signification Simple |
|---|---|
| Scene | Un niveau, un menu, une zone de test ou un espace jouable. |
| Entity | Un objet à l'intérieur d'une scene. |
| Component | Une fonctionnalité attachée à une entity. |
| Asset | Contenu projet réutilisable stocké dans l'Asset Browser. |
| Entity Template | Une configuration d'entity réutilisable, similaire à un prefab. |
Par exemple, imaginez une caisse en bois dans un niveau :

- Le niveau est une
Scene. - La caisse placée dans le niveau est une
Entity. - La position de la caisse est stockée dans son
Transform. - Le modèle visible est géré par un
Mesh Component. - La collision peut être gérée par un
Rigid Body Component. - Le modèle, le material et la texture utilisés par la caisse sont des
Assets.
Si vous voulez réutiliser cette configuration de caisse dans plusieurs scènes, vous pouvez la sauvegarder comme un Entity Template.
Scene
Une scene est une collection d'entities.
Les scenes peuvent être utilisées pour :
- Des niveaux de jeu.
- Des menus.
- Des cartes de test.
- Des salles de prototype.
- Des espaces de cutscene.
Seule la scene active est éditée dans la vue 3D principale. Lorsque vous testez le jeu, Cave exécute la scene comme gameplay plutôt que de se limiter au contenu de l'éditeur.
Lors de l'exportation ou du test du projet en tant que runtime, les paramètres du projet déterminent quelle scene est utilisée en tant que scene de démarrage. Vous pouvez modifier cela en allant dans l’Settings Tab.
Entity
Une entity est un objet dans une scene.
Les entities peuvent être visibles ou invisibles. Elles peuvent être simples ou complexes.
Exemples d'entities :
- Un personnage joueur.
- Une porte.
- Une caméra.
- Une lumière.
- Un déclencheur.
- Un bouton UI.
- Un point de spawn.
- Un dossier utilisé pour l'organisation.
Une entity en elle-même est surtout un conteneur. Ce qu'elle peut réellement faire dépend des components qui lui sont attachés.
Component
Un component ajoute un comportement ou des données à une entity.
Au lieu d'avoir un seul type d'objet énorme pour chaque possibilité, Cave vous permet de construire des entities en combinant des components. C'est exactement ainsi que vous êtes censé construire les différents éléments de votre jeu, en composant les entities avec plusieurs types de components différents.
Par exemple :
| Entity | Components Possibles |
|---|---|
| Mur statique | Transform, Mesh, Rigid Body. |
| Joueur | Transform, Character, Camera, Python. |
| Porte | Transform, Mesh, Rigid Body, Python ou Logic Bricks. |
| Lumière ponctuelle | Transform, Light. |
| Bouton UI | UI Element. |
C'est l'une des idées les plus importantes dans Cave : les Entities sont des conteneurs. Les Components leur donnent des fonctionnalités.
Il est important de mentionner également qu'une autre façon de composer vos différents types d'objets est d'utiliser plusieurs entities dans la hiérarchie enfant des entities.
Nomination des Entities
Quand vous créez une nouvelle entity, Cave propose différents types de départ, comme Folder, Empty, Mesh, Point Light, Camera, UI Element, Text, et Button.
Ce ne sont pas des mondes complètement séparés. Ce sont des points de départ pratiques.
Par exemple :
- Un
Emptyest une entity basique avec un transform. - Une entity
Meshest une entity préparée pour afficher un maillage. - Une entity
Point Lightest une entity prête à se comporter comme une lumière. - Une entity
Cameraest une entity prête à rendre une vue. - Un
Folderest une entity principalement utilisée pour l'organisation.
Vous pouvez généralement ajouter, supprimer ou modifier les components plus tard, donc le type de départ est simplement un raccourci utile.
Transform
Le transform indique à Cave où se trouve une entity et comment elle est orientée.
Il inclut :
- La position.
- La rotation.
- L'échelle.
Presque toutes les entities de la scene ont un transform car la plupart des objets doivent exister quelque part dans le monde. Lorsque vous déplacez, faites pivoter ou modifiez l’échelle d’une entity via le gizmo, vous éditez son transform. Quand une entity est enfant d’une autre entity, son transform est évalué par rapport à cette hiérarchie.
Asset
Un asset est un contenu projet réutilisable stocké dans l'Asset Browser. Il est important de mentionner que même si une entity est considérée en interne comme un Asset, un Asset n’est pas la même chose qu’une entity.
Par exemple :
- Un asset de mesh est les données du modèle. Une entity mesh est un objet placé dans la scene qui utilise cet asset de mesh.
- Un asset material définit l'apparence d'une surface. Une entity mesh peut référencer ce material.
- Un asset de script Python contient du code. Un component Python peut utiliser ce script.
Cette séparation est puissante car un asset peut être réutilisé plusieurs fois. Si dix caisses utilisent le même material, modifier cet asset material met à jour toutes les caisses.
Entity Template
Un entity template est une configuration d'entity réutilisable. Regardez la capture d’écran ci-dessous. Les Entity Template Assets sont marqués d'une ligne verte sous leur vignette :

Si vous venez d’un autre moteur, vous pouvez penser à cela comme similaire à un prefab.
Un entity template peut stocker :
- Une hiérarchie d’entities.
- Des components.
- Les réglages des components.
- Des références à des assets.
- Des entities enfants.
Cela est utile pour tout ce que vous voulez réutiliser :
- Ennemis.
- Collectibles.
- Portes.
- Décors.
- Véhicules.
- Widgets UI.
- Objets de gameplay.
Au lieu de reconstruire le même objet encore et encore, vous le créez une fois comme entity template et placez des instances où cela est nécessaire.
Rigid Body
Un rigid body donne à une entity un comportement physique. Il est utilisé lorsque un objet a besoin de collision ou de mouvement physique.
Exemples :
- Une caisse qui bloque le joueur.
- Une balle qui peut rouler.
- Une porte avec collision.
- Un mur que le joueur ne peut pas franchir.
Les rigid bodies font partie de la physique du moteur. Vous les utilisez lorsque des objets doivent interagir physiquement avec le monde.
Character Component
Un character component est utilisé pour un mouvement de type personnage. C’est différent d’un rigid body classique parce qu’un personnage a généralement besoin d’un comportement spécial :
- Marcher.
- Glisser le long des murs.
- Gérer les pentes.
- Sauter.
- Répondre aux contrôles du joueur.
Pour un joueur ou un PNJ, un character component est généralement un meilleur point de départ que d’essayer de faire se comporter un objet physique basique comme un personnage.
Quand nous parlons d’un Character Component dans Cave, nous faisons référence à sa physique Character Physics, pas à la logique spécifique au jeu (comme le mouvement, etc).
Tags et Propriétés
Les tags et propriétés vous aident à identifier et configurer les entities.
- Un tag est une étiquette qui peut aider les scripts ou la logique à trouver et catégoriser des éléments.
- Les propriétés sont des valeurs éditables exposées à l'éditeur. Elles vous permettent d’ajuster le comportement sans réécrire du code à chaque fois.
Par exemple, un ennemi peut avoir des propriétés telles que :
- Vitesse de marche.
- Santé.
- Distance d’attaque.
- Cible de patrouille.
Une bonne utilisation des propriétés facilite le réglage de votre jeu.
Les propriétés ne sont pas limitées aux Entities : les Scenes, Logic Bricks et autres Assets peuvent aussi en posséder.
Quand nous parlons de propriétés dans Cave, nous faisons spécifiquement référence aux propriétés accessibles via des dictionnaires Python dans le code. Elles sont presque toujours disponibles aussi dans l’Éditeur.
Python Component
Un Python component permet à une entity d'exécuter de la logique Python.
C’est utile lorsque vous voulez un comportement personnalisé, par exemple :
- Ouvrir une porte.
- Déplacer une plateforme.
- Gérer les entrées du joueur.
- Faire apparaître un objet.
- Mettre à jour du texte UI.
- Déclencher des événements.
Les Python components sont l’un des principaux moyens de programmer le gameplay dans Cave.
Python Code Component
Un Python Code component est utilisé lorsque le code est stocké directement dans le component au lieu d’être lié en tant qu’asset de script séparé. Cela peut être utile pour des tests rapides, de petits comportements ou des prototypes.
Pour des systèmes de gameplay plus larges, un asset de script Python séparé est généralement plus facile à organiser et réutiliser.
Logic Brick
Les logic bricks sont une façon visuelle de construire la logique. Elles sont utiles lorsque vous souhaitez un comportement sans écrire directement du code Python.
Si vous connaissez les Blueprints d’Unreal, les logic bricks appartiennent à une famille d’idées similaire : vous connectez la logique visuellement au lieu d’écrire tout en texte.
Elles sont particulièrement utiles pour créer toute sorte de logique sans nécessiter d’écrire du code Python. Par exemple, des événements de gameplay, des comportements d’objets, la connexion de systèmes, les déclencheurs, etc.
Vous apprendrez à les utiliser plus tard dans ce guide.
Timeline
Une timeline est un asset utilisé pour des séquences scénarisées. Les timelines peuvent animer ou déclencher des actions dans le temps.
Elles sont utiles pour :
- Les cutscenes.
- Les déplacements de caméra.
- Les événements scriptés.
- Les séquences de gameplay coordonnées.
Les timelines ne sont pas nécessaires à tous les jeux, mais elles sont utiles lorsque vous voulez que quelque chose se passe dans un ordre précisément scénarisé.
Important : Les timelines ne sont pas destinées à l’édition d’animations individuelles, comme la modification d’une animation de cycle de marche pour votre personnage. Dans ce cas, vous devez utiliser un logiciel DCC spécialisé, tel que Blender, puis importer ensuite dans Cave.
Player et Runtime de Jeu
- Le Cave Editor est l’endroit où vous construisez le projet.
- Le Cave Player est le runtime qui exécute le jeu.
Quand vous appuyez sur Play dans l’éditeur, Cave exécute votre scene en mode proche du jeu à l’intérieur de l’éditeur. Lorsque vous testez en standalone, Cave lance le jeu dans une fenêtre player séparée.
Le jeu final exporté fonctionne comme une build player/runtime, et non comme l'éditeur. Cette séparation est importante parce que certaines choses sont réservées à l'éditeur (pour que vous puissiez déboguer et/ou développer votre projet), tandis que d'autres font partie du jeu réel.
La Relation la Plus Importante
Si vous ne retenez qu'une seule chose de cette leçon, retenez ceci :
Une scène contient des entités, les entités contiennent des components, et les components utilisent souvent des assets.
C'est la base d'un projet Cave.