Keep your place in this quest

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

Dans cette leçon, nous allons préparer l'objet qui sera utilisé comme objet collectable dans le jeu.

Nous allons configurer son maillage visuel, appliquer un matériau et une texture, ajouter la collision nécessaire pour l'interaction avec le joueur, définir une étiquette d'identification et créer une logique de mouvement simple pour rendre l'objet plus visible et attrayant dans la scène.

Les objets collectables sont très courants dans les jeux. Ils peuvent représenter des pièces, des clés, des bonus de santé, des munitions, des power-ups, des objets de quête, ou tout autre chose que le joueur peut toucher et collecter. Dans cette leçon, nous nous concentrerons sur la préparation de l'objet lui-même. Plus tard, la logique du joueur pourra détecter cet objet et le collecter.

1. Création de l'Objet

Dans le panneau Contenu, créez une nouvelle ressource de type Modèle d'Entité.

Ce Modèle d'Entité sera utilisé comme base pour notre objet collectable. Comme les objets collectables sont généralement réutilisés de nombreuses fois dans un niveau, créer un Modèle d'Entité est l'approche correcte. De cette manière, vous pouvez placer plusieurs instances du même objet dans la scène, et si vous modifiez plus tard le modèle, toutes les instances peuvent être mises à jour à partir de la même source.

image.png

Ouvrez le Modèle d'Entité afin que nous puissions le modifier.

Ensuite, renommez l'Entité en Objet et créez un nouveau Maillage, qui sera responsable de la représentation visuelle de l'objet.

Dans la section Composants, ajoutez un composant Transform. Le Transform donne accès à l'Entité aux propriétés de position, de rotation et d'échelle, qui sont nécessaires pour placer et manipuler l'objet dans le monde 3D.

Après cela, ajoutez également un composant Rigid Body. Ce composant sera responsable du comportement physique et de collision de l'objet dans la scène.

image.png

Dans le composant Rigid Body, activez l'option Fantôme.

Avec cette option activée, l'objet sera toujours capable de détecter des collisions et des interactions, mais il ne bloquera pas physiquement le mouvement du personnage.

C'est exactement ce que nous voulons généralement pour les objets collectables. Le joueur doit pouvoir passer à travers l'objet, et le jeu doit détecter ce contact comme une interaction. Si l'objet avait une collision solide normale, il pourrait bloquer le joueur ou pousser d'autres objets, ce qui n'est généralement pas le comportement souhaité pour les objets à ramasser.

image.png

À ce stade, vous pouvez importer un modèle 3D dans Cave et l'utiliser comme le Maillage de votre objet.

Dans cet exemple, nous allons utiliser uniquement une icône 2D créée à partir d'une texture, donc il ne sera pas nécessaire d'importer un modèle personnalisé. Mais n'hésitez pas à personnaliser l'apparence visuelle de l'objet comme vous le souhaitez, en fonction des besoins de votre projet.

Par exemple, vous pourriez utiliser :

  • un modèle de pièce
  • un modèle de clé
  • une bouteille de potion
  • un cristal flottant
  • une icône de power-up
  • un simple plan texturé

Maintenant, tout comme nous avons créé l'Entité auparavant, créez un nouveau Matériau dans le panneau Contenu.

Ensuite, configurez-le selon le style visuel que vous souhaitez pour votre jeu, en ajoutant les textures nécessaires, telles que Albedo, Normal Map, ou toute autre carte que vous souhaitez utiliser.

image.png

image.png

Après avoir configuré le matériau, appliquez-le au Maillage de l'objet pour définir comment il apparaîtra dans la scène.

Le Maillage définit la forme qui sera rendue, tandis que le Matériau définit comment cette forme apparaîtra visuellement, y compris sa couleur, sa texture, sa rugosité, les informations normales, et d'autres propriétés liées aux shaders.

image.png

image.png

Pour des raisons d'organisation, le panneau Contenu vous permet de créer librement des dossiers pour mieux structurer les ressources de votre projet.

Une bonne pratique consiste à créer un dossier appelé Objet et à déplacer tous les fichiers liés à ce collectable dedans, tels que le Modèle d'Entité, les matériaux, les textures, et toute autre ressource utilisée par cet objet.

Garder vos ressources organisées facilite la navigation dans le projet, améliore votre flux de travail et rend la maintenance beaucoup plus simple à mesure que le jeu se développe.

image.png

Maintenant créons un nouveau Logic Brick pour notre objet.

Ce Logic Brick sera responsable d'ajouter une rotation continue à l'objet, le rendant plus facile à remarquer pour le joueur dans la scène.

Ce type de mouvement est très courant dans les objets collectables. Un objet totalement statique peut être plus difficile à voir, surtout dans un environnement animé. Une simple rotation aide l'objet à se démarquer et communique immédiatement qu'il s'agit de quelque chose de spécial ou d'interactif.

image.png

Pour ce faire, nous allons simplement obtenir l'Entité et accéder à son Transform.

Ajoutez ensuite le nœud Rotate On Yaw, qui est responsable de l'application de la rotation autour de l'axe Y, l'axe vertical de l'objet.

Dans le champ Radians, définissez la valeur que vous souhaitez utiliser comme vitesse de rotation. Plus cette valeur est élevée, plus l'objet tournera rapidement.

Enfin, connectez le Transform au Rotate On Yaw et exécutez cette logique via On Update, afin que l'objet tourne continuellement pendant le jeu.

image.png

Enfin, ajoutons une Étiquette à notre objet afin qu'il puisse être identifié par la logique de collecte du joueur plus tard.

Sélectionnez l'onglet Étiquettes, créez une nouvelle étiquette appelée item, et assignez-la à l'Entité collectable.

Plus tard, nous utiliserons cette étiquette pour détecter quand le joueur touche l'objet. Cela facilite l'identification des Entités qui sont des objets collectables, sans dépendre uniquement de leur nom ou de leur apparence visuelle.

Utiliser une étiquette est une approche propre et flexible car votre projet peut éventuellement avoir de nombreux objets collectables différents. Tant qu'ils ont tous l'étiquette item, la logique du joueur peut les reconnaître comme collectables.

image.png

À ce stade, l'objet collectable est prêt à être utilisé dans la scène.

Il a une représentation visuelle, un matériau, une collision fantôme pour la détection, un Logic Brick pour le faire tourner, et une étiquette item qui permettra au joueur de le reconnaître plus tard.