Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 4:34 pm

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: RPM et charge?
PostPosted: Tue Apr 20, 2010 7:51 am 
Offline

Joined: Tue Apr 20, 2010 7:46 am
Posts: 5
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?


Top
 Profile  
 
 Post subject: Re: RPM et charge?
PostPosted: Tue Apr 20, 2010 8:16 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Bonjour,

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


Top
 Profile  
 
 Post subject: Re: RPM et charge?
PostPosted: Tue Apr 20, 2010 8:33 am 
Offline

Joined: Tue Apr 20, 2010 7:46 am
Posts: 5
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!?


Top
 Profile  
 
 Post subject: Re: RPM et charge?
PostPosted: Tue Apr 20, 2010 9:25 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
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));


Top
 Profile  
 
 Post subject: Re: RPM et charge?
PostPosted: Tue Apr 20, 2010 12:49 pm 
Offline

Joined: Tue Apr 20, 2010 7:46 am
Posts: 5
Merci beaucoup pour cette réponse, la fin ne m'arrange pas mais je vais voir ce que je peux faire!Merci beaucoup


Top
 Profile  
 
 Post subject: Re: RPM et charge?
PostPosted: Tue Apr 20, 2010 12:56 pm 
Offline

Joined: Tue Apr 20, 2010 7:46 am
Posts: 5
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!


Top
 Profile  
 
 Post subject: Re: RPM et charge?
PostPosted: Tue Apr 20, 2010 1:15 pm 
Offline

Joined: Tue Apr 20, 2010 7:46 am
Posts: 5
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à.


Top
 Profile  
 
 Post subject: Re: RPM et charge?
PostPosted: Tue Apr 20, 2010 1:19 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 21 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group