FlightGear - Création d'avions et autres / Creation of aircraft and other

Vous désirez aider à améliorer les avions de Hangar de Helijah, c'est ici que cela se passe / You would like to help improving aircraft from Helijah's hangar, this is where it happens

Vous n'êtes pas identifié(e).

#1 2014-05-07 20:17:26

Helijah
Administrateur
Lieu : Chartres
Inscription : 2011-12-14
Messages : 2 006
Site Web

Du Nasal pour l'Etricj Taube

Bonjour à tous, bonjour Fabien,

Comme indiqué dans notre discussion sur FB, cher Fabien, voici donc le fichier Nasal actuel qui permet de gérer l'animation des cames sur le Taube :

# ***********************************************
# ****                                       ****
# **** Forcer les rpm à 0 si moteur arrêté   ****
# **** BARANGER Emmanuel                2012 ****
# ****                                       ****
# **** Animation des cames des vieux moteurs ****
# **** BARANGER Emmanuel                2012 ****
# **** Milles merci à XIII                   ****
# ****                                       ****
# ***********************************************
var sin = func(a) { math.sin(a * math.pi / 180.0) };

var running = props.globals.getNode("/engines/engine[0]/running",1);
var starter = props.globals.getNode("/controls/engines/engine[0]/starter",1);
var enginerpm = props.globals.getNode("/engines/engine[0]/rpm");

var update_rpm = func 
{
  if (!(running.getBoolValue()) and !(starter.getBoolValue())) {
    enginerpm.setValue(0);
  }
};

var update_cames = func
{
  secondes = getprop("/sim/time/utc/day-seconds");
  var rpm = enginerpm.getValue();
  var cames = sin( secondes * ( rpm / 60 ) );
  setprop("/engines/engine[0]/cames", cames);
};

var main_loop = func {
  update_rpm();
  update_cames();
  settimer(main_loop, 0);
};

setlistener("/sim/signals/fdm-initialized", func {
  main_loop();
});

Mais comme cela est visible, il est aussi utilisé pour gérer les rpm du moteur. Hors cela n'est plus utile puisque je le fait directement dans les animations (merci OO-ZVY smile ). Maintenant ce fichier précédent fonctionne parfaitement pour les cames. Mais si j'enlève les parties concenrant les rpm le résultat plante et l'animation des cames ne fonctionne plus sad

# ***********************************************
# ****                                       ****
# **** Animation des cames des vieux moteurs ****
# **** BARANGER Emmanuel                2012 ****
# **** Milles merci à XIII                   ****
# ****                                       ****
# ***********************************************
var sin = func(a) { math.sin(a * math.pi / 180.0) };

var enginerpm = props.globals.getNode("/engines/engine[0]/rpm");

var update_cames = func
{
  secondes = getprop("/sim/time/utc/day-seconds");
  var rpm = enginerpm.getValue();
  var cames = sin( secondes * ( rpm / 60 ) );
  setprop("/engines/engine[0]/cames", cames);
};

var main_loop = func {
  update_cames();
  settimer(main_loop, 0);
};

setlistener("/sim/signals/fdm-initialized", func {
  main_loop();
});

Alors la question est : "Qu'ais je donc raté dans mon effacement ?"

Il n'y a pas urgence bien sur smile

Amicalement Emmanuel


Quelques avions pour FlightGear
http://helijah.free.fr

Hors ligne

#2 2014-05-07 22:33:26

5H1N0B1
Developpeur
Inscription : 2012-08-07
Messages : 596

Re : Du Nasal pour l'Etricj Taube

Hello,
Bon je ne peux pas tester d'ici, mais j'ai déjà des petites idées qui devraient aider :
0-As tu un message d'erreur dans la console ?
1-rajouter :

var rpm = enginerpm.getValue();
print(rpm);

Et regarder ce que cela donne : Est ce que le variable rpm est correctement initialisé/mise à jour, si oui, quelle valeur prend elle.
1.5-Essayer :

var rpm = getprop("/engines/engine[0]/rpm");
print(rpm);

Ca donne quoi ? mieux ?
2-Mets cela :

settimer(main_loop, 0.05;

Ce sera mieux de toute façon.
3. si ça ne marche toujours pas,  je ferais plusieurs teste avec des print pour savoir où est ce que cela plante.
4.Est ce que dans l'animation qui marche bien (la nouvelle, qui ne nécessite plus de gestion de rpm ici) tu utilise exactement la même variable ?
Voilou...
Sinon j'ai rien vu d'a priori déconnant...
Si ça n'aide pas vraiment ce que j'ai mis en haut je regarderai quand j'aurai fini de remettre mon pc en ordre...
Bien à Toi
Fabien

Dernière modification par 5H1N0B1 (2014-05-07 22:35:03)

Hors ligne

#3 2014-05-08 00:46:01

Helijah
Administrateur
Lieu : Chartres
Inscription : 2011-12-14
Messages : 2 006
Site Web

Re : Du Nasal pour l'Etricj Taube

Yo Fabien smile

Merci déjà de prendre un peu de temps malgré tes sousics de PC.

Je n'ai pas encore ajouté les print et fait les modifs, mais je voulais répondre à ta dernière question. En fait j'utilise le premier fichier indiqué actuellement et celui ci fonctionne très bien (sauf que la gestion de blocage des rpm n'est plus utile)

Amicalement Emmanuel


Quelques avions pour FlightGear
http://helijah.free.fr

Hors ligne

Pied de page des forums

Propulsé par FluxBB 1.4.8