Historique des modifications - Message

Message #7897

Sujet: Grenade, projectiles et Bombes


Type Date Auteur Contenu
Dernière modification 07-02-2010 17:41:05 firnafin
C'est domage de faire tourner un moteur physique uniquement pour quelque projectiles.Si il y a que ca de "physique" dans une scene tu pourrais essayer de le faire par toi meme :

(somme_des_forces_appliquées_sur_le_projectile)/(masse_du_projectile) = acceleration_du_projectile . ( équation vectorielle ).

vitesse_du_projectile = (acceleration_du_projectile*durée_de_la_boucle_en_seconde+vitesse_initiale)*(1-facteur_frottement);
position_du_projectile = vitesse_du_projectile_*durée_de_kla_boucle_en_seconde+position_initiale;

if( projectile_collision == true ){

core::vector3df Normale_de_la_collision = je_recupere_le_vecteur_normale_a_la_collision_(normalisé);
vitesse_du_projectile = vitesse_du_projectile-vitesse_du_projectile.dotProduct( Normale_de_la_collision )*Normale_de_la_collision*(facteur_de_rebondissement+1); // on renverse la vitesse selon la normale ( symetrie vectorielle selon le plan othogonale a la normale )

}

facteur_de_rebondissment = 1 => surface parfaitement rebondissante
facteur_de_rebondissment = 0 => surface non rebondissante rebondissante
facteur_de_frottment = 0 => le projectile ne ralentit pas ( tir dans le vide )
facteur_de_frottment = 1 => le projectile s'arrete tout de suite ( air comme une mur )
Création du message 07-02-2010 17:38:51 firnafin
C'est domage de faire tourner un moteur physique uniquement pour quelque projectiles.Si il y a que ca de "physique" dans une scene tu pourrais essayer de le faire par toi meme :

(somme_des_forces_appliquées_sur_le_projectile)/(masse_du_projectile) = acceleration_du_projectile . ( équation vectorielle ).

vitesse_du_projectile = (acceleration_du_projectile*durée_de_la_boucle_en_seconde+vitesse_initiale)*(1-facteur_frottement);
position_du_projectile = vitesse_du_projectile_*durée_de_kla_boucle_en_seconde+position_initiale;

if( projectile_collision == true ){

core::vector3df Normale_de_la_collision = je_recupere_le_vecteur_normale_a_la_collision_(normalisé);
vitesse_du_projectile = vitesse_du_projectile-vitesse_du_projectile.dotProduct( Normale_de_la_collision )*Normale_de_la_collision*(facteur_de_rebondissement+1); // on renverse la vitesse selon la normale ( symetrie vectorielle selon le plan othogonale a la normale )

}

facteur_de_rebondissment = 1 => surface parfaitement rebondissante
facteur_de_rebondissment = 0 => surface non rebondissante rebondissante
facteur_de_frottment = 0 => le projectile ne ralentit pas ( tir dans le vide )
facteur_de_frottment = 1 => le projectile s'arrete tout de suite ( air comme une mur )

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
147 invités en ligne
membre en ligne: -
RSS Feed