See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Animation lancée automatiquement.  (Read 8268 times)

0 Members and 1 Guest are viewing this topic.

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
24 April 2007, 18:33:03
Est il possible d'appeler directement une animation ou une séquence
d'animation à partir d'un fichier scénario sans être obligé d'en passer
par une action sur une touche ?

On lance Orbiter avec ce scenario et paf, la séquence se déclenche
toute seule quoi.
De la même façon, serait il possible de prérégler des déplacements
de caméra puis de rendre la main ensuite à l'utilisateur ?



Message modifié ( 24-04-2007 18:41 )

Pic

Offline Profil supprimé

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Reply #1 - 24 April 2007, 20:03:45
A ma connaissance non. ou alors peut être avec des dll faite soit meme.
Pour ta seconde question j'ai bien peur que non car là il faudrait toucher au noyau d'Orbiter.



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #2 - 24 April 2007, 20:07:15

Comment le train suspendu du KSC fonctionne t'il?


Pic

Offline Profil supprimé

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Reply #3 - 24 April 2007, 20:11:51
Difficile à dire vu que cela fait parti du noyau d'Orbiter. Les addons c'est autre chose car limité à ce que martin nous a
permi de faire.
Mai speut être que quelqu'un de plus expérimenté en programmation me contredira.



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #4 - 24 April 2007, 20:24:12

Ok, merci, j'espère que quelqu'un aura une idée.


Pic

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #5 - 24 April 2007, 20:25:32
Pour ta première question picto, je dirais oui mais sous certaines conditions : si dans ton scénar tu prévois par exemple une variable qui sera utilisé ensuite dans la dll. En fonction de l'état de cette variable, on peut par exemple lancer une anim par la suite ... mais tout doit être bien défini pendant la conception de la dll, ca ne peut être anarchique ...
Pour les déplacements caméra îdem, mais c'est peut être un peu plus limité .... tout dépend ce que tu as en tête ;)
Mais si c'est du basique, oui, je pense que c'est faisable ... ;)



Message modifié ( 24-04-2007 20:25 )


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #6 - 24 April 2007, 20:35:08
Ben, des tas de trucs, je te PM ...


Pic

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #7 - 24 April 2007, 20:37:23
oki


Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #8 - 24 April 2007, 20:44:33
Oui, creer un vessel avec sa Dll, à la façon de symphonie




Offline Jekka

  • Legend
  • ******
  • Posts: 1172
  • Country: Switzerland ch
  • Karma: 3
Reply #9 - 25 April 2007, 01:00:10
A mon avis, c'est tout à fait possible de faire une animation directement en cours au démarrage. Pour ça, il faudrait
regarder de plus près les valeurs donnée dans le .scn pour les animations.

Car par exemple, avec notre module Grav1 avec Momo, celui qui est en rotation. On utilise un bête spacecraft3, on
lance la rotation et on quitte le scenario. Lorsque l'on reprend le (current state), la roue tourne "toujours", donc
l'animation est lancée dès le démarrage du scénario... Pas besoin de passer par des dll propre à mon avis. Il faudrait
étudier la chose de plus près, la réponse n'est pas loin... ;)



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #10 - 25 April 2007, 01:09:58
Jekka, je crois que la rotation qui reste n'est pas liée à l'animation proprement
dite dans le cas que tu décris mais aux status du début du scenario.
Ceux là ...

  STATUS Orbiting Earth
  RPOS -6487361.48 -957710.70 1527663.84
  RVEL -1498.933 7331.026 -1778.090
  AROT -70.39 8.53 -80.06

Mais je me trompe peut être.
Si je ne me trompe pas, je n'ai pas de solution.
Pour le moment ;)


Pic

Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #11 - 25 April 2007, 01:10:59
Sauf que......
t'utilise un DLL quand méme, le spacecraft3




Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #12 - 25 April 2007, 02:05:44
Pas tout a fait Pic
En fait quand on ecris un scénarios en mettant un vaisseaux utilisant le spacecraft3
vessel.cfg  module=spacecraft3.

il ne faut pas perdre de vu que ce dernier est un DLL générique
quand on charge le "currant state" de ce scénarios apres la fermeture d'Orbiter
le spacecraft3 y a sauvegardé les etats d'animation.
Juste a la suite de la déclaration du vaisseaux
animation1 = 0.0000  (etat 0 )  trains_rentrés = 0.000
animation2 = 1.0000  (etat 1 )  trains_sortis  = 1.000
C'est cela qui fait que les animations repartent automatiquement au chargement du "currant-state"




Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #13 - 25 April 2007, 02:18:03
Oki, je peux me lancer alors ?

Il y aura toujours un moyen de se débrouiller pour les faire fonctionner
sans l'intervention d'un doigt sur le clavier ?


Pic

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #14 - 25 April 2007, 14:52:13
Oui pour moi ;) Si c'est de la prog, c'est faisable sans problème ;)


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #15 - 25 April 2007, 15:34:01
Chouette !


Pic

Offline Pagir

  • Legend
  • ******
  • Posts: 4522
  • Karma: 1
Reply #16 - 25 April 2007, 16:04:55
J'y pense: y'a plusieurs vaisseaux qui change de comportement ou qui font varier leur surface de voilure (par
exemple) en fonction de l'altitude (autopilote "B" des navettes 3.7 et suivantes) ou en fonction de la vitesse (par
exemple le Spiral).

Tant qu'il y a un "trigger"...

Pagir


Pagir

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #17 - 25 April 2007, 16:24:20
C'est pas le sujet ...
Je sais que des anims peuvent se déclencher indépendemment de l'action sur une touche.
Y'a qu'à voir le DGIV pour s'en convaincre.
Non, ce qui est important dans ma question, c'est " au lancement d'Orbiter "


Pic

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #18 - 25 April 2007, 17:11:23
Très facile, j'expérimente d'ailleurs ça de suite avec mon chasseur IA ;) Décollage au lancement d'orbiter ;)


Offline Pagir

  • Legend
  • ******
  • Posts: 4522
  • Karma: 1
Reply #19 - 25 April 2007, 17:18:24
Quote
picto a écrit:
C'est pas le sujet ...
Je sais que des anims peuvent se déclencher indépendemment de l'action sur une touche.
Y'a qu'à voir le DGIV pour s'en convaincre.
Non, ce qui est important dans ma question, c'est " au lancement d'Orbiter "


Désolé... :sad:

Pagir


Pagir

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #20 - 25 April 2007, 18:19:20
Ca marche ;)


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #21 - 25 April 2007, 18:27:21
Super !
As tu testé des changements de focus de la caméra automatiques ( programmées :) ) ?


Pic

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #22 - 25 April 2007, 19:44:23
Pas encore mais j'ai déjà joué avec des focus et ça marche très bien ... pour l'instant c'était à l'arrache ... mais on
peut imaginer une touche pour passer d'un vessel à l'autre ... c'est gérable ... on liste les vessel et à chaque appuie
d'une certaine touche, zou on passe sur le suivant ;)
Je termine mes expériences et je m'attèle à la suite ;) Espérer pas que ma femme accouche demain, parce qu'après
c'est stand by et j'aurais moins de temps ensuite ;) Mais je laisserai pas tomber ;)


Offline Jekka

  • Legend
  • ******
  • Posts: 1172
  • Country: Switzerland ch
  • Karma: 3
Reply #23 - 25 April 2007, 22:38:35
Je vois que vous vous en sortez très bien, cool :badsmile: mais pour la petite histoire avec spacecraft3 (je parle de
ce que je connais bien ;) ), ça marche de toute façon, quelque soit l'animation. C'est juste qu'il faut le spécifier dans
le .scn. Ca n'a bel et bien rien à voir avec les coordonnées de position et de vecteurs.

Sinon, bien sûr, spc3 est un dll, mais un dll qu'on a pas besoin de programmer si on y connaît rien en C++... ;)



Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #24 - 26 April 2007, 10:08:24
Il est tout à fait possible de lancer une animation par le scénario si on utilise Spacecraft.

On peut même répeter un mouvement en permanence comme pour le train de KSC.
Dans ce cas il faut utiliser la fonction REPEAT quand on définit la séquence dans l'ini en écrivant par exemple dans le
fichier ini (voir doc de Vinha)

[ANIM_SEQ_0]   ;move train
INIT_POS=1
DURATION=40
PAUSE=1
REPEAT=2

et mon train fera des aller retours continus depuis sa position initiale

Ensuite il faut modifier les paramètres de la séquence dans le fichier scénario. On y trouve pour un vaisseau définit
avec Spacecraft les paramètres passés à la séquence quand on lance le scénario.

Par exemple pour mon ensemble train + tour de ELS j'ai :

ELSTrainTower:Spacecraft/Spacecraft3
  STATUS Landed Earth
  POS -52.6899560 5.1683360
  HEADING 0.00
  NAVFREQ 0 0
  RCS 1
  CTRL_SURFACE 1
  CONFIGURATION 1
  CURRENT_PAYLOAD 0
  SEQ 0 -2 0.000000  
  SEQ 1 1 0.000000
  SEQ 2 -2 0.000000
  SEQ 3 1 0.000350
  SEQ 4 -2 0.000000
  SEQ 5 -2 0.000000
  SEQ 6 -2 1.000000
END

La séquence 3 est celle du déplacement du train dans le fichier ini
La séquence 1 est celle de l'ouverture des portes basses de la tour pour laisser passer le train

Le premier chiffre qui suit SEQ X est celui qui définit le lancement du mouvement à partir de la position ou de l'angle
donné par les 7 chiffres qui suivent.
Si on met 1 avec un signe inverse de celui que l'on a pour la position stable de départ définie par 2 ou -2 le
mouvement est lancé comme si on avait appuyé sur la clé de séquence et il pourra même se répéter si on a mis
REPEAT=2 dans le fichier ini.

Dans mon pack Kourou_ELS dont la sortie est imminente je joins un scénario qui provoque lorsqu'on le lance le
mouvement du train amenant Soyuz depuis le MIK et l'ouverture des portes de la tour pour son passage.

Seul inconvénient, on ne peut pas subordonner le lancement d'une séquence à l'achébement d'une autre ce qui
interdit un automatisme sophistiqué, mais c'est déjà pas mal

:sage: Papyref