[Custom Content] Créer un pont-levis

Répondre
Partager Rechercher
Ça le fait moins bien, quand on demande après, mais j'allais justement demander si avec le AssignCommand ça pouvait pas fonctionner.

ou alors PlayCustomAnimation(oDBridge, PLC_OPEN, 1.0, 0.0) à moins qu'il faille écrire ANIMATION_PLC_OPEN ou encore un autre truc
Oui dans PlayCustomAnimation là tu mets l'objet en paramètre, par contre tu dois spécifier un nom de fichier gr2( entre guillemets ) et plus une constante, j'ignore si cette fonction est 100% fonctionnelle, Ariok avait fait des tests pour ses pièges si je me rappelle bien.
Citation :
Publié par Anthraxcite
Oui dans PlayCustomAnimation là tu mets l'objet en paramètre, par contre tu dois spécifier un nom de fichier gr2( entre guillemets ) et plus une constante, j'ignore si cette fonction est 100% fonctionnelle, Ariok avait fait des tests pour ses pièges si je me rappelle bien.
Oui, la playcustomanimation, ne fonctionne pas ou pas bien, ou j ai pas compris comment l utiliser.

Argyl, faudrait que tu me dise ce que tu veux faire comme anims, et je te donnerai le nom des constantes et des fichiers GR2 a utiliser.
Pour le PlayCustomAnimation il faut mettre pour le paramètre string (donc entre guillemets " ") la valeur de la colonne ANIMATION dans les 2das d'animation nwn2_animcom et nwn2_animstan comme j'ai dit plus haut...

Et ca marche très bien, en tout cas pour le nwn2_animstan
Et bien après avoir testé ces deux scripts, en les plaçant dans les divers évènements d'une porte, cela ne fonctionne pas.

J'ai fait sur la fermeture, l'ouverture, le clic, l'utilisation.

J'ai testé pour ouvrir
Code:
//Script d ouverture de pont-levis

void main()
{
    object oDBridge = GetObjectByTag("PLC_BR_ADBRIDGE011");
    AssignCommand(oDBridge, PlayAnimation(ANIMATION_PLACEABLE_OPEN,1.0,10.0));
}
ou
Code:
//Script d ouverture de pont-levis

void main()
{
    object oDBridge = GetObjectByTag("PLC_BR_ADBRIDGE010");
    PlayCustomAnimation(oDBridge,"plc_open",1,1.0);
}
Pour la fermeture
Code:
//Script de fermeture de pont-levis

void main()
{
    object oDBridge = GetObjectByTag("PLC_BR_ADBRIDGE011");
    AssignCommand(oDBridge, PlayAnimation(ANIMATION_PLACEABLE_CLOSE,1.0,10.0));
}
ou
Code:
//Script de fermeture de pont-levis

void main()
{
    object oDBridge = GetObjectByTag("PLC_BR_ADBRIDGE010");
    PlayCustomAnimation(oDBridge,"plc_close",1,1.0);
}
Après, il est toujours possible que mes GR2 ne soient pas bons, en voici la liste :
plc_br_abridge1_idle
plc_br_abridge1_plc_openidle
plc_br_abridge1_plc_open
plc_br_abridge1_plc_close

Il semble que la position ouvert et fermé de l'éditeur soit idle=fermé / plc_openidle=ouvert
J'en ai déduit que plc_open correspondait à l'ensemble des frames entre idle et plc_openidle et plc_close celui qui mènera d'une position plc_openidle à idle.

Mais, bon, il y a quelque chose qui ne va pas parce que ça ne fonctionne pas.
Remarque peut-être naïve mais on ne sait jamais :
Avec une fonction de type "AssignCommand", ne faudrait-il pas se servir d'une fonction de type "Action" ( en l'occurrence ActionPlayAnimation) ?
Citation :
Publié par Viewtiful
Remarque peut-être naïve mais on ne sait jamais :
Avec une fonction de type "AssignCommand", ne faudrait-il pas se servir d'une fonction de type "Action" ( en l'occurrence ActionPlayAnimation) ?
Normalement ça fonctionne avec PlayAnimation, AssignCommand permet simplement de faire un transfert d'OBJECT_SELF(celui qui exécute le script). Le plus simple pour voir si ça marche c'est d'utiliser le script avec un plaçable de base muni de ces animations.
Résultats de mes tests de la nuit :

Les évènements Ouverture et Fermeture déclenche bien le script, j'en ai eu confirmation par un bête ActionSpeakString().

Le
Code:
PlayAnimation(ANIMATION_PLACEABLE_OPEN,1.0,0.0)
permet aussi d'ouvrir à distance un coffre donc ce n'est pas cette partie là non plus.

Néanmoins un coffre n'a que 2 états un fermé et un ouvert, pas de transition entre les deux, donc il existe une différence notable entre notre cas et celui du simple coffre.

Edit : Par contre
Code:
PlayCustomAnimation(oDBridge,"idle",0,0.1);
ou
PlayCustomAnimation(oDBridge,"plc_openidle",0,0.1);
ne fonctionnent pas. Pourtant ce sont les chaînes de caractère que l'on trouve dans la colonne anim du nwn2_animstan.2da et ils correspondent au nom des animations du plaçable coffre en question.
Après des semaines de tests acharnés jusque tard le soir, voire même très tôt (et trop tard) le matin, j'ai enfin réussi !

Il ne me reste plus qu'à faire :
  1. une texture pas trop pourrie (ça m'évitera de me faire flinguer ),
  2. le plaçable spécial collision qui évitera les passages par le WM du pont-levis lorsqu'il est fermé,
  3. le script associé qui va bien,
  4. le erf pour un import facile dans l'éditeur, et
  5. Mettre le tout à disposition.
Je vais essayer aussi de réaliser une petite vidéo pour le plaisir de tous (du moins, je l'espère).
Juste pour dire que le point 2 est OK.

Reste plus qu'à attendre le patch 1.13 pour la fonction sur l'activation désactivation des collisions.

Comme le plus long pour moi risque d'être le point 1, je vais m'y mettre dès ce soir et on peut toujours croire aux miracles et que j'aurai fini au moins une des 4 séries de texture ce soir
Histoire de marquer l'avancement du projet, voici une petite vidéo.

On peut voir dans celle-ci le pont-levis en action, il reste à faire la texture.

La deuxième partie présente le pont-levis, avec le remplacement des tours du pont par deux rochers.


Problème connu qui devrait être solutionné les à-coups lors de la première ouverture du pont-levis et lors de la fermeture (à chaque fois). Je pense que c'est dû au différents statuts de position des plaçables dans NwN2.

Je présente mes excuses pour immonde qualité de la vidéo. C'est la première fois que j'utilise Youtube et CamStudio, et c'est vraiment pas top au niveau résultat. (les 2 séquences prises avec Fraps ayant échouée lors de la conversion Youtube).
C'est du bon boulot en effet

Et tu sais quoi, le plus beau c'est que je viens d'acheter un bouquin qui m'a donné une chouette idée : le pont glissant.

Technique utilisée apparemment dans les forteresses arabes, il s'agit d'un plancher qui est tiré à l'intérieur du mur grâce à un système de poulies, laissant place à une belle fosse.
Citation :
Par contre j'aurais vu une animation bien plus lente pour l'ouverture et fermeture.
Mouaip c'est toujours pareil, il faut trouver le bon compromis entre le réalisme et le gameplay.Si c'est trop lent, il y a toujours des mécontents pour dire que c'est chiant d'attendre et qu'en terme de jeu ça n'apporte rien. Si c'est trop rapide et bien ça ne fait pas assez réaliste.

Moi personnellement la vitesse de l'animation ouverture/fermeture ne me choque absolument pas.
moi j'trouve que ce truc a été fait par un nain !!!
Et puis c'est pas logique un pont levis en pleine campagne au milieu de nulle part . Bref...ça m'étonne pas de la part d'Argyl...

...mais oui c'est un super job...l'hallu totale ! Vivement la texture !
Mais je pouvais pas être directement gentil avec Argyl, question de principe
@ Cedric@Shed : Je pense que je ralentirai certainement la course du pont-levis. Je ne m'en étais pas préoccupé parce que la fonction PlayAnimation est sensée gérer cela (en fait, non, ça ne fonctionne pas).

@ Laban : c'est une bonne idée, si tu as une photo ou un croquis. Parce que comme ça, cela ne me semble pas complexe à faire, mais je ne voudrais pas me tromper. C'est comme une tablette amovible, non ?

@ Nik : Ouaip, et je pense même faire pire, des pont-levis sur des ponts pour permettre le franchissement de cours d'eau plus important ou qui pourrait permettre de positionner des ponts sur des voies "navigables" ou juste pour embêter les halfelins démagogues hargneux.
Une bonne nouvelle enfin

Voici les images du pont-levis de la Tour du Robinson WhorkShop... une vidéo n'ajouterait rien et me prendrait du temps inutilement.

La seule chose qui m'ennuie est que je n'ai pas réussi un quelconque réglage pour les textures projetées
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : NWN2_SS_081008_173322.jpg
Taille : 800x640
Poids : 422,2 Ko
ID : 52156   Cliquez sur l'image pour la voir en taille réelle

Nom : NWN2_SS_081008_173555.jpg
Taille : 800x640
Poids : 393,1 Ko
ID : 52157   Cliquez sur l'image pour la voir en taille réelle

Nom : NWN2_SS_081008_173636.jpg
Taille : 800x640
Poids : 375,7 Ko
ID : 52158  
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés