Author Topic: Les animations AA  (Read 629 times)

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
Les animations AA
« on: August 01, 2007, 12:02:40 AM »
Bonsoir!

J'ai une question toute bête:
C'est fait expres de faire mer*** toutes les animations du jeu?

J'ai animé un model 3D de base (pas un joueur, un model 3D, objet...)
J'ai définit la position et l'angle de mes bones... J'ai fait "set" à chaque fois.
J'exporte avec LR3D (1.3.5): ca marche
J'importe ensuite mon anim, pour vérifier: ca marche (l'anim est bien importée et bien jouée)

Je fais mon TIKI, je spawn le model dans AA... Et seulement la moitié de l'animation est jouée... La moitié allant de l'image 6 à la 13 (j'ai 13 images, avec "FPS 20")

Pourquoi est-ce que le jeu refuse de jouer l'animation intégrale?
Ca me le fait avec:
l'animation d'ouverture du vaisseau (le model est un petit vaisseau), l'animation de fermeture, et l'animation de dégaine des armes...

Voici le TIKI:
Quote
TIKI
setup
{
   scale 0.05
   path models/StarRacers/Apocalypse
   skelmodel Apocalypse.skd
   surface Barres shader Apocalypse_Barres
   surface Cercles shader Apocalypse_Cercles
   surface CockpitArriere shader Apocalypse_CockpitArriere
   surface CockpitCote shader Apocalypse_CockpitCote
   surface CockpitDessous shader Apocalypse_CockpitDessous
   surface CockpitDessus shader Apocalypse_CockpitDessus
   surface CockpitInferieur shader Apocalypse_CockpitInferieur
   surface CockpitLateral shader Apocalypse_CockpitLateral
   surface ReacteurDAr shader Apocalypse_ReacteurAr
   surface ReacteurDAv shader Apocalypse_ReacteurAv
   surface ReacteurGAr shader Apocalypse_ReacteurAr
   surface ReacteurGAv shader Apocalypse_ReacteurAv
   surface RoketLaunD shader Apocalypse_RoketLauncher
   surface RoketLaunD1 shader Apocalypse_RoketLauncher   //C'est le gauche!
   surface Vitre shader Apocalypse_Vitre

}
init
{
   server
   {
  classname ScriptModel
   }
}

animations
{
   idle  Idle.skc   //ou Apocalypse.skc...
   Ouvrir  Ouvrir.skc
   {
  server
  {
   last anim idle
  }
   }
   Degainer  Degainer.skc
   {
  server
  {
   last anim Idle_Degaine
  }
   }
   Idle_Degaine  Idle_Degaine.skc
   FireG  FireG.skc
   {
  server
  {
   last anim Idle_Degaine
  }
   }
   FireD  FireD.skc
   {
  server
  {
   last anim Idle_Degaine
  }
   }
   Rengainer  Rengainer.skc
   {
  server
  {
   last anim Idle
  }
   }
   Idle_Referme  Idle_Referme.skc
   Refermer  Refermer.skc
   {
  server
  {
   last anim Idle_Referme
  }
   }
}

Toutes les animations sont sauvées en "Loop", sauf:
Refermer
Ouvrir
Degainer
Rengainer

(bref, les verbes ^^)

Ah, j'oubliais! le jeu refuse aussi de jouer mon animation "FireD"!
Les noms des fichiers correspondent pourtant...

Why the game m'emm***nnuit?
Merchi d'avance...


[EDIT]Seule la premiere animation jouée ne mer** pas... Apres, ca foire (il ne joue que la 2nd moitié de chaque animation...)
« Last Edit: August 01, 2007, 12:58:09 AM by snaky »

Woozie

  • Tailleur de maps (expérimenté)
  • Posts: 947
    • http://
Les animations AA
« Reply #1 on: August 01, 2007, 12:59:47 PM »
Une animation? C'est à dire? Par exemple, un allié cour, et d'un coup un allemand se place à une MG et le canne?

Jed

  • Tailleur de maps (expérimenté)
  • Posts: 727
    • http://www.hudescharfe.com
Les animations AA
« Reply #2 on: August 01, 2007, 01:36:08 PM »
Tu dois préciser les frames de début et de fin d'animation dans ton tik. ;)  

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
Les animations AA
« Reply #3 on: August 01, 2007, 07:02:23 PM »
Et je les précise où ces frames? Parceque Paradice (autre vaisseau) marche bien avec le meme genre de tiki!

L'animation, Woozie, c'est un ensemble TIKI+*.skc qui te permet de faire bouger les tags (=bones=os) d'un model 3D, pour lui donner une animation. Il ne s'agit pas d'une cinématique, qui est le codage d'animations ensembles (exemple: un allié court et un allemand le canarde: ca, c'est de la cinématique)

Woozie

  • Tailleur de maps (expérimenté)
  • Posts: 947
    • http://
Les animations AA
« Reply #4 on: August 01, 2007, 07:52:09 PM »
ok, j'ai compri, bonne chance pout ton anim, car moi je n'y connais rien...(je savais même pas ce que c'etait)

Jed

  • Tailleur de maps (expérimenté)
  • Posts: 727
    • http://www.hudescharfe.com
Les animations AA
« Reply #5 on: August 01, 2007, 08:25:58 PM »
Arf, j'ai pas de tik sous la main mais je crois que ça se présente de la sorte:

Quote
animation ton_anim
{
     0 start_anim.skc
     30 end_anim.skc
}

C'est assez fréquent dans les tik "ammo" et je pense que ceci règlerait ton problème, jette un coup d'oeil dans ces fichiers ;)
« Last Edit: August 01, 2007, 08:26:14 PM by Jed »

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
Les animations AA
« Reply #6 on: August 01, 2007, 08:38:28 PM »
Nan nan, ca, c'est autre chose

ces commandes (du style [NOMBRE/"last"/"first"] [COMMANDE] [ARG1] [ARG2]

servent à executer la commande "[COMMANDE]", avec les arg "[ARG1]" et parfois "[ARG2]" lorsque l'animation en est à l'image (point-clef) numéro "[NOMBRE]" (last = dernière image, first = premiere image), mais pas à définir la longueure d'animation...

Je ne vois pas du tout où est mon pbl...

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
Les animations AA
« Reply #7 on: August 01, 2007, 10:10:15 PM »
Ca y'est! ca marche!

Qu'est ce que c'est c** desfois, AA...

En fait, lorsqu'on utilise la commande "anim [ANIMNAME]", le script va écraser le nom de l'animation à jouer, mais pas le numéro de frame actuel de l'animation (dumoins, pour les scripts-models).

Ainsi, imaginez une animation "Mouvement", dans alquelle l'objet avance de 16 unités X, en 16 images, durée 1seconde (16FPS... mais peut-etre que MOH ne tolère que 20FPS :s)
Sur ce même model, il existe une animation "idle", de 4 frames, durant lesquels le model ne bouge pas, durée 0.5 secondes (soit 8FPS)

Lorsque le jeu démarre, le model est spawné (commande "spawn"). L'animation utilisée est "idle" (par défaut).

Apres 1 seconde (wait 1), vous animez l'objet pour le faire avancer (commande "$Model anim Mouvement"). vous attendez alors 2 secondes. L'anim a donc eu le temps de s'arreter.
Vous lancez alors l'anim Idle ($Model anim idle): le model revient en place, et ne bouge plus (car l'anim de mouvement avait 16img, alors que idle en a que 4: l'animation idle repart de 0, du début)
apres 0.25seconde d'attente (donc, 2 images se sont écoulées sur l'anim idle), vous lancez l'anim "Mouvement" à nouveau ($Model anim Mouvement). Cette fois, l'animation démarrera à l'image 3 (car l'anim idle était à l'image 2, donc, l'anim Mouvement partira de l'image suivante 2+1=3)...

Existe-t-il une commande pour forcer le jeu à jouer l'animation depuis le début?

Ne serais-ce qu'un systeme "d'animation vide", qui garderait la position actuelle des bones du model, mais reinitialiserait le numéro de frame...
« Last Edit: August 01, 2007, 10:23:21 PM by snaky »