[Résolu] Aide Double Anims

#1

Bonjour a tous

Je viens vers vous pour une demande d’aide concernant les double animations

Cela fait maintenant plusieurs jours que j’essaie de trouver par moi même mais sans succés, en effet dans Buldozer tout va bien mais en jeux, les animations ne ce font pas entièrement

J’aimerais pouvoir faire ou plutot régler mes animations afin quels marchent correctement en jeux

Je vous joins mon Model.CFG ainsi que mon Config.CPP

EDIT: voici le pastebin https://pastebin.com/e2uwk9tW

Merci a vous

0 Likes

#2

Bonjour,

Tu met ta Value a 1 quand tu l’animate (statement = “this animate [”“Door_1"”,1]”:wink: alors que dans tes class ta maxValue est plus haut : maxValue=2.900;

Sa explique surement pourquoi sa sarrette avant. (a verifier sa fais longtemps que je n’ai pas toucher aux configs des mods / anims)

1 Like

#3

@Nekro a raison, de plus un offset0 et 1 a 0 ca cause probleme aussi !

minValue=0;
maxValue=1;
offset0= 0;
offset1= 2.9;

c est plus ca (a voir pour ta valeur de l offset1)

Autrement tu passes “this animate [”“Door_1"”,1]”; a “this animate [”“Door_1"”,2.9]”;

2 Likes

#4

@Nekro @brutalzic

Je vous remercie pour vos réponses, je test ça et je vous tiens au courant

0 Likes

#5

Bonjour,

J’ai fait ce que vous m’aviez dit (j’ai bien mis le Offset1 et mon maxValue égal) , cependant mon animation est toujours diviser en 2 trigger, et elle ne fait pas ce que je souhaite elle ne ce complete pas.

0 Likes

#6

Attention, cela ne s enchaine pas comme la source, il faut lancer toutes les anims:

this animate [”“Door_1"”,1.198]; this animate [”“Door_1_1"”,2.9];

0 Likes

#7

Je mettez trompé je viens de me reveiller, désolé, j’ai modifier mon com :sweat_smile:

0 Likes

#8

Je vous ai fait un Pastebin, si vous souhaitez toujours m’aidé,

https://pastebin.com/e2uwk9tW

Je vous remercie de m’accorder de votre temps @brutalzic et @Nekro

EDIT: Je tiens juste a rajouter que jai changer de type d’anim, mais elle reste toujours double

0 Likes

#9

Tu utile 2 anims dans une seul source. Il faut donc lancer chaque anim:

class Door_1
            {
            type="rotationX";
            source="Door_1";
            selection="door_1";
            axis="door_1_axis";
            minValue=0;
            maxValue=1.598;
            angle0  = 0;
            angle1  = (rad -90);
            };
            class Door_1_1
            {
            type="translationZ";
            source="Door_1";
            selection="door_1";
            axis="door_1_axis";
            minValue=0;
            maxValue=4.651;
            offset0= 0;
            offset1= 4.651;
            };

De cette facon c est pas correct.
Utilise le maxvalue/minvalue de 0 a 1 et travaille sur l offset pour le mouvement.

Par exemple :

class Door_1
        {
        type="rotationX";
        source="Door_1";
        selection="door_1";
        axis="door_1_axis";
        minValue=0;
        maxValue=0.3;
        angle0  = 0;
        angle1  = (rad -90);
        };
        class Door_1_1
        {
        type="translationZ";
        source="Door_1";
        selection="door_1";
        axis="door_1_axis";
        minValue=0;
        maxValue=1;
        offset0= 0;
        offset1= 4.651;
        };
0 Likes

#10

Je vais essayer merci

0 Likes

#11

ton anim se deroulera quand ta valeur est a 1.
l anim door_1 se deroule de 0 a 0.3 (max et minvalue)
l anim door_1_1 elle se passe de 0 a 1.
Apres le mouvement de door_1 sera une rotation de -90°
pour door_1_1 tu aura une translation qui sera 4.651X l axe door_1_axis

0 Likes

#12

Je viens de comprendre je crois d’accord, je regarde ça dessuite

EDIT: j’ai réussi a avoir un bon rendu sur Buldozer je vais testé en jeux

0 Likes

#13

En gros dans ton statement tu indiques la valeur final d une anim:
this animate [ton_anim, valeur_value]

dans ton cfg tu indique la valeur de debut de l anim (minvalue) et la valeur de fin de cette anim (maxvalue).

Par consequent si tu utilise 0 a 1, tes cfg doivent se trouver entre ces 2 valeurs.

tu peux donc commencer une anim apres une autre en modifiant la valeur du minvalue :
minvalue= 0.5 (l anim commencera a la moitier du temps)
et inversement tu peux la stopper avant en modifiant maxvalue (maxvalue= 0.5 l anim se stoppera a la moitier du temps)

l offset est la pour indiquer la longueur du mouvement par rapport a la longueur de l axe (dans une translation) tout comme l angle(pour une rotation)

0 Likes

#14

J’ai donc bien découper mes animations en plusieurs partie (rotation : 0.3 et translation jusqua 1) en jeux tout marche correctement et completement, seulement je dois activer 2 trigger (1 qui fait la rotation et 1 qui fait la translation) alors que jai le meme trigger pour les 2 animations

0 Likes

#15

exactement !
utilise un foreach:

{this animate [_x,1]} foreach ['Door_1', 'Door_1_1'];

ainsi tu ajoutes toutes tes anims qui se deroulent dans ta source dans l array …

0 Likes

#16

Comme ceci: {this animate [Door_1,1]} foreach [‘Door_1’, ‘Door_1_1’];

si c’est le cas en exec local rien ne ce passe

0 Likes

#17

comme je te l ai indique … le _x est remplace par les valeur de l array [‘Door_1’, ‘Door_1_1’];

en local, dans la console de debug, vise l objet et execute :

{cursorTarget animate [_x,1]} foreach [‘Door_1’, ‘Door_1_1’];

(attention au guillemet qui se sont transforme en cote.)

0 Likes

#18

J’ai donc bien les 2 animations en simultané en executant ceci, merci, je dois déclarer ceci dans mon model

0 Likes

#19

dans statement :

statement = "{this animate [_x,1]} foreach [‘Door_1’, ‘Door_1_1’];";

et toujours attention au guillemet qui se sont transforme en cote.

Apres tu peux en placer autant que tu souhaites, rotation/translation :

juste bien determiner le depart et la fin de chaque

1 Like

#20

D’accord je fais ça dessuite et je te tiens au courant merci

EDIT: tout est bon, je te remercie ainsi que Nekro,
je rajoute le signet merci beaucoup a vous !

0 Likes