[RESOLU] Problème de PNJ qui traverse le terrain
-
- Messages : 7
- Inscription : 09 Juil 2019 12:13
[RESOLU] Problème de PNJ qui traverse le terrain
Bonjour tout le monde je viens de m'inscrire sur le forum pour bénéficier de vos expériences car j'ai un problème (pour moi) qui ne doit pas l'être pour vous.
Voila j'ai un personnage qui marche par défaut il est posé sur le sol il marche très bien.
Le problème est que lorsqu'il y'a une pente positive ou négative, il ne la suit pas.
Soit il marche dans le vide soit il traverse le terrain.
Mon terrain a un terrain collider
Il marche grâce à un animator controller avec la marche issue de Mocap
Le terrain a été "baké" avec les paramètres par défaut
J'ai testé avec une capsule sur le perso
J'ai testé avec un rigidbody mais rien n'y fait où j'ai essayé divers tests en cochant/décochant la gravité ou la cinétique
Je ne sais pas si il y'a une option à cocher quelque part
Je vous remercie d'avance
Voila j'ai un personnage qui marche par défaut il est posé sur le sol il marche très bien.
Le problème est que lorsqu'il y'a une pente positive ou négative, il ne la suit pas.
Soit il marche dans le vide soit il traverse le terrain.
Mon terrain a un terrain collider
Il marche grâce à un animator controller avec la marche issue de Mocap
Le terrain a été "baké" avec les paramètres par défaut
J'ai testé avec une capsule sur le perso
J'ai testé avec un rigidbody mais rien n'y fait où j'ai essayé divers tests en cochant/décochant la gravité ou la cinétique
Je ne sais pas si il y'a une option à cocher quelque part
Je vous remercie d'avance
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Problème de PNJ qui traverse le terrain
Ne serait-ce pas plutôt le terrain qui a un collider pas assez défini?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
-
- Messages : 7
- Inscription : 09 Juil 2019 12:13
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Problème de PNJ qui traverse le terrain
Ok...
Ma question est de savoir si le collider correspond à l'affichage.
Le personnage marche sur le collider du terrain, pas sur le terrain affiché. Il peut donc marcher sur des zones qui sont sous ou sur le terrain visible.
Cela signifierait que le comportement du personnage et du terrain sont bons, c'est juste que visuellement, cela ne correspond pas.
De ce que tu me dis, ton personnage possède un Rigidbody et ton terrain un Collider et que la collision fonctionne.
Comment fais-tu marcher ton personnage? Utilises-tu l'asset de base des StandardAssets d'Unity ou autre chose?
Ma question est de savoir si le collider correspond à l'affichage.
Le personnage marche sur le collider du terrain, pas sur le terrain affiché. Il peut donc marcher sur des zones qui sont sous ou sur le terrain visible.
Cela signifierait que le comportement du personnage et du terrain sont bons, c'est juste que visuellement, cela ne correspond pas.
De ce que tu me dis, ton personnage possède un Rigidbody et ton terrain un Collider et que la collision fonctionne.
Comment fais-tu marcher ton personnage? Utilises-tu l'asset de base des StandardAssets d'Unity ou autre chose?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
-
- Messages : 7
- Inscription : 09 Juil 2019 12:13
Re: Problème de PNJ qui traverse le terrain
Pour faire marcher mon personnage j'utilise l'asset Mocap et l'animation Walk et meme en testant avec l'animation HumanoidWalk avec Le StandardAssets j’obtiens les mêmes résultats
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Problème de PNJ qui traverse le terrain
Tu confonds animation et déplacement.
Que ton perso soit animé ou non, et comment il est animé, n'a rien à voir avec le déplacement, mis à part l'utilisation d'IK pour ajuster la position des pieds (mais je doute que tu en sois aussi avancé)
Comment tu déplaces ton personnage? Tu dois avoir un script de déplacement attaché à celui-ci pour qu'il aille dans la direction que tu souhaites au clavier/joystick/manette/etc.
Que ton perso soit animé ou non, et comment il est animé, n'a rien à voir avec le déplacement, mis à part l'utilisation d'IK pour ajuster la position des pieds (mais je doute que tu en sois aussi avancé)
Comment tu déplaces ton personnage? Tu dois avoir un script de déplacement attaché à celui-ci pour qu'il aille dans la direction que tu souhaites au clavier/joystick/manette/etc.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
-
- Messages : 7
- Inscription : 09 Juil 2019 12:13
Re: Problème de PNJ qui traverse le terrain
Le soucis vient d'un PNJ donc je ne tiens pas à le déplacer avec un joystick ou une souris l’objectif est de créer une animation pour un PNJ qui marche seul afin de simuler une foule.
Pour mon personnage il s'agit du FPSCharacter issue du StandardAssets
Pour mon personnage il s'agit du FPSCharacter issue du StandardAssets
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Problème de PNJ qui traverse le terrain
Je vais me répéter une troisième fois: Comment tu déplaces ton personnage?
C'est un NavMeshAgent?
C'est un NavMeshAgent?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
-
- Messages : 7
- Inscription : 09 Juil 2019 12:13
Re: Problème de PNJ qui traverse le terrain
Désolé je ne sais pas, je n'ai pas compris.
Je n'ai mis en place qu'un animator controller. Je n'ai pas ajouté de script sur le personnage. J'espère que j'ai pu avoir répondu à ta question. Auquel cas je m'en excuse s'il te faut joindre une capture d'écran je peux t'en envoyer une
Je n'ai mis en place qu'un animator controller. Je n'ai pas ajouté de script sur le personnage. J'espère que j'ai pu avoir répondu à ta question. Auquel cas je m'en excuse s'il te faut joindre une capture d'écran je peux t'en envoyer une
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Problème de PNJ qui traverse le terrain
Dans ce cas oublie tout.
C'est impossible pour un personnage avec juste une animation de rester sur le sol qui n'est pas plat.
L'animation ne tient pas compte de l'environnement, ton perso pourrait voler ou être sous l'eau, l'animation s'en fout.
Il faut associer un characterController à tes personnages pour qu'ils interagissent avec le monde.
Pour un PNJ qui se ballade, il lui faut un rigidbody, un capsuleCollider et un characterController. Ici le characterController sera le NavMeshAgent.
Un NavMesh (Navigation Mesh) est une zone de navigation, de déplacement. Les NavMeshAgents posés dessus peuvent marcher sur ce NavMesh (selon des critères qu'il faut définir). Attention tout de même, les NavMesh sont des meshs invisibles qui simulent les collisions, ils faut qu'ils aient la même définition que le terrain pour ne pas avoir d'artéfacts tels le survol ou l'enfoncement.
Il est possible aussi de programmer un CharacterController pour que le personnage suive à la fois un chemin prédéfini et la configuration du sol (grâce au rigidBody et son Collider)
C'est impossible pour un personnage avec juste une animation de rester sur le sol qui n'est pas plat.
L'animation ne tient pas compte de l'environnement, ton perso pourrait voler ou être sous l'eau, l'animation s'en fout.
Il faut associer un characterController à tes personnages pour qu'ils interagissent avec le monde.
Pour un PNJ qui se ballade, il lui faut un rigidbody, un capsuleCollider et un characterController. Ici le characterController sera le NavMeshAgent.
Un NavMesh (Navigation Mesh) est une zone de navigation, de déplacement. Les NavMeshAgents posés dessus peuvent marcher sur ce NavMesh (selon des critères qu'il faut définir). Attention tout de même, les NavMesh sont des meshs invisibles qui simulent les collisions, ils faut qu'ils aient la même définition que le terrain pour ne pas avoir d'artéfacts tels le survol ou l'enfoncement.
Il est possible aussi de programmer un CharacterController pour que le personnage suive à la fois un chemin prédéfini et la configuration du sol (grâce au rigidBody et son Collider)
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation