[RESOLU][DB-AL] Le motorTorque.

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Dpg
Messages : 13
Inscription : 17 Fév 2017 12:07

[RESOLU][DB-AL] Le motorTorque.

Message par Dpg » 24 Fév 2017 16:18

Bonjour, je me pose une question, pour le MotorTorque, lorsqu'on lui transmet une valeur, il rajoute cette valeur à chaque update.
Peux t'on stabiliser cette valeur ?

Ex: si j’appuie sur "avancer", le motorTorque prend ma valeur puis tourne avec cette valeur donnée.
En gros mon problème c'est que je passe par une Update donc la valeur va se multiplier et donc la voiture va aller de plus en plus vite.
Est' il possible de Clamper le motorTorque ?
Car je suis en train de réfléchir à faire des changements de vitesse. Sauf que la première peux monter à 200km/h si je veux ^^

Pour le moment je limite la vitesse maximum de ma voiture, elle n'a qu'une vitesse.
Le mieux serrai t’il de modifier la vitesse max pour chaque changement de rapport ?
D'autre solutions ?
Dernière édition par Dpg le 27 Fév 2017 13:37, édité 1 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6215
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Le motorTorque.

Message par boubouk50 » 24 Fév 2017 16:31

Il te suffit simplement de lier la valeur ajoutée au motorTorque à la vitesse, non? (inversement proportionnelle pour être exact)
Plus tu arrives à une vitesse définie moins tu ajoutes du motorTorque, pour arriver à une vitesse de rotation limite.

Tel que je le verrai, je définirais une fonction mathématique (courbe) ou une texture1D qui définirait la valeur à ajouter en fonction de la vitesse.
Par ex: la première va de 0 à 80 km/h (faire le calcul en fonction des N/m du motorTorque). Ensuite en fonction de cette vitesse de rotation, tu vas chercher dans ta fonction d'accélération (ou ta texture1D en ramenant les valeurs dans l'intervalle [0;1]) la valeur à ajouter. f(28) = 1, f(75) = 0.2, etc. Ainsi, tu peux gérer les courbes d'accélération et éviter d'avoir une accélération linéaire.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Dpg
Messages : 13
Inscription : 17 Fév 2017 12:07

Re: [DB-AL] Le motorTorque.

Message par Dpg » 24 Fév 2017 21:18

Enfaite le problème du motorTorque c'est qu'il ne se limite pas à une valeur. Du coup à chaque Update il rajoute la valeur qu'on lui donne à la valeur précédente.

Le seul moyen de limiter la rotation est sois de mettre une condition sois de mettre un frein (brakeTorque).

Je viens de vérifier et le motorTorque n'a pas d'option de paramètre.

Donc je pense de je vais mettre des conditions et modifier directement mes float.

Par curiosité, c'est quoi les textures1D, je ne connais pas du tout. Je vais me renseigner.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6215
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Le motorTorque.

Message par boubouk50 » 27 Fév 2017 10:31

motorTorque est une variable, pas une fonction, tu peux donc la manipuler. Après comment exactement, je ne sais pas.

Une texture1D est une texture sur un pixel de hauteur. Il faut le voir comme un tableau de Vector3 compris entre 0 et 1. Je l'utilise pour simuler des courbes spécifiques.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « (C#) CSharp »