Raydium 3D Game Engine
https://memak.raydium.org/

RPM et charge?
https://memak.raydium.org/viewtopic.php?f=10&t=2108
Page 1 of 1

Author:  Patchi29 [ Tue Apr 20, 2010 7:51 am ]
Post subject:  RPM et charge?

Bonjour, je souhaiterais réutiliser ManiaDrive pour piloter un petit soft de synthèse sonore. Pour cela il me faut récupérer 3 valeurs importantes : la vitesse, le régime moteur et la charge (enfoncement du joystick). Pour ce qui est de la vitesse je n'ai pas eu de soucis mais je voulais savoir si pour les deux autres c'était possible?

Author:  Xfennec [ Tue Apr 20, 2010 8:16 am ]
Post subject:  Re: RPM et charge?

Bonjour,

Vous partez du code source du projet ou directement depuis le binaire ? En d'autres termes, comment vous "intefacez"-vous avec ManiaDrive ?

Author:  Patchi29 [ Tue Apr 20, 2010 8:33 am ]
Post subject:  Re: RPM et charge?

Je pars du code source. J'ai pu récupérer la vitesse dans la fonction display() pour pouvoir la mettre à jour mais en ce qui concerne les deux autres valeurs je bloque!?

Author:  Xfennec [ Tue Apr 20, 2010 9:25 am ]
Post subject:  Re: RPM et charge?

En ce qui concerne la "charge", vous pouvez utiliser la variable "speed" AVANT sa relecture avec "raydium_ode_motor_speed_get_name()".

En clair, ManiaDrive calcule la vitesse souhaitées par l'utilisateur, "injecte" cette demande dans le moteur physique et ensuite va relire cette valeur pour connaitre la vitesse de la voiture (ou en tout cas la vitesse de rotation des roues). Actuellement, bous devez donc lire "speed" à la fin de la fonction display(), et la charge est représentée par cette même variable, mais avant sa relecture. Cherchez raydium_ode_motor_speed_name(), c'est là que la charge est donnée au moteur.

En ce qui concerne les RPM, j'ai une mauvaise nouvelle : ManiaDrive ne gère ni boite de vitesse ni embrayage, donc cette information n'existe pas en tant que telle. Vous pouvez voir cette valeur comme un facteur de la vitesse de rotation des roues. C'est d'ailleurs en gros ce qui est fait pour le son de la voiture actuellement :
Code:
speed*=0.1; // wheel radius
speed/=4;
speed+=0.5;
speed+=(raydium_random_neg_pos_1()/15);
raydium_sound_SetSourcePitch(sound_car,raydium_math_abs(speed));

Author:  Patchi29 [ Tue Apr 20, 2010 12:49 pm ]
Post subject:  Re: RPM et charge?

Merci beaucoup pour cette réponse, la fin ne m'arrange pas mais je vais voir ce que je peux faire!Merci beaucoup

Author:  Patchi29 [ Tue Apr 20, 2010 12:56 pm ]
Post subject:  Re: RPM et charge?

Juste une dernière question, je suis désolé de vous embêter, un système volant+pédales est-il pris en compte sous Windows ?je n'ai pas encore le matériel pour tester et j'aimerais savoir si cela serait possible...En tous cas bravo pour votre travail!

Author:  Patchi29 [ Tue Apr 20, 2010 1:15 pm ]
Post subject:  Re: RPM et charge?

De plus les fonctions raydium_ode_motor_gears_set_name () et raydium_ode_motor_gear_change_name () par exemple de l'API Raydium ne permettent-elles pas de mettre en place une boite de vitesse?Ma question est surement naïve mais je pensais pouvoir exploiter ce type de fonctions dans ce but là.

Author:  Xfennec [ Tue Apr 20, 2010 1:19 pm ]
Post subject:  Re: RPM et charge?

Concernant un couple volant/pédales, honnêtement, bof.

C'est pas très vendeur de le présenter comme ça, mais ManiaDrive n'a pas été conçu en pensant à autre chose que des contrôles au clavier.

Cependant, Raydium s'est vu ajouter un support des périphériques type joystick/joypad entre temps, et vu que vous passez par le code source, il devrait être possible de bricoler pour arriver à quelque chose qui marche. Jetez un oeil du coté de la doc pour lire les valeurs des axes (raw data) :
http://wiki.raydium.org/wiki/RaydiumApiReference#joy.h (la donc n'est pas à jour, ça fonctionne correctement sous windows, vous pouvez faire un test avec l'application test-joydev.c)

En ce qui concerne le support des boites de vitesses, je vous laisse voir, les fonctions dont vous parlez sont bien les bonnes, mais l'implémentation est particulièrement basique.

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/