[Résolu] Personnage qui glisse ( Jeu 2D )

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
totoast
Messages : 10
Inscription : 26 Mai 2017 18:25
Localisation : 459, Chemin Alfred Pelloux, La Bâtie - Saint Bernard du Touvet
Contact :

[Résolu] Personnage qui glisse ( Jeu 2D )

Message par totoast » 27 Mai 2017 00:33

Bonjour / Bonsoir !
Je suis en train d'essayer de créer un jeu en 2D sur Unity. J'ai créé mon perso que je peux déplacer ainsi que le décor. Seulement, à un moment, il y a une pente que je veux que mon personnage gravisse. Là est le problème : à peine la pente est entammée mon perso commence à glisser vers le bas... Je ne peux donc implement pas monter cette pente !
Avez-vous une solution à mon problème, Ô experts en la matière ?

En tous cas, merci d'avances pour vos réponses et bon fin de journée / soirée ! :)
Dernière édition par totoast le 28 Mai 2017 16:05, édité 1 fois.
N'chaaa ! Bye'chaaa ! Bonjoirlut !

Avatar de l’utilisateur
Axel74
Messages : 100
Inscription : 23 Mai 2014 16:47
Localisation : Thonon - Lyon

Re: Personnage qui glisse ( Jeu 2D )

Message par Axel74 » 27 Mai 2017 08:36

Qu'est ce que tu utilises comme script pour tes déplacements, utilises tu un Character Controller ? Si oui, en fonction de l'angle de ta pente il se pourrai que les paramètres de ce component ne te permettent pas de gravir une pente de tel inclinaison. Jette un oeil là dessus et plus particulièrement le slope limit :
https://docs.unity3d.com/Manual/class-C ... oller.html

Sinon est ce que tu utilises un "physics material" sur tes rigidbody ou dans les paramètres de la physique ? (Edit/Project Settings/Physics2D)
Douille ou l'ail que pote étaux ? Yes I like.

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

Re: Personnage qui glisse ( Jeu 2D )

Message par Max » 27 Mai 2017 09:20

Bonjour,

@totoast: tu ne fournis aucun élément technique permettant de t'aider. Il va falloir y aller à tâtons par le biais de questions/messages successifs (comme le fait Axel74) pour arriver à parfaitement se faire une idée de ton soucis.
Apprenez à bien exposer vos problèmes techniques, et à fournir les éléments permettant une compréhension rapide et clair de se qui peut coincer (composants employés, scripts utilisés, screen de certains éléments, etc...)
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
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: Personnage qui glisse ( Jeu 2D )

Message par E3DStef » 27 Mai 2017 10:21

Max a écrit :Bonjour,

@totoast: tu ne fournis aucun élément technique permettant de t'aider. Il va falloir y aller à tâtons par le biais de questions/messages successifs (comme le fait Axel74) pour arriver à parfaitement se faire une idée de ton soucis.
Apprenez à bien exposer vos problèmes techniques, et à fournir les éléments permettant une compréhension rapide et clair de se qui peut coincer (composants employés, scripts utilisés, screen de certains éléments, etc...)
+1 moi j'avoue honnêtement ne pas répondre aux messages mal formulés car j'ai pas le temps .....
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Avatar de l’utilisateur
totoast
Messages : 10
Inscription : 26 Mai 2017 18:25
Localisation : 459, Chemin Alfred Pelloux, La Bâtie - Saint Bernard du Touvet
Contact :

Re: Personnage qui glisse ( Jeu 2D )

Message par totoast » 27 Mai 2017 14:52

Bonjour / Bonsoir !
Tout d'abord, merci pour vos réponse. Ensuite, je m'excuse pour ma question aussi mal formulée, pardonnez moi... :/

Pour ce qui est de "est ce que j'utilise un Character Controller", je ne sais pas vraiment ce que c'est mais je ne crois pas en utiliser un ( Pardonnez-moi, je suis un gros Noob... ). Je vous donne le script que j'utilise ainsi que l’inspector de mon perso, en espérant cette fois ne pas faire de gaffe... Pour ce qui est de la pente, ce n'est pas "au bout d'une certaine inclinaison, mon perso glisse", mais "même avec une inclinaison de rien du tout, mon perso glisse".

Merci par avance pour vos réponses et désolé encore pour mon post mal formulé... :-|

Inspector.png
Inspector.png (37.25 Kio) Consulté 5910 fois
Pièces jointes
Script (2).png
Script (2).png (46.5 Kio) Consulté 5910 fois
Script (1).png
Script (1).png (46.14 Kio) Consulté 5910 fois
N'chaaa ! Bye'chaaa ! Bonjoirlut !

Nazarick
Messages : 60
Inscription : 03 Avr 2017 21:44

Re: Personnage qui glisse ( Jeu 2D )

Message par Nazarick » 27 Mai 2017 15:43

Donc tu utilises la physique pour gérer les déplacements de ton personnage. Tu ne semble pas utiliser de matériel physique non plus à première vue.

Personnellement pour gérer les pentes légères où mes personnages ne doivent pas glisser s'ils restent immobiles sur ces dernières, j'utilise un simple matériel physique réglé à 1 sur friction et 0 sur bounciness et je le met sur le collider de la pente. Ainsi mes personnages ne glissent plus

La valeur de friction à utiliser peut varier selon beaucoup de paramètres et la gestion de la physique du personnage en lui même, donc il te faudra faire des essais pour trouver le juste milieu. (Les valeurs que j'utilises au dessus sont parfaites pour mon univers physique donc à toi de trouver les valeurs qui conviennent à tes exigences)

Avatar de l’utilisateur
totoast
Messages : 10
Inscription : 26 Mai 2017 18:25
Localisation : 459, Chemin Alfred Pelloux, La Bâtie - Saint Bernard du Touvet
Contact :

Re: Personnage qui glisse ( Jeu 2D )

Message par totoast » 27 Mai 2017 18:34

Nazarick a écrit :Donc tu utilises la physique pour gérer les déplacements de ton personnage. Tu ne semble pas utiliser de matériel physique non plus à première vue.

Personnellement pour gérer les pentes légères où mes personnages ne doivent pas glisser s'ils restent immobiles sur ces dernières, j'utilise un simple matériel physique réglé à 1 sur friction et 0 sur bounciness et je le met sur le collider de la pente. Ainsi mes personnages ne glissent plus

La valeur de friction à utiliser peut varier selon beaucoup de paramètres et la gestion de la physique du personnage en lui même, donc il te faudra faire des essais pour trouver le juste milieu. (Les valeurs que j'utilises au dessus sont parfaites pour mon univers physique donc à toi de trouver les valeurs qui conviennent à tes exigences)
Tout d'abord, merci beaucoup pour ta réponse, encore une fois ! :D
Pardonne moi, je suis vraiment un noob... mais... où trouve-t-on les matériels physiques ?

Encore une fois, merci pour tes réponses et désolé de mon incompétence.
N'chaaa ! Bye'chaaa ! Bonjoirlut !

Nazarick
Messages : 60
Inscription : 03 Avr 2017 21:44

Re: Personnage qui glisse ( Jeu 2D )

Message par Nazarick » 27 Mai 2017 18:52

totoast a écrit : Tout d'abord, merci beaucoup pour ta réponse, encore une fois ! :D
Pardonne moi, je suis vraiment un noob... mais... où trouve-t-on les matériels physiques ?

Encore une fois, merci pour tes réponses et désolé de mon incompétence.
Dans ton panneau projet tu fait un clique droit puis "Create" et tu clique sur 'Physics Material 2D"

Ces matériaux peuvent être appliqués sur un Collider2D ou sur un Rigidbody2D. Tu peux ainsi, en le mettant sur un collider2D gérer la réaction qu'aura un GameObject envers le reste des éléments physiques. Soit plus ou moins de friction (si tu le mets à 0, ça va glisser), ou alors le paramètre Bounciness qui provoquera un effet plus proche d'une balle rebondissante par exemple.

https://docs.unity3d.com/Manual/class-P ... ial2D.html
https://unity3d.com/fr/learn/tutorials/ ... e-creation

Note à part : Si tu met un matériel physique sur un collider et un rigidbody du même GameObject, ce sera celui du Rigidbody qui prendra le dessus, et ce, qu'importe le nombre de collider sur le GameObject en question.

Avatar de l’utilisateur
totoast
Messages : 10
Inscription : 26 Mai 2017 18:25
Localisation : 459, Chemin Alfred Pelloux, La Bâtie - Saint Bernard du Touvet
Contact :

Re: Personnage qui glisse ( Jeu 2D )

Message par totoast » 27 Mai 2017 19:32

Nazarick a écrit :
totoast a écrit : Tout d'abord, merci beaucoup pour ta réponse, encore une fois ! :D
Pardonne moi, je suis vraiment un noob... mais... où trouve-t-on les matériels physiques ?

Encore une fois, merci pour tes réponses et désolé de mon incompétence.
Dans ton panneau projet tu fait un clique droit puis "Create" et tu clique sur 'Physics Material 2D"

Ces matériaux peuvent être appliqués sur un Collider2D ou sur un Rigidbody2D. Tu peux ainsi, en le mettant sur un collider2D gérer la réaction qu'aura un GameObject envers le reste des éléments physiques. Soit plus ou moins de friction (si tu le mets à 0, ça va glisser), ou alors le paramètre Bounciness qui provoquera un effet plus proche d'une balle rebondissante par exemple.

https://docs.unity3d.com/Manual/class-P ... ial2D.html
https://unity3d.com/fr/learn/tutorials/ ... e-creation

Note à part : Si tu met un matériel physique sur un collider et un rigidbody du même GameObject, ce sera celui du Rigidbody qui prendra le dessus, et ce, qu'importe le nombre de collider sur le GameObject en question.
Merci pour ta réponse ! J'ai fait comme tu as dit et en effet, mon personnage arrive à monter toute la pente. Seulement, quand je reste immobile, mon personnage glisse quand même... Ce qui est embêtant... J'ai eu beau mettre le Matériel Physique sur le Collider ou le Rigidbody, rien n'y fait...
N'chaaa ! Bye'chaaa ! Bonjoirlut !

Avatar de l’utilisateur
Axel74
Messages : 100
Inscription : 23 Mai 2014 16:47
Localisation : Thonon - Lyon

Re: Personnage qui glisse ( Jeu 2D )

Message par Axel74 » 28 Mai 2017 05:35

Tu as probablement une erreur dans ton script qui applique une force sur ton personnage en continu.
Oubli le physics material, ton personnage n'est pas censé glisser.

Pour le partage de tes script pense à les envoyer avec les balises de code si tu veux qu'on t'aide :

Code : Tout sélectionner

[code]
ton code
[/code]

Bon, avant ça pense à faire des essais sur ta scène. Désactive TES script, créer un nouvel objet avec un Rigidbody2D, un box collider 2D et rien de plus. Met le dans ta pente et voit ce que ça donne. N'hésite pas à repartir à "zéro" en faisant des essais sur une scène neuve. Bien souvent le problème vient d'un de nos script...

Pour ce qui est d'écrire tes script je te suggère d'aller chercher un petit tuto youtube pour essayer de repartir sur une bonne base ... Mais envoi toujours le tien qu'on puisse te corriger plus facilement.
Douille ou l'ail que pote étaux ? Yes I like.

Répondre

Revenir vers « Unity le logiciel »