| Collision physique | |
|
|
Auteur | Message |
---|
Herdge Très bonne participation
Messages : 164
| Sujet: Collision physique Ven 30 Jan 2015 - 13:53 | |
| J'ai une nouvelle idée de projet en tête mais je n'ai pas encore décidé comment m'y prendre en ce qui concerne le moteur du jeu.
Le jeu sera un platformer 2D et une des mécaniques de base reposera sur les collisions entre joueurs afin qu'ils se repoussent. J'aimerai que la réaction du choc soit proportionnelle à la force de l'impact notamment.
C'est pourquoi je pensais utiliser le système physique intégré dans GM, mais j'ai vu qu'il existait aussi l'extension extreme physique.
Qu'est ce qui serait le plus judicieux selon vous ? Le système GM, extreme physique, faire mon propre moteur ?
Merci |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 14:09 | |
| Extreme Physics serait peut être un peu trop compliqué pour toi, j'en ai moi-même un peu chié pour l'utiliser. Celui de GM:S n'a pas l'air trop mauvais et est bien mieux documenté et a beaucoup plus d'exemples concrets à trouver sur les forums qu'une DLL ou qu'un GEX. _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 14:27 | |
| Extreme Physics est parfait.... si tu as pas peur d'écrire beaucoup de code ^^ _________________ |
|
| |
Herdge Très bonne participation
Messages : 164
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 15:04 | |
| Bon je crois que vais commencer par la version GM et si j'ai trop de problème de performance je passerai à extreme physics. |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 16:18 | |
| tu devrai pas avoir de problème de perf, le moteur physique s'y trouvant est Box2D, lui même un bon moteur physique que j'avais déjà utiliser en C++. Extreme physics sert surtout à bourriner la physique dans le cas des fluide par exemple. |
|
| |
Herdge Très bonne participation
Messages : 164
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 17:17 | |
| Ok merci ! Je sais que j'ai fait le bon choix grâce à vous tous. Je suis maintenant face à un nouveau problème je voudrais savoir s'il est possible de mesurer la force entre 2 objets en collisions ?
En fait je voudrais que si un joueur entre en collision avec une certaine force cela le sanctionne. J'avais pensé à mesurer l'accélération du joueur entre chaque frame afin de détecter un changement de vitesse brutal qui indiquerait une collision mais quelqu'un a peut être une meilleure idée ? |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 17:20 | |
| Parler de force n'a pas vraiment de sens, tu devrais plutôt modéliser ça par un calcul de la vitesse d'impact. Tes objets bougent selon combien d'axes ? Cela dit mesurer la décélération ça peut le faire éventuellement |
|
| |
Herdge Très bonne participation
Messages : 164
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 17:41 | |
| Oui je pense que c'est ce que je vais faire. Les objets bougent selon les axes x et y (si c'est bien ta question) |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 18:10 | |
| Bon vu qu'il s'agit d'une modélisation, je dirai que le plus simple pour obtenir un ordre de grandeur de la vitesse d'impact serait d'additionner la vitesse d'impact de chaque composante. Pour la composante X : - Code:
-
XSpeed = abs(hspeed1 - hspeed2); Dans le cas où les deux objets ont une vitesse horizontale (hspeed) >0 (donc dépl vers la droite de la room), par exemple 5 et 8, abs(5 - 8 ) = 3. Impact faible car vitesse importante mais de même signe (collision dans la même direction). Si hspeed1 > 0 et hspeed2 < 0 (vitesse hor opposée donc directions opposées, choc frontal), abs(5 - -8 ) = 13, impact fort car vitesse importante et choc frontal. Tu fais pareil pour la composante Y : - Code:
-
YSpeed = abs(vspeed1 - vspeed2); Et la somme des deux : - Code:
-
RelativeSpeed = XSpeed + YSpeed; T'obtient un nombre dont l'ordre de grandeur sera assez représentatif de la force de ta collision. Après ce qu'il ne faut pas oublier dans la collision c'est la masse des objets. Là on part du principe que les deux ont une masse équivalente donc que la même force de réaction s'oppose à chacun, mais si leur masse diffère cette modélisation basique ne sera absolument pas réaliste |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Collision physique Ven 30 Jan 2015 - 22:41 | |
| Et le théorème de Pythagore alors ? _________________ Home is not a place, it's a feeling.
|
|
| |
Contenu sponsorisé
| Sujet: Re: Collision physique | |
| |
|
| |
| Collision physique | |
|