Bonjour/Bonsoir a tous/toutes,
Je suis en train de réaliser un Plateformer 2D
Et je cherche a faire marcher mon personnage sur une plateforme inclinée, car dans un premier temps j'avais contraint le Rigidbody du sprite en axe Z comme vous pouvez le voir si dessous:
Cependant pour plus de réalisme j'ai décidé qu'il fallait mieux que le personnage "colle" au sol, j'ai donc enlevé la contrainte et malheureusement dés qu'il percute le collider de la plateforme il tombe vers l'avant :
Voici le personnage, il s'agit d'un box collider 2D :
Et voici la plateforme, il s'agit d'un polygone collider 2D :
Merci tu temps que vous avez consacré a lire ce post.
Et je vous remercie d'avance pour vos reponses.
Nicolas V.
[Plateformer 2D][C#]Faire "coller" un personnage 2D sur une plateforme unclinée[Résolu]
-
- Messages : 6
- Inscription : 25 Nov 2016 21:10
[Plateformer 2D][C#]Faire "coller" un personnage 2D sur une plateforme unclinée[Résolu]
Dernière édition par Darklombax le 05 Déc 2016 22:51, édité 1 fois.
Re: [Plateformer 2D][C#]Faire "coller" un personnage 2D sur une plateforme unclinée
Hello,
J'ai jamais vraiment testé mais selon moi, il faut que tu utilises des raycasts devant et derrière ton personnage pour connaître l'angle, un petit exemple ici avec de la 3D :
http://answers.unity3d.com/questions/16 ... ormal.html
Attention quand même ça va prendre en compte le cas même quand il saute, donc n'oublie pas de gérer le maxRange du raycast :
https://docs.unity3d.com/ScriptReferenc ... ycast.html
Sinon ton personnage va s'incliner dans le sens du saut même quand il est en l'air.
Bon courage,
Molgy
J'ai jamais vraiment testé mais selon moi, il faut que tu utilises des raycasts devant et derrière ton personnage pour connaître l'angle, un petit exemple ici avec de la 3D :
http://answers.unity3d.com/questions/16 ... ormal.html
Attention quand même ça va prendre en compte le cas même quand il saute, donc n'oublie pas de gérer le maxRange du raycast :
https://docs.unity3d.com/ScriptReferenc ... ycast.html
Sinon ton personnage va s'incliner dans le sens du saut même quand il est en l'air.
Bon courage,
Molgy
T'entraîner tu devras,
Tester tu feras,
Réussite tu auras.
-- Dayo !
Tester tu feras,
Réussite tu auras.
-- Dayo !
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [Plateformer 2D][C#]Faire "coller" un personnage 2D sur une plateforme unclinée
Je suis pas d'accord avec le "plus de réalisme". Justement, pour que ce soit réaliste, il ne faut pas qu'il prenne l'inclinaison, la gravité ne change pas en fonction de la pente.
Après, ça peut-être un mécanisme de jeu, je ne dis pas, mais comment gères-tu le saut? Perpendiculaire à l'inclinaison ou au Y-World? Pareil pour les tirs, le projectile suis le bras (donc la pente) ou bien reste horizontal?
Tu noteras qu'énormément de jeux laissent le personnage vertical (ce qui est justement réaliste), mais que certains gèrent la pente avec des sprites différents pour simuler une montée ou une descente. D'autres délaissent le sprite unique et créent un personnage animé en 2D (avec jambes, corps, bras, etc) pour pouvoir coller les pieds au sol. D'autres laissent le même sprite et un des 2 pieds est en l'air et le joueur s'en contente (s'il ne s'en tape pas complet...). Très peu suivent ton raisonnement (ce qui ne veut pas dire qu'ils ont raison, mais qu'ils ont leurs raisons).
Où te situes-tu exactement?
Après, ça peut-être un mécanisme de jeu, je ne dis pas, mais comment gères-tu le saut? Perpendiculaire à l'inclinaison ou au Y-World? Pareil pour les tirs, le projectile suis le bras (donc la pente) ou bien reste horizontal?
Tu noteras qu'énormément de jeux laissent le personnage vertical (ce qui est justement réaliste), mais que certains gèrent la pente avec des sprites différents pour simuler une montée ou une descente. D'autres délaissent le sprite unique et créent un personnage animé en 2D (avec jambes, corps, bras, etc) pour pouvoir coller les pieds au sol. D'autres laissent le même sprite et un des 2 pieds est en l'air et le joueur s'en contente (s'il ne s'en tape pas complet...). Très peu suivent ton raisonnement (ce qui ne veut pas dire qu'ils ont raison, mais qu'ils ont leurs raisons).
Où te situes-tu exactement?
"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 : 6
- Inscription : 25 Nov 2016 21:10
Re: [Plateformer 2D][C#]Faire "coller" un personnage 2D sur une plateforme unclinée
Bonjour/Bonsoir,
Merci Molgy pour l'idée, je vais tout de même regarder pour ma culture mais compliquée a appliquée a mon niveau.
Boubouk50: J'ai effectivement le tir horizontal et le personnage en plusieurs éléments, j'avoue ne pas avoir pensé au modification d'animation pour interagir avec la pente ( qui serait plus simple et plus réaliste ).
Pour le saut je lui applique une force en Y et j'ai un collider qui tcheck si le personnage "touche le sol".
Pour déclencher l'animation, je pensais a mettre un trigger sur la pente ou vous me conseillez une autre methode ?
Nicolas V.
Merci Molgy pour l'idée, je vais tout de même regarder pour ma culture mais compliquée a appliquée a mon niveau.
Boubouk50: J'ai effectivement le tir horizontal et le personnage en plusieurs éléments, j'avoue ne pas avoir pensé au modification d'animation pour interagir avec la pente ( qui serait plus simple et plus réaliste ).
Pour le saut je lui applique une force en Y et j'ai un collider qui tcheck si le personnage "touche le sol".
Pour déclencher l'animation, je pensais a mettre un trigger sur la pente ou vous me conseillez une autre methode ?
Nicolas V.
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [Plateformer 2D][C#]Faire "coller" un personnage 2D sur une plateforme unclinée
Alors là, ce n'est plus mon domaine, il faut aller éplucher un peu le net pour le placement de pieds. Je crois pas qu'il faille détecter les pentes, l'algorithme derrière le placement des pieds devrait s'occuper des tous les cas.
"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
Re: [Plateformer 2D][C#]Faire "coller" un personnage 2D sur une plateforme unclinée
Hello,
Utilisez des Triggers pour ce genre de chose c'est rarement une bonne idée, tu vas vite te retrouver avec des dizaines de cas différents à gérer, et le joueur a de fortes chance de se retrouver bloquer sur une animation spécifique. Ça se fait à la limite avec les raycasts de déclencher des animations mais les triggers c'est dangereux selon moi, ça peut marcher mais compliquer à gérer tous les cas.
Quand tu ne sais pas trop utiliser de Raycast pour un platformer2D et que tu veux faire des sols en diagonales sans que ça se voit de trop, le plus simple et "réaliste", c'est de mettre un avant plan qui cache les pieds du personnage lors de la monté. (Genre vu le design que tu as ça pourrait être des câbles ou trucs comme ça)
Dernière chose, quand tu fais un personnage son collider doit toujours être plus petit que le sprite, puisque quand tu touches le joueur, visuellement il faut qu'on sente que le projectile est "entré" dans le sprite.
Voilou,
Molgy
Utilisez des Triggers pour ce genre de chose c'est rarement une bonne idée, tu vas vite te retrouver avec des dizaines de cas différents à gérer, et le joueur a de fortes chance de se retrouver bloquer sur une animation spécifique. Ça se fait à la limite avec les raycasts de déclencher des animations mais les triggers c'est dangereux selon moi, ça peut marcher mais compliquer à gérer tous les cas.
Quand tu ne sais pas trop utiliser de Raycast pour un platformer2D et que tu veux faire des sols en diagonales sans que ça se voit de trop, le plus simple et "réaliste", c'est de mettre un avant plan qui cache les pieds du personnage lors de la monté. (Genre vu le design que tu as ça pourrait être des câbles ou trucs comme ça)
Dernière chose, quand tu fais un personnage son collider doit toujours être plus petit que le sprite, puisque quand tu touches le joueur, visuellement il faut qu'on sente que le projectile est "entré" dans le sprite.
Voilou,
Molgy
T'entraîner tu devras,
Tester tu feras,
Réussite tu auras.
-- Dayo !
Tester tu feras,
Réussite tu auras.
-- Dayo !