IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Physique d'une voiture à partir de zéro (sans collisions)


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut Physique d'une voiture à partir de zéro (sans collisions)
    Bonjour à tous,

    Comment développer la physique d'une voiture à partir de zéro (sans collisions) sachant que c'est pour un city builder sur Unreal Engine 5, donc je suis censé pouvoir générer quelque chose comme 1000 véhicules.
    Ainsi la voiture devra adopter un comportement réaliste (coûteux) lorsque la caméra est proche et un comportement très simplifié mais pas trop irréaliste lorsque la caméra est éloignée.

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2018
    Messages : 104
    Par défaut
    "Physique sans collision", c'est pas un oxymore ? (Physique => lois de Newton => interactions ~= collisions)

    Effectivement, pour un city builder, il n'y a logiquement pas besoin que des voitures "interagissent" avec l'environnement. Elles seraient juste là pour l'animation.
    Donc que veux-tu dire par "physique". Tu penses juste aux animations ou tu penses aussi à autre chose ?

  3. #3
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Citation Envoyé par AbsoluteLogic Voir le message
    "Physique sans collision", c'est pas un oxymore ? (Physique => lois de Newton => interactions ~= collisions)

    Effectivement, pour un city builder, il n'y a logiquement pas besoin que des voitures "interagissent" avec l'environnement. Elles seraient juste là pour l'animation.
    Donc que veux-tu dire par "physique". Tu penses juste aux animations ou tu penses aussi à autre chose ?

    Bonjour AbsoluteLogic,

    Disons que par "sans collision" j'entendais pas de collision avec d'autre véhicules ni avec l'environnement physique. Les voitures suivent une série de points et de tangentes le long le long de splines. Pas non plus de collision avec le sol car c'est un static mesh plat.

    Simplifions la voiture à 2 éléments : le corps (C) et les 2 roues motrices (R).

    Par physique j'entends, un mouvement réaliste de C par rapport à R par contrainte physique (quand je tourne le volant j'aimerais que ça ressemble visuellement à une voiture) . Mais aussi C n'aura pas le même comportement suivant la force centrifuge, la force de freinage, la hauteur du centre de gravité, le réglage des suspensions etc...
    L'idée c'est de désactiver le comportement autonome de C lorsque la caméra est suffisamment éloignée, par soucis de performance car dans un city builder énormément de véhicules son visibles en même temps.

    Je n'utilise pas l'Objet Vehicule dans Unreal Engine 5 car je sais que c'est une usine à gaz et que si je spawn 1000 véhicules mon FPS va chuter à 1 (même en désactivant un max de paramètres quand la caméra est éloignée (sorte de "LOD algorithmique").
    J'ai opté pour la flexibilité et la performance "idéale" en essayant de développer from scratch.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2018
    Messages : 104
    Par défaut
    D'accord, il s'agit de la physique entre les éléments de la voiture. Et ces éléments ne seraient donc que les 4 roues reliées par les suspensions au corps de la voiture (avec un effet ressort vertical).

    Mais tu veux représenter une physique "vraiment" réaliste, ou cariturée (exagérée) ? Parce que dans la vraie vie, j'aurais tendance à dire qu'on ne remarque pas l'effet des amortisseurs. D'ailleurs, si je ne dis pas de bêtises, c'était les vieux amortisseurs qui avaient tendance à osciller. Les nouveaux amortisseurs sont "actifs", et se contentent de réduire l'impact des fluctuation de la route sur le corps de la voiture. Mais bon, ça c'est pas mon domaine, donc je me trompe peut-être , et je suis peut-être hors-sujet par rapport à ton besoin.

    Bon, en tout cas, le problème de simulation de la voiture se sépare en deux parties :
    * son déplacement sur le plan horizontal (suivi de trajectoire). Cela est directement lié à l'orientation des roues avant selon l'axe vertical (tourner gauche/droite). Pour ça, il n'y a vraiment pas de physique, c'est juste de la géométrie (à moins que tu veuilles considérer les dérapages ). Mais tu peux nous dire si c'est inclus dans ta question, ou si t'es déjà au point sur ça.
    * 2ème point plus facultatif, les mouvements du corps de la voiture par rapport aux roues à cause des suspensions. Il s'agit donc de calculer les forces exercées sur les suspensions en fonction des vecteurs accélérations de la voiture, calculer la réaction des suspensions, et ce qui en résulte sur la position du corps de la voiture.

    Tu confirmes être intéressé par cette vision des choses ? Sinon tu peux préciser ?

  5. #5
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Tu as tout bon sauf que je ne souhaite pas intégrer les dérapages.

    J'ai trouvé cet article de thèse qui est très complet mais ça va me prendre beaucoup de temps de l'implémenter en c++

    https://nccastaff.bournemouth.ac.uk/...hat/Thesis.pdf

    J'ai cherché sur Github un tru prémaché mais en vain.

    Tu me conseilles d'orienter où mes recherches ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2018
    Messages : 104
    Par défaut
    Citation Envoyé par guitz Voir le message
    J'ai trouvé cet article de thèse qui est très complet mais ça va me prendre beaucoup de temps de l'implémenter en c++
    https://nccastaff.bournemouth.ac.uk/...hat/Thesis.pdf
    Euuuh, tu développes un jeu de course ou un city builder ?!!!
    Au passage, je peux poser la question, c'est pour un projet perso, ou pour un "produit" ?

    Citation Envoyé par guitz Voir le message
    Tu me conseilles d'orienter où mes recherches ?
    Personnellement, je suis là pour appliquer mes connaissances et mon savoir faire, pas faire des recherches pour lesquelles tu serais surement au moins aussi bon que moi.
    Donc j'ai synthétisé les 2 points dans mon message précédent. Pour chacun d'eux, soit tu peux établir les formules toi-même, soit je peux t'aider à les faire, soit tu peux chercher sur internet. Mais si tu veux que je t'aide :
    * Pour le 1er point, en supposant que tu ne l'a pas déjà fait (parce que je considère que ce n'est pas de la "physique"), j'aurais besoin que tu me précises ce que t'as fait jusque là, notamment tes structures de données pour les trajectoires.
    * Pour le 2nd point, j'aimerais t'entendre dire "Je suis convaincu que voir les suspensions bouger améliorera l'expérience de jeu des joueurs" avant d'aller plus loin
    Mais je précise, ça ne me dérange pas d'aider si je peux me sentir utile, mais passer par moi sera sûrement moins efficace que trouver ce qu'il faut sur internet si la solution s'y trouve directement. Mais comme je l'ai dit, je te laisse faire les recherches selon comme tu le sens.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/05/2021, 17h27
  2. Physique d'une voiture dans les jeux 2d
    Par Djall0n dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 09/07/2018, 14h56
  3. Réponses: 55
    Dernier message: 03/07/2015, 16h47
  4. Réponses: 1
    Dernier message: 09/08/2014, 17h57
  5. Réponses: 12
    Dernier message: 04/12/2013, 21h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo