Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[VVC] Comment superposer deux animations ?

Regroupe tous les sujets relatifs aux animations de créatures, de décor ("background) et de sorts
Répondre
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne

[VVC] Comment superposer deux animations ?

.

Message par Freddy_Gwendo »

Je suis en train de coder les cinématiques du sous-module Nourriture et je n'arrive pas à résoudre un problème avec mon grill.

Le principe est simple :

1. Je crée la créature GWGrill.cre avec les effets suivants

Graphics: Animation Removal [315] --> Suppression de son sprite (elle devient invisible).
Graphics: Play 3D Effect [215] --> GWGrill1.vvc (un vvc jouant la bam GWGrill en continu) --> un grill avec des braises apparaît à l'écran.

2. La créature lance un dialogue.

3. Lorsqu'on a choisi la tambouille que l'on veut préparer, le dialogue s'achève sur une cinématique, puis reprend à la fin de la cuisson pour remettre les plats cuisinés au groupe.

Exemple avec les poivrons grillés.

Extrait du dialogue :

Code : Tout sélectionner

  + ~NumItemsPartyGT("GWLeg25",0)~ + @3800057 DO ~TakePartyItemNum("GWLeg25",1) SetGlobal("GWGrill1";"GLOBAL";15) StartCutSceneMode() StartCutScene("GWCsnGPv")~ EXIT
Cinématique:

Code : Tout sélectionner

IF
  True()
THEN
  RESPONSE #100
    CutSceneId("GWGrill")
    ClearAllActions()
    ReallyForceSpellRES("GWCsnPvr",Myself)
    Wait(6)
    ReallyForceSpellRES("GWCsnGr2",Myself)
    Wait(6)
    SetGlobal("GWCuisine","GLOBAL";1)
    EndCutSceneMode()
END

// Poivrons grillés
IF
  Global("GWCuisine","GLOBAL";1)
  Global("GWGrill1";"GLOBAL";15)
THEN
  RESPONSE #100
    SetGlobal("GWGrill1";"GLOBAL";31)
    SetGlobal("GWCuisine","GLOBAL";0)
    GiveItemCreate("GWLeg66",LastTalkedtoBy(Myself),1,6,1)
    ActionOverride("GWGrill";StartDialogNoSet(LastTalkedtoBy(Myself)))
END

Le sort GWCsnPvr.spl est un simple Play 3D Effect [215] qui affiche la bam GWCsnPvr en continu pendant 6 s. 50 cm au dessus du grill (des poivrons).

Le problème vient du sort GWCsnGr2 qui représente le grill avec quelques flammes : il est systématiquement masqué par l'animation GWGrill de départ. En fait, seules des parties des flammes apparaissent à l'écran.

J'ai eu beau rajouter l'effet Graphics: Protection from Specific Animation [296] (GWGrill) pendant 6 s. au début du fichier GWCsnGr2, l'animation GWGrill continue d'être affichée.


Bref, existe-t-il un moyen de superposer deux bam l'une sur l'autre, la seconde s'affichant sur la première ?
Pour l'instant, la première prend le pas sur la seconde.

Le but du jeu est d'obtenir la séquence suivante :

Grill avec des braises pendant toute la durée de la séquence, poivrons au dessus du grill pendant 6 s. (ça fonctionne), des flammes apparaissent sur le grill pour simuler la cuisson pendant 6 s. (ça ne fonctionne pas : l'animation est masquée par le grill initial), puis réapparition du grill avec les braises jusqu'à la fin du dialogue.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
deratiseur
Golem de fer
Messages : 3697
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

Alors, on va faire simple :

Bam sans vvcs, toujours joué derrière le perso
Bam jouée avec vvc fixé à y = 0 ou moins, bam jouées derrière le perso
Bam jouée avec vvc fixé à y = 1 ou plus, bam jouées devant le perso

tu devrais essayer de faire afficher le grille avec un y position 1 et les poivrons avec un y position 0. Les poivrons seront joués derrière le grill.
Si tu veux afficher le grill (donc devant) et les poivrons devant les flammes, tu n'as pas le choix, coupe ta bam entre le grill et les flammes et fait afficher 3 bams selon la même technique. Grill devant, puis couple poivron devant flammes derrière.
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

OK ! ^^

Merci pour le tuyau que j'avais oublié. :$

En fait, le problème venait de mes fichiers vvc : j'utilisais les champs x et y pour repositionner correctement les bams qui étaient conçues aussi comme des animations de carte et donc facilement positionnables sur une grille 64x64 px.

Du coup, j'ai créé deux nouvelles bam Grill (avec et sans flammes) positionnées différemment pour être centrées sur la créature invisible : en utilisant les valeurs 0 et 1 dans le champ y je peux maintenant faire apparaître le grill avec flammes sur le grill avec braise.

Il faut que je modifie encore une bonne vingtaine de bams et leur vvc pour que tout fonctionne parfaitement. Ça m'apprendra à vouloir économiser du temps en multipliant les usages différents pour un même fichier ! :(

J'avais aussi testé la valeur z, mais ça ne servait à rien puisqu'elle positionne la bam par rapport à la tête du perso.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Répondre

Retourner vers « Animations »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité