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

Développement 2D, 3D et Jeux Discussion :

[THREE.JS] Physique + Detection de collisions


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Points : 177
    Points
    177
    Par défaut [THREE.JS] Physique + Detection de collisions
    Bonjour à tous !

    Je viens vous demander conseils concernant les lib gérant la physique ainsi que la détection de collision.

    Je souhaiterais faire un jeu de course avec THREE.JS.

    J'ai utilisé Physijs jusqu'à maintenant et j'ai une voiture qui roule sur une surface plate.

    J'aimerai maintenant 'passer au niveau supérieur' et avoir une voiture qui roule sur un circuit.

    J'importe donc mon circuit qui est un .obj avec le THREE.OBJLoader() et je positionne ma voiture dessus.

    Le soucis est que Physijs ne gere pas la physique sur une surface autre qu'un plane, cube, sphere etc etc.
    Il est donc impossible de faire reposer ma voiture sur mon circuit.

    Connaissez-vous une lib qui me permette de gérer physique + collision entre ma voiture et mon circuit qui ne sont pas des formes 'standard' ?

    Merci !

  2. #2
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Pour ce qui est du déplacement sur un terrain non plat, je ne suis pas sûr que des tests de collision soient ce qu'il y a de plus appropriés (et de plus performants).

    Le plus simple est simplement d'ajuster la hauteur y de ton véhicule en fonction de la hauteur du terrain obtenue via les coordonnées (x, z) du véhicule.
    Tutoriels et FAQ TypeScript

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Points : 177
    Points
    177
    Par défaut
    D'accord, du coup, faire la physique moi même en gros
    Pour ce qui est des collisions (bords du terrain) aussi?

    Comment faire pour éviter les milliards de 'if' ?

  4. #4
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Citation Envoyé par xoorus Voir le message
    D'accord, du coup, faire la physique moi même en gros
    Pour ce qui est des collisions (bords du terrain) aussi?

    Comment faire pour éviter les milliards de 'if' ?
    Pour la gestion de l'élévation du véhicule en fonction du dénivelé, à mon sens c'est plus simple et plus performant si tu le gères toi même.

    Pour le reste, je ne suis pas un expert, mais j'ai vu un article intéressant sur la gestion des collisions qui utilisait une méthode de raycasting (THREE.Raycaster) en natif dans three.js pour "scanner" l'environnement du joueur et ainsi détecter les obstacles. (cf. http://webmaestro.fr/collisions-dete...js-raycasting/)

    Cela devrait peut-être te permettre de gérer les bords de ton circuit et autres objets du décors.
    Après, il y a sans doute d'autres approches. Mais c'est déjà un début.
    Tutoriels et FAQ TypeScript

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Points : 177
    Points
    177
    Par défaut
    Ok, je vais regarder ça alors !
    Merci

Discussions similaires

  1. Création de moteur physique, problème de collision
    Par Jackyzgood dans le forum Débuter
    Réponses: 2
    Dernier message: 09/11/2009, 11h35
  2. Detection de collision de polygones 2d
    Par BruceBoc dans le forum Physique
    Réponses: 1
    Dernier message: 13/04/2007, 00h01
  3. Detection de collision entres deux cylindres.
    Par Sandro Munda dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 07/11/2006, 14h36
  4. ALGO detection de collision
    Par tetepoive dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 29/05/2006, 13h33
  5. Detecter des collisions
    Par jmoati dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 10/04/2005, 16h22

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