Salut,
pour mon jeu de plkateform je souhaite creer une sorte de character controller, et pour ça je dois limiter la rotation du body entre deux valeurs pour des questionde realismes, mais je e sais pas qiel estl a meilleur solution.
Salut,
pour mon jeu de plkateform je souhaite creer une sorte de character controller, et pour ça je dois limiter la rotation du body entre deux valeurs pour des questionde realismes, mais je e sais pas qiel estl a meilleur solution.
dommage
regarde la doc du b2body
http://linuxuser.at/elements/doc/box...2_body_def.htm
et essaye de mettre "angular damping" a 1 ca devrai marché ,en tout cas c est fait pour^^
L'angular damping si je me souviens bien sert à "ralentir" ou accélérer une rotation, mais pas à la bloquer à une certaine valeur.
Tu as le fixedRotation dans la définition du body qui te permet de ne pas du tout pouvoir faire de rotation avec ton Body.
Par contre limiter la rotation d'un body n'est pas possible il me semble.
Ou alors il faudrait trouver un moyen de l'attacher avec un rotatedJoint et de limiter les rotations, mais je ne vois pas trop comment faire pour ça
Mais sinon une autre technique consisterait à faire toi même la vérification, du genre à chaque frame tu regardes si tu ne dépasse pas, et si c'est le cas alors tu le remets comme il faut.
En espérant t'avoir aidé
Soft Creations - FirmLife
Soft Creations: Blog de Fabien Henon et site de prestations de sites web et applications mobiles
FirmLife: Le nouveau jeu de gestion d'entreprises en ligne
sur la plupart des moteurs physiques l angular damping sert effectivement a ralentir les rotation,
mais bon quand il est défini a 1,,c est un ralentissement TOTAL
c est a dire qu'en théorie il ne devrait pas y avoir de rotation
puisque le damping ca doit etre un calcul bidon genre :
velocitée_angulaire = velocitée_angulaire * (1-AngularDamping)
après en pratique selon les moteurs , y a effectivement des rotation impromptue^^
si ca marche pas avec le damping, tu peut essayer ce que te suggere TheBasher
Mais pour empêcher la rotation d'un objet Bax2D fournie une variable: fixedRotation, il suffit de la mettre à true pour que l'objet ne fasse plus aucune rotation
Cependant ce que veut bachir006 si j'ai bien compris ce n'est pas stopper la rotation mais la limiter entre 2 valeurs, et par contre pour ça Box2D ne fournie aucune fonction Donc il faut essayer de trouver un moyen pour contourner ça.
Soft Creations - FirmLife
Soft Creations: Blog de Fabien Henon et site de prestations de sites web et applications mobiles
FirmLife: Le nouveau jeu de gestion d'entreprises en ligne
en mémorisant l ancien angle ,et si la nouvelle valeur et hors limite ,on remet l ancienne ,,,dans le genre?
effectivement j avais mal cerné son problème ^^
En effet, faire comme ça, devrait fonctionner mais il faut tester parce qu'il se pourrait que lors de la phase de correction des collisions il y ait quelques incohérences du fait qu'on se "téléporte", mais étant donné que le mouvement de rotation devrait être assez petit (puisque c'est juste le remettre en place s'il déborde) il ne devrait normalement pas y avoir de problème.
Soft Creations - FirmLife
Soft Creations: Blog de Fabien Henon et site de prestations de sites web et applications mobiles
FirmLife: Le nouveau jeu de gestion d'entreprises en ligne
Tout A fait daccord ^^
je viens de tester une limitation d angle sur un autre moteur physique en bidouillant, et en fait quand on fait ca il vaut mieux mettre l angular damping a 1 ou avec une valeur importante comme ca le moteur fait ses calcul avec des rotation les moins importante possible, du coup quand on "tweake" l angle du body ,et ben ca passe pas a traver le sol ^^
bon c est pas dit que ca marche sur box2d mais les moteurs physique on pas mal de points commun^^
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager