CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[UNITY] Système de focus 2D

xd0002
xd0002
Niveau 10
02 mars 2017 à 20:22:09

Bonjour,
Je travaille actuellement sur un RPG en 2D basique pour un projet de fin de BTS informatique.
J'en suis pour le moment à la création des mécaniques afin de pouvoir développer quelques maps à présenter et avoir quelque chose de bien concret mais j'ai cependant un problème qui m'handicape pas mal, je n'arrive pas à faire en sorte que les ennemis se dirigent vers moi pour m'attaquer.
Le joueur comme les monstres utilisent un Rigibody2D pour se déplacer, le joueur dispose d'un Box Colider2D, les monstres d'un Cercle Colider2D, lorsque les monstres entre en contact avec mon Colider2D je perd de la vie.

J'ai donc essayé pour le système de focus de récupérer la position du joueur grâce à une variable qui utilise objet Transform :

public Transform cible;
Auquel je lui affecte le joueur.

J'ai aussi une variable distance qui me permet de vérifier la position du joueur et celle du monstre afin de calculer la distance entre les deux :

private float distance;
distance = Vector3.Distance(cible.transform.position, transform.position);

Puis de là, dans la boucle update, je vérifie si la distance spécifiée d'aggro est minimale ou non et franchie et si elle l'est, je dis à mon monstre de se déplacer vers le joueur :

if (distance < 10)
{
moveDirection = new Vector3(cible.transform.position.x * moveSpeed, cible.transform.position.y * moveSpeed, 0f);
}

Mais grosso modo, je pense le déplacer dans un vecteur qui le déplace dans l'axe du joueur, et pas forcément vers le joueur, de ce fait, dès que je m'approche des monstres, ils fuient toujours dans la même direction ...
J'ai aussi essayé via un raycast mais c'est le même résultat, c'est vraiment mon vecteur de déplacement qui n'est pas bon.
Quelqu'un saurait me conseiller là dessus?

De même, si quelqu'un aurait un peu de temps à prendre pour moi, il me reste d'autres soucis à gérer (pour d'autres monstres, déclencher l'attaque quand il est près du joueur, afficher la barre de vie des monstres, et d'autres petites bricoles)
Merci d'avance !

xd0002
xd0002
Niveau 10
02 mars 2017 à 21:49:56

Mon problème est finalement résolu, j'ai compris mon erreur !
Du coup, si des gens qui ont des connaissances en RPG 2D sous unity je suis preneur !
Bonne soirée !

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment