Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
calypsomen
Messages : 45
Inscription : 26 Mars 2019 16:39

Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par calypsomen » 23 Jan 2020 23:01

Bonjour à tous!

Je rencontre un problème très étrange dans mon jeu, qui est totalement incohérent étant donné qu'il se produit dans la version build mais pas dans l'éditeur.
Le joueur tombe dans le vide dans la version build mais pas dans l'éditeur. Je prend le temps de charger tous les objets de la map avant d'instantier le joueur. Il possède bien un collider, le terrain également. Je peux me déplacer avec le personnage sur mon terrain sans soucis dans l'éditeur Unity mais pas sur la version build, alors qu'elle est totalement identique.
Je ne comprends donc pas du tout, j'espère que vous pourrez m'aider, c'est très curieux d'autant plus qu'en mode développement je n'ai pas de logs en particulier..

Je vous remercie par avance pour votre aide!

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par boubouk50 » 24 Jan 2020 09:34

Salut,
Ce n'est pas incohérent, en éditeur tu n'es ni limité ni contraint, contrairement au build.
As-tu des données instanciées depuis une ressource externe? Il se pourrait qu'un chemin ne soit pas valide en build et empêche l'instanciation.
Aussi, as-tu du code platform-dependent? C'est à dire compilé uniquement pour l'éditeur (par exemple).
Les logs sont ici: C:\Users\<YourUserName>\AppData\LocalLow\<AppCompanyName>\<ProjectName>
"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

calypsomen
Messages : 45
Inscription : 26 Mars 2019 16:39

Re: Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par calypsomen » 24 Jan 2020 13:29

Merci pour ta réponse rapide!

J'ai des données de map instanciées via AssetBundle mais même sans objets sur la map, avec seulement le terrain, le joueur tombe quand même.
Le joueur n'est pas instancié et est déjà présent dans la scène.
Je ne remarque rien de spécial dans les logs, à part des erreurs "Failed to clean mesh", je ne sais pas si c'est lié.

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

Re: Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par Max » 25 Jan 2020 13:44

Bonjour,
calypsomen a écrit :
24 Jan 2020 13:29
Je ne remarque rien de spécial dans les logs, à part des erreurs "Failed to clean mesh", je ne sais pas si c'est lié.
il me semble que cela peut être lié à un soucis de création du meshcollider par PhysX (lié à ton terrain donc ? )
Ce qui expliquerait de base pourquoi ton personnage passe à travers le terrain, ne possédant pas de fait de collider.
Alors pourquoi cela fonctionne dans l'éditeur et pas en build, ben là...???
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

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

Re: Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par DevAmat » 25 Jan 2020 16:14

Ton mesh est en static?

calypsomen
Messages : 45
Inscription : 26 Mars 2019 16:39

Re: Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par calypsomen » 26 Jan 2020 00:20

J'ai finalement réglé le problème en trouvant le gameobject qui causait cela. En le supprimant de la scène, je n'ai plus de soucis. Il était en effet en static, mais aucune idée de pourquoi ce gameobject a provoqué ça.. Curieux, merci pour votre aide!

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

Re: [RESOLU] Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par DevAmat » 27 Jan 2020 14:42

Lorsque ton "GameObjet" dans ta scène est en "static" Unity effectue une optimisation.
De ce fait si ensuite tu veux ajouter des "colliders" sur ce"meshe" en "runtime", tu n'as pas le résultat escompté.
Notamment ton "collider" ne s'adaptera pas normalement au "mesh".
Je ne suis pas super bien renseigné sur ce sujet, faudrait trouver une source pour en être certain mais j'ai déjà personnellement été confronté à ce sujet.

PS: Cette optimisation des "meshes" "static" se fait à la compilation du projet, d'où cette différence de comportement ente l'éditeur et l'exécutable.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [RESOLU] Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par boubouk50 » 27 Jan 2020 14:51

Pour rebondir, un objet static est un objet qui restera immuable. Un objet qui ne subira aucune transformation de quelque manière que ce soit. Cela permet de tout pré-enregistrer ce qui peut l'être et limiter des calculs continus.
Donc soit tu laisses ton objet statique, dans ce cas, il faut le configurer dans l'éditeur et ne plus y retoucher. Soit tu le décoches et ça devrait passer.
A noter, que tu peux définir certains attributs static ou non ->NavMesh, Lightmap, Occluder, etc pour les bloquer.
"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

calypsomen
Messages : 45
Inscription : 26 Mars 2019 16:39

Re: [RESOLU] Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par calypsomen » 28 Jan 2020 01:01

Finalement le problème est toujours d'actualité en décochant tous les objets static de la scène, je ne comprend donc pas du tout, voici les logs du Player.log :
► Afficher le texte

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

Re: Joueur tombe dans le vide dans la version build mais pas dans l'éditeur

Message par Max » 28 Jan 2020 19:21

Bonsoir,

D'après ton log, les messages suivant devraient te mettre sur une piste je pense:
Couldn't create a Convex Mesh from source mesh "Body" within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
(Filename: Line: 95)

Couldn't create a Convex Mesh from source mesh "Collider" within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
(Filename: Line: 95)
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

Répondre

Revenir vers « Unity le logiciel »