Skip to content

simonziz/ziza_emery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

##WEBGL - BABYLON

  • Simon Ziza et Guillaume Emery

Introduction :

A l'aide de la bibliothèque Babylonjs, nous avons réalisé un mini jeu. Le but est de faire passer la balle dans l'anneau.

Comment jouer :

→ Il faut commencer par choisir la direction de la balle, ainsi que la force : - flèche gauche et flèche droite pour orienter la balle horizontalement - flèche haut bas pour orienter la balle verticalement - a pour augmenter la puissance et z pour la diminuer

Ces trois caractéristiques sont affichées dans l'espace 3D par un repère orthogonal : Ainsi, quand le joueur change une direction, la flèche correspondante va augmenter ou diminuer en temps réel. → Quand la balle est prête à être tirée, il ne reste plus qu'à appuyer sur la barre espace. → Pour replacer la balle à la position initiale, appuyer sur la touche retour/effacer/backspace. → Jouez sur 6 niveaux différents ! ( clavier, numéro 0;1;2;3;4;5).

Choix techniques adoptés :

→ physique du tore Pour le tore, il n'existe pas de type de PhysicsImpostor particulier comme pour la sphère (SphereImpostor). On utilise le type le plus générique, MeshImpostor. Les autres types ne fonctionnant pas correctement dans notre cas. En effet nous les avons essayé, notamment SphereImpostor et CylinderImpostor, mais la balle ne pouvait plus passer au milieu du tore. Le type MeshImpostor fonctionne plutôt bien ; nous avons cependant observé quelques fois un bug, ou la balle traversait le tore ( la partie pleine), ce bug arrive le plus souvent quand la balle est rapide.

→ impulsion donné à la balle Pour lancer la balle, nous avons décidé d'utiliser la fonction applyImpulse, qui applique un vecteur vitesse à l'objet sélectionné.

→ annuler la vitesse : Lorsque l'on replace la balle à la position initiale, il ne faut pas oublier de remettre à zéro et le vecteur vitesse et le vecteur rotation (-setLinearVelocity* et setAngularVelocity), sinon la balle conserve sa vitesse d'avant repositionnement.

→ Lumière et ombre : On utilise des spotlights pour imiter des lampadaires. Cependant nous avons d nous limiter à 2 au lieu de 4 (un dans chaque angle) à cause de la latence qui apparaissait et qui empêchait de profiter pleinement du jeu. Nous avons toutefois laissé dans le code les deux spotlights supplémentaire, commenté, qui une fois décommenté donne un effet stade de foot à la scène.

About

Jeu de Basketball

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages