Drone IA

On parle de tout et de rien (vos jeux préférés, films, manifestations diverses, etc...)
QDRemix
Messages : 28
Inscription : 16 Fév 2016 09:16
Contact :

Drone IA

Message par QDRemix » 13 Juin 2019 09:51

Bonjour à tous,

Je cherche à reproduire un petit jeu afin de m'exercer sur certains principes: FuturCop L.A.P.D.

Je suis sur l'IA des drones. Le comportement n'est pas trop mal, mais... pas encore top. J'ai fait un principe de déplacement aléatoire simple:
- Je définis un point aléatoirement dans un rayon max par rapport à un transform: mon DroneCenter.
- Si mon drone dépasse ce rayon, je génère une nouvelle destination.
- Si mon drone détecte un ennemie la destination est cette ennemie avec un offset pour ne pas aller dans le sol. Le rayon max s'agrandit pour les drones qui ont une target.


J'ai voulu faire un test de détection d'obstacles, mais je ne trouve pas très concluant.
Pour ça, je fais avec un RayCast et une distance max. Si il détecte un obstacle, il génère une nouvelle destination.

Comme le dernier point ne me plait pas trop j'ai voulu essayé par curiosité ce principe avec un NavMesh, mais je n'ai pas trouvé comment utiliser le NavMesh pour avoir le système de PathFinding en gérant comme je veux le déplacement (surtout pour la position en Y). Est ce que quelqu'un à des pistes pour modifier le NavMeshAgent ?
Sinon est ce que quelqu'un à de meilleures idées pour la détection des obstacles

EDIT: Est ce que vous avez déjà essayer la gestion de "drone" avec la programmation type ECS ? Qu'est ce que ça vaut ?

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: Drone IA

Message par Max » 13 Juin 2019 13:17

Bonjour,
QDRemix a écrit :
13 Juin 2019 09:51
Comme le dernier point ne me plait pas trop j'ai voulu essayé par curiosité ce principe avec un NavMesh, mais je n'ai pas trouvé comment utiliser le NavMesh pour avoir le système de PathFinding en gérant comme je veux le déplacement (surtout pour la position en Y). Est ce que quelqu'un à des pistes pour modifier le NavMeshAgent ?
Concernant les NavMeshAgents, il peut y avoir plusieurs solutions. Une d'entre elle consisterait à considérer l'agent comme un ghost avec en enfant ton drone, dont tu vas gérer la partie vertical. Autre solution, tu récupère le path et tu passes par les corners pour faire ton propre système de navigation basé sur les point calculés par le NavMeshAgent.
QDRemix a écrit :
13 Juin 2019 09:51
EDIT: Est ce que vous avez déjà essayer la gestion de "drone" avec la programmation type ECS ? Qu'est ce que ça vaut ?
C'est une approche différentes, destiné au départ à améliorer les perf, et qui nécessitera de reprendre l'ensemble de ton projet (niveau code). Après c'est aussi encore en preview. Mais il n'a pas de soucis, c'est compatible avec tout type de projet.
Maintenant, plusieurs solutions. Soit tu es curieux et ton objectif est d'apprendre, y compris dans le domaine des nouvelles features proposés par Unity, alors dans ce cas n'hésite pas à tester. Soit tu sens que ton projet est assez lourd, et malgré toute la panoplie d'opti à ta disposition tu vois bien qu'Unity va chauffer sec, alors là aussi n'hésite pas (emploi du DOTS dans son ensemble). Soit ton objectif principal est d'arriver au bout de ton projet, qui n'est pas gourmant plus que cela en ressource (et qui est déjà avancé), alors je dirais dans ce cas: concentre toi sur l'essentiel ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

QDRemix
Messages : 28
Inscription : 16 Fév 2016 09:16
Contact :

Re: Drone IA

Message par QDRemix » 13 Juin 2019 13:36

Merci de tes réponses Max.

Ce sont deux solutions intéressante. Je vais essayer les deux pour voir!

Le but est d'apprendre et d'essayer de nouvelles choses. Je peux contrôler mon perso, je gère les drones ainsi que certaines interactions, les tourelles par exemple, mais ça reste un code très simple qui ne demandera pas de grande modification. Le plus dure sera de le faire une fois pour comprendre le fonctionnement sur des objets complexes, mais le reste devrait suivre facilement.

Mis à part le NavMesh, comment est ce que je pourrais gérer la détection d'obstacle avec de l'anticipation ?

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: Drone IA

Message par Max » 13 Juin 2019 15:19

QDRemix a écrit :
13 Juin 2019 13:36
Mis à part le NavMesh, comment est ce que je pourrais gérer la détection d'obstacle avec de l'anticipation ?
tu peux faire une recherche avec "unity raycast obstacle avoidance", il y a pas mal de résultats intéressant, y compris en vidéo.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

QDRemix
Messages : 28
Inscription : 16 Fév 2016 09:16
Contact :

Re: Drone IA

Message par QDRemix » 28 Juin 2019 11:00

Super merci beaucoup.
Je mettrais un résultat dès que possible

Répondre

Revenir vers « Discussion générale »