Page 1 sur 1

[SCRIPT] Comment enchaîner des effets visuels (VVC) dans une cutscene ?

Posté : sam. 22 août 2009, 13:55
par Armand
Je suis confronté à un problème assez coton. J'ai d'ailleurs déjà posté sur black wyrm mais personne ne semble avoir la solution.

Il existe une action intitulé "then-apply-some-effects" qui permet de donner l'illusion de lancer un sort (je l'ai pompé sur le mod de thot). Donc je disais en synchronisant un script avec cette action et en appliquant des display string on a la réelle illusion d'un sort.

Cependant sur un de mes scripts j'ai utilisé des display string que j’appellerais persistants, c'est à dire qu'ils ne disparaissent qu'au bout d'un certain temps. En l’occurrence il s'agit d'un des petits nuages ou plutôt tourbillons qui apparaissent lors des brouillard de téléportation (je sais pas si je suis clair).

Et pour des nécessités d'ordre scénaristique j'aurais besoin de faire disparaitre ces effets via une action une manipulation quelconque. Je sais que quand je reviens sous windows et que je rerentre dans le jeu ces effets disparaissent. Peut être y a t-il un indice là dessous. Mais peut être que je me trompe aussi et qu'il n'y a pas de solution... :gign:

Re : [Scripts] Problémes effets persistants

Posté : dim. 23 août 2009, 18:30
par Isaya
Armand a écrit :(je sais pas si je suis clair)
A cette question, je peux répondre : non. ;)
Tu parles de "display string persistant" mais tu dis qu'il s'agit de nuages ou de tourbillons... Ce sont des effets, pas des textes. Peux-tu clarifier ?
Armand a écrit :en synchronisant un script avec cette action et en appliquant des display string
Tu peux expliquer ? Qu'appelles-tu synchroniser un script ? Avec quel autre élément (pour synchroniser il faut être au moins deux) ?

Tu vas sûrement devoir publier des bouts de code, sinon je pense qu'on va nous aussi nager en plein "coton", comme tu dis. Et ce serait bien que tu donnes le nom "officiel" et le code de cet effet "then-apply-some-effects" dans IESDP. Donne un peu les clés pour entrer dans le sujet (des liens si tu en as), sinon la recherche à faire représentera trop d'efforts pour qu'on puisse te répondre.
Armand a écrit :Et pour des nécessités d'ordre scénaristique j'aurais besoin de faire disparaitre ces effets via une action une manipulation quelconque. Je sais que quand je reviens sous windows et que je rerentre dans le jeu ces effets disparraissent. Peut être y a t-il un indice là dessous. Mais peut être que je me trompe aussi et qu'il n'y a pas de solution... :gign:
Il te faudra probablement recourir à des moyens sophistiqués (notamment des fichiers EFF qui disposent de gestion de conditions plus évolués, des créatures invisibles pouvant réagir à des variables) si la durée dépend d'autre chose que d'une valeur fixée au départ.

Le fait que les effets disparaissent quand tu recharges une partie montre que ces effets ne sont pas mémorisées dans la zone où tu te trouves ni sur une créature. Cela pourrait venir de l'action utilisée. Mais impossible d'en dire plus tant que ta question reste si vague.

Re : [Scripts] Problémes effets persistants

Posté : dim. 23 août 2009, 23:53
par Armand
A cette question, je peux répondre : non. ;)
Tu parles de "display string persistant" mais tu dis qu'il s'agit de nuages ou de tourbillons... Ce sont des effets, pas des textes. Peux-tu clarifier ?
Oui alors là l'explication est simple. Effectivement ce sont des effets pas des string : simple lapsus. ^^
Tu peux expliquer ? Qu'appelles-tu synchroniser un script ? Avec quel autre élément (pour synchroniser il faut être au moins deux) ?

Tu vas sûrement devoir publier des bouts de code, sinon je pense qu'on va nous aussi nager en plein "coton", comme tu dis. Et ce serait bien que tu donnes le nom "officiel" et le code de cet effet "then-apply-some-effects" dans IESDP. Donne un peu les clés pour entrer dans le sujet (des liens si tu en as), sinon la recherche à faire représentera trop d'efforts pour qu'on puisse te répondre.
Oui encore désolé je les cumule en ce moment. Voila donc petit extrait qui permettra d'y voir plus clair :
► Afficher le texte
Donc quand je parle de synchronisation ma première action en bleu fais incanter un personnage. En l'occurrence le sujet de ma cutscene "#VJack" va faire comme si il lance un sort.
Puis j'ai un temps d'attente en rouge qui va permettre de donner l'illusion du temps d'incantation.
Enfin une autre action en violet va appliquer un effet visuel qui est donc l'effet qui me pose probléme.

Pour résumer en gros ce script, le perso va incanter créer plusieurs "petits brouillards de téléportation" puis sur le même modéle va faire apparaitre un portail demoniaque.
Jusque là tout va bien tout est fluidele probléme est donc sur ces effets particulier qui reste sans raison.
Le fait que les effets disparaissent quand tu recharges une partie montre que ces effets ne sont pas mémorisées dans la zone où tu te trouves ni sur une créature. Cela pourrait venir de l'action utilisée. Mais impossible d'en dire plus tant que ta question reste si vague.
Pour ma part je pense que le probléme vient de l'effect en lui même car si je le fait apparaitre avec control + I le même probléme se pose. Mais peut être est-il possible d'éditer cet effect en le copiant et en en créant un nouveau. Mais là c'est un domaine qui m'est totalement inconnu...


Voila j'espére avoir été plus clair, je crois que j'ai dit l'essentiel. Merci encore pour ton aide et ta patience j'espére que tu arrivera à m'aiguiller vers une solution possible. On peut toujours rêver...

Re : [Scripts] Problémes effets persistants

Posté : lun. 24 août 2009, 11:03
par Isaya
J'ai une piste de recherche à te proposer mais c'est sans la moindre garantie. Les descriptions de IESDP ne sont pas bien précises et mes idées sont simplement basées sur les noms des différents paramètres. Je n'ai aucune pratique de ces aspects graphiques et je n'ai pas essayé ce que je vais t'indiquer.

D'après la doc, CreateVisualEffect fait appel à un fichier VVC du nom indiqué ou, à défaut, à un fichier BAM. Dans le cas SPALTERA, il y a un fichier VVC qui d'ailleurs exploite le fichier BAM du même nom. La particularité du fichier VVC, c'est qu'il définit un cadre pour jouer le fichier BAM, en particulier des effets visuels (transparence, ...).
Tous les termes que j'emploie ensuite viennent de ce que montre Near Infinity.
Dans les paramètres du fichier VVC, il existe un champ Duration, exprimé en frames, qui est mis à -1 dans le fichier SPALTERA. Le champ Sequecing a la valeur d en hexadécimal, ce qui veut dire que les bits 3, 2 et 0 sont à 1 (voir les conversions hexa vers binaire de la calculatrice Windows). Par conséquent, l'animation boucle (bit 0). Si tu fixais une limite en nombre de frames, l'animation s'arrêterait peut-être d'elle-même, après avoir bouclé suffisamment.

Le champ Framerate du fichier VVC a une valeur de 15. J'ignore si c'est une valeur par seconde ou une toute autre signification (IESDP se contente de dire 1 = slow). L'animation BAM fait 30 frames. Si le framerate est par seconde, il faudrait 2 secondes avant de boucler.
Dans cette hypothèse, tu pourrais essayer une valeur de Duration à 60 et voir si l'animation s'arrête. Si elle s'arrête avant ou après 4 secondes, la durée exacte te donnera une idée de l'unité de Framerate.

Pour tester, il te suffit de copier SPALTERA.VVC sous le nom #VALTERA.VCC (par exemple), de le modifier et d'utiliser cet effet à la place SPALTERA dans ton script.

J'espère que ces manipulations t'apporteront au moins quelques pistes complémentaires.

Pour ce qui est de la disparition des effets quand tu recharges, c'est effectivement normal. Le script lance les animations, qui vivent leur vie, puis le script se termine. Et il n'y a plus rien pour réactiver les animations au chargement.

Re : [Scripts] Problémes effets persistants

Posté : lun. 24 août 2009, 15:10
par Armand
Merci beaucoup pour toute ses explications, j'y vois déjà un peu plus clair. J'ai commencé à farfouiller dans le fichier vvc et avec tes explications j'ai de bonnes bases pour faire des test et comprendre le fonctionnement du fichier.

Je vous tiens au courant comme d'habitude de mes avancées. Pour l'instant j'ai d'autre exigences mais je reviendrai sur ce morceau de script en temps voulu (ah les joies du modding !).