[fonction] Getwindspeed
#1
Posté 20 avril 2009 - 06:27
- Clair (0) : Min 0 Max 2.2763
- Nuageux (1) : Min 0.6864 Max 3.1995
- Brumeux (2) : Min 0 Max 3.1986
- Couvert (3) : Min 0.4020 Max 3.1998
- Pluvieux (4) : Min 1.1108 Max 4.7979
- Orageux (5) : Min 2.0005 Max 7.9964
- Cendre (6) : Min 3.2005 Max 12.7972
- Fléau (7) : Min 3.6164 Max 14.3928
Le vent change constamment de vitesse dans une fourchette propre au climat. Ce qui donne un côté aléatoire très intéressant.
Quel intérêt me direz-vous ? Je pense qu'on peut l'utiliser de différentes manières. Pour ma part, je m'en sers pour donner un mouvement de tangage à un bateau. L'amplitude et la vitesse de ce tangage sont toutes les 3 frames redéfinies en fonction de "GetWindSpeed".
L'effet produit est beaucoup plus réaliste que les mouvements des caisses flottantes du jeu. Et quand on entend le vent souffler fort, on voit l'objet bouger en fonction. Je vais peut-être m'en servir également pour donner au voilier une vitesse maximale plus grande en cas de grand vent.
Suivant l'effet que l'on veut produire, on peut bien sûr ne changer le facteur vitesse du vent que toutes les x secondes, en prenant uniquement le chiffre le plus élevé obtenu durant le même temps écoulé.
Par contre, il n'y a pas de fonction pour tester la direction du vent mais je me demande s'il ne serait pas possible d'utiliser un PNJ invisible pour ça. Je ne connais pas le fonctionnement des animations (idle) d'un nif de PNJ. Quelqu'un peut-il me dire s'il est possible de savoir quel "idle" est en cours et si oui, si l'animation du PNJ qui se protège le visage par vent fort est un "idle" particulier ?
Si oui, on pourrait alors tester la direction du vent car le PNJ ne se protège que s'il est face au vent et pas quand il l'a dans le dos...
#2
Posté 21 avril 2009 - 11:58
C'est très intéressant, oui, au compte des améliorations du "réalisme" et de la création potentielle d'effets.
On trouve ceci dans l'UESP :
Liste des idle utilisées
Fonction "PlayGroup"
Fonction "LoopGroup"
.... où il apparait que l'idle que tu cherches semble être sous l'ID "idleStorm".
Par contre je ne vois aucune fonction permettant de tester une idle.
S'il me vient une idée de sioux pour simuler ça, je reposte.
"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio
#3
Posté 21 avril 2009 - 19:08
Dommage qu'il n'y ait pas de fonction pour connaître l'idle en cours. Le premier qui trouve une ruse prépare le calumet.
#4
Posté 21 avril 2009 - 19:59
Sais pas si c'est "une ruse", mais :
Tu dis "le PNJ ne se protège que lorsqu'il est face au vent".... ça sent la projection subjective d'immersion in game, je trouve : ne crois-tu pas que tu as l'illusion que "le vent" (qui n'est qu'un son et quelques scripts de mouvements aléatoires sans spécifications de direction sur quelques activators) a "une direction", parce que tu vois le PNJ se protéger?
2 PNJ voisins se protègent-ils dans la même direction? Tous les PNJs ne se protègent-ils pas toujours dans la même? Si l'animation "IdleStorm" est lancée par script sur un PNJ tourné dans une certaine direction, va-t-il se tourner dans une autre (s'il y a du vent et s'il n'y en a pas)? Que se passe-t-il si l'on donne la commande simultanément à plusieurs PNJs tournés dans des directions différentes?
Les réponses à ces questions pourront donner une piste, il me semble.
Peut être (je dirais même "probablement") suffit-il de lancer cette animation sur ton PNJ invisible pour simuler une "direction du vent" que tu peux alors définir à ta guise et utiliser comme tu veux.
"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio
#5
Posté 21 avril 2009 - 20:14
alliop, le 21.04.2009 à 20:58, dit :
Attention : perfectionniste paresseux.
#6
Posté 21 avril 2009 - 20:19
alliop, le 21.04.2009 à 20:58, dit :
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV
#7
Posté 21 avril 2009 - 20:43
Not Quite Dead, le 21.04.2009 à 21:18, dit :
Et il est possible que la mémoire joue des tours, et qu'en fait le "random" de la protection "pas en permanence" suffisse à donner cette illusion d'une direction particulière vers laquelle il le fait (je vais regarder ça ce soir sans doute).
*******
Kafon dit :
"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio
#8
Posté 21 avril 2009 - 20:53
Citation
Oui le vent souffle dans une direction précise et ce n'est que lorsque le joueur fait face au vent qu'il lève la main (c'est souvent dans la direction du Mont Ecarlate, pas sûr que ce soit tout le temps, à voir). Le blizzard aussi souffle dans une direction précise (il suffit de regarder attentivement le flot de particules).
Il me semble que joueur se déplace plus lentement lorsqu'il court face au vent lors d'une tempête de cendres, faudrait voir si c'est quantifiable, si ça dépend de la force du vent et si ça peut se généraliser à tous les types de temps.
#9
Posté 21 avril 2009 - 21:43
Nerwal, le 21.04.2009 à 20:52, dit :
Il me semble que joueur se déplace plus lentement lorsqu'il court face au vent lors d'une tempête de cendres, faudrait voir si c'est quantifiable, si ça dépend de la force du vent et si ça peut se généraliser à tous les types de temps.
Dans le genre, il y a l'effet de dérive que l'on peut nettement éprouver lorsque l'on se tient dans l'eau par temps d'orage...
D'après le MSfD, deux GMST seraient liés au vent et à son influence sur la vitesse de déplacement :
fStromWindSpeed
fStromWalkMult
Coaching de PNJs chez Morrowind Renaissance
#10
Posté 22 avril 2009 - 16:47
Les tempêtes du Fléau viennent du centre de Dagoth Ur (c'est d'une logique imparable ; pas exactement le centre du cratère en fait, un point du bord nord-ouest). Je l'ai vérifié en faisant le tour.
Sur Solstheim, j'ai eu droit à 2 blizzards à une heure/game d'intervalle dans la forêt de Hirstrucmuchsang. Les deux suivaient un axe sud-nord exact (j'ai d'abord pensé qu'elles provenaient du point "fort Molène" sur le modèle du Fléau, mais non : sud-nord sur toute la largeur de l'ile).
Je ne peux pas garantir que c'est le cas pour tous les blizzard (mais c'est à supposer). Je verrai ça la prochaine fois que mon chien, euh... mon fantôme ancestral, aura envie de sortir, ce qui ne saurait tarder (il boit énormément de litres de flotte, ces jours-ci).
Pour les tempêtes normales en Morrowind je n'ai pas vu. Je suppose qu'elles doivent avoir aussi une direction privilégiée.
L'IdleStorm est jouée sur un angle de 90° ayant l'axe du souffle pour médiane, au-delà le PJ quitte la posture.
**********
EDIT
C'est confirmé : le blizzard suit toujours un axe sud-nord n'importe où (c'est à dire idem sur la Côte d'Azura... où je découvre que les climats de Solstheim peuvent s'appliquer n'importe où.... intéressant aussi), et les tempêtes cendre et fléau viennent toujours du Mont Ecarlate.
Je n'ai pas réussi à obtenir un temps suffisamment venteux hors de ces tempête pour que l'IdleStorm soit jouée (ne l'ai jamais remarquée in game hors de ces tempêtes d'ailleurs, pas davantage qu'une inclinaison de la pluie -mais c'est peut être une mauvaise mémoire-).
==>
1) Il n'y a pas de problèmes de relevé de direction durant les tempêtes, c'est toujours la même.
2) Sous réserve d'idle jouée hors de ces circonstances en cas de vent random suffisamment fort, il est donc possible dans les climats "normaux" de simuler la direction qu'on veut
3) La variation de vitesse mentionnée par abg (si elle s'applique vraiment hors des cas extrêmes fléau/tempête/blizzard), peut être utilisée pour tester une direction. Mais ça me paraît impliquer une usine à gaz un tant soi peu excessive par rapport à la simplicité de la solution 2 (je me souviens d'un de tes posts récents, Elendell -ou c'était qqu'un d'autre?- qui avait un problème pour chronométrer la vitesse de déplacement du joueur).
Modifié par alliop, 22 avril 2009 - 16:47.
"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio
#11
Posté 23 avril 2009 - 02:41
J'ai moi aussi pris quelques mesures qui recoupent pour la plupart les précédentes et ajoutent des précisions. Voici ce qui est significatif :
- La dérive dans l'eau mentionnée par abg se fait toujours dans le sens du vent. La vitesse de cette dérive semble constante à l'intérieur d'un climat donné. Donc, le climat détermine la direction du vent comme celle de la dérive mais également la vitesse constante de la dérive. La vitesse du vent change par contre en permanence dans la fourchette déterminée pour le climat.
(Une fois ceci vérifié, j'ai pris des mesures dans l'eau en examinant la dérive du PJ suivant les climats.)
- Pour le climat 8 (neige), il n'y a ni vent ni dérive. Tout reste à 0 et le PJ ne dérive pas. Pour les autres climats, y compris le 0, il y a toujours du vent avec une direction et une dérive ; même si par moments, la vitesse de GetWindSpeed = 0.
- Pour les climats 0, 1, 2, 3, 4, 5, 9, la direction du vent est toujours du sud vers le nord, quelque soit la position du PJ. Donc, en plaçant le PJ n'importe où sur l'axe x, GetPos x ne change jamais. Seul GetPos y change et toujours dans le sens GetAngle z == 0. C'est à dire qu'en donnant un angle z 0 au PJ, il a le vent dans le dos. Plus le chiffre indiquant le climat est élevé et plus la vitesse de dérive est élevée.
Pour les climats 6 et 7, le point d'origine (d'où vient le vent) est bien sur le Mont Ecarlate. Il est exactement à X : 25000 Y : 70000.
C'est à dire qu'en se plaçant à cette position précise, on a toujours le vent dans le dos, quelque soit l'angle du PJ. Curieusement, ce n'est pas exactement au-dessus de "Dagoth Ur" mais légèrement décalé. Mais c'était peut-être la position avec des chiffres ronds la plus proche de Dagoth Ur...
- Direction du vent, vitesse du vent et dérive du PJ fonctionnent de la même manière en extérieur qu'en intérieur (faux extérieur). Pour les 6 et 7, le point d'origine est également à X : 25000 Y : 70000 mais de la cellule intérieure en question.
J'ai donc tout ce qu'il me faut pour pouvoir appliquer une dérive à un bateau non ancré (à part une bonne connaissance en maths pour calculer le sens suivant la position, lors des climats 6 et 7). Pareil si on voulait faire une manche à air. (Sa direction serait donnée par le climat et le déclenchement des "idle" de son animation par "GetWindSpeed".) Pour une girouette, ce serait plus simple puisqu'il suffit de "Rotate" pour l'animer.
Il me reste à laisser tourner un script beaucoup plus que 3mn, dans un climat 7 pour vérifier la vitesse maximale possible du vent. Parce que le maxi que j'ai obtenu (14.3928) n'est pas un chiffre rond et ça me semble curieux. A tester aussi les vitesses des climats 8 et 9 que je n'ai pas testées, bien que 9 me semble donner les mêmes vitesses que 7.
Il me reste aussi une grosse interrogation : Dans quelle application du jeu Bethesda se sert-il de la vitesse du vent donnée par "GetWindSpeed" ? Pour les drapeaux, ils ne l'utilisent même pas...
#12
Posté 23 avril 2009 - 09:39
elendell, le 23.04.2009 à 03:40, dit :
Citation
Attention : perfectionniste paresseux.
#13
Posté 23 avril 2009 - 09:50
Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.
#14
Posté 23 avril 2009 - 11:02
Pour les drapeaux et bannières, je pense que les développeurs ont préféré utiliser "GetCourantWeather", afin de n'utiliser que deux iddles d'animation.... Il devait être plus facile de faire des groupes avec des climats désignés par une variable les plaçant en ordre constant, du plus faible au plus fort...
Mais il est vrai qu'il y a dans Morrowind un grand nombre de choses qui pourraient s'apparenter à des actes manqués... Je me demande parfois comment aurait été le jeu si tous les projets de départ avaient été menés à leur terme....
(Wiwi d'or de la plus serviable et de la plus cool... Merci à vous tous...)
#15
Posté 23 avril 2009 - 17:22
Kafou, le 23.04.2009 à 10:38, dit :
Orann, le 23.04.2009 à 10:49, dit :
En prévoyant toutes les possibilités, je ne pense pas uniquement au jeu sans "mod" mais aussi à ce qui peut être dans un "mod". Le bateau sur lequel je travaille est prévu à l'origine pour une cellule intérieure unique et sans climat. Mais en prévoyant la possibilité de changer de cellules et la gestion du vent, ça va permettre également à Orann d'utiliser ses scripts s'ils lui conviennent. Il est ensuite facile de supprimer des scripts ce qui n'est pas utile pour un module donné alors que rajouter un élément manquant n'est pas aussi évident.
L'archipel Peut très bien ne pas avoir de vent des cendres mais si un joueur utilise un bateau de l'archipel qui prévoit cette possibilité et qu'il utilise parallèlement un autre module qui lui, a ce climat de prévu, ça évitera les incompatibilités. Ou du moins, de se retrouver dans cette autre cellule avec un bateau qui dérive dans un sens différent de la direction du vent. (Même si on peut imaginer que c'est à cause des courant marins du coin ).
#16
Posté 23 avril 2009 - 18:21
Pour ton bateau, je vois parfaitement l'utilité de pouvoir gérer la direction du vent. Je parlais uniquement d'un girouette, genre celles qui sont sur les clochers. Je l'imaginais par exemple à Seyda Nihin ou autre bourgade où la direction du vent ne change jamais. Et là je pensais à la frustration que ça pourrait être pour un joueur de ne jamais la voir changer de direction, et la frustraction pour le moddeur qui connaitrait tout le potentiel inexploité (ou presque) du script de cette girouette "figée"...
Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.
#17
Posté 23 avril 2009 - 21:38
En ce qui concerne les girouettes, il me semble qu'on est un peu dans le cas des Alizées, qui sont toujours dirigés dans le même sens...
Mais elle ne sont pas obligées à rester figées, elles peuvent contenir une animation dans le genre des animations de bannières... En effet, même si le vent ne change pas de direction, il est toujours un peu irrégulier et une girouette opère en permanence de légers mouvements de rotation sur son axe avant de re-pointer dans la direction principale...
Plus le vent est fort, plus les mouvements sont violents, donc, si on se base sur l'exemple des bannières, une animation avec trois iddles serait très bien pour simuler une girouette réaliste, même si le vent ne change jamais de direction....
(Wiwi d'or de la plus serviable et de la plus cool... Merci à vous tous...)
#19
Posté 24 avril 2009 - 01:09
En mer, en tout cas près des côte, les vagues ne suivent pas la direction du vent, ni les objets dérivant à moins qu'ils aient une surface de prise au vent plus importante que leur volume immergé (c a d des voiles) et que les courants soient moins puissants que le vent.
En d'autres termes je ne trouve pas que la dérive des objets soit une mesure réaliste de la direction du vent, mais de celle du courants.
En d'autres termes encore, je maintiens que, hors des cas de blizzard et de tempêtes du fléau dont la direction est nettement donnée par la protection du visage, on créera à la fois plus de "réalisme" pour le joueur et plus de liberté pour le moddeur par les variations que permettent une simulation de direction.
Aucun objet ne dérivant dans les airs à Seyda Nihyn qui n'est pas atteint par les tempêtes fléau/cendres/blizzard (par contre je connais certains "petits papiers volant au vent" à Ald'Rhun qui aimeraient bien mériter leur appellation!^^) on peut donner à la girouette du clocher des directions variables.
Et si l'on veut pousser le réalisme, dans le cas d'un voilier, il faudrait scripter la voilure de façon à ce qu'à l'angle de la direction du navire avec celle du vent corresponde un angle de la voilure (une "allure" en termes marins).
Modifié par alliop, 24 avril 2009 - 01:11.
"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio
#20
Posté 24 avril 2009 - 06:11
Citation
Mais je regrette de ne pas avoir vu ton message plus tôt car tes assertions portent à réfléchir.
Dans la vie réelle, j'ai vu pas mal d'objets dériver en suivant le vent (surtout quand il est fort et/ou en l'absence de courant) mais en général c'est plus souvent le courant qui détermine la dérive que le vent. (A propos des vagues, c'est bien dommage que la mer soit toujours pareil dans Morrowind).
Bethesda a par contre fait le choix de donner au PNJ/PNJs exactement le même sens de dérive que le vent. Mais évidemment, rien ne nous oblige à faire la même chose. Sauf que s'il y a au même endroit un PNJ et un objet dérivant, ils ne suivraient pas la même direction mais cela pourrait s'expliquer par le fait qu'ils sont poussés par des courants différents, qui se touchent.
Pour donner un meilleur effet de réalisme, il vaut peut-être mieux ne pas suivre le choix de Béthesda. C'est d'ailleurs ce que j'avais commencé à faire avant de m'interroger sur le vent, en donnant une dérive aléatoire. Si dans sa dérive le bateau rencontrait un obstacle, il repartait dans un autre sens. Mais je dois dire que cette idée me fait un peu râler à l'idée de jeter mon travail de cette nuit, qui est pratiquement fini. Enfin, ce ne serait pas la première fois ! Je vais sans doute le "finaliser" et reprendre dans un autre "esp" la dérive aléatoire que j'avais commencée. Je pourrai alors tester l'effet visuel produit dans les deux cas.
Ce que tu dis de la girouette me semble fondé. Il est plus intéressant d'avoir une girouette qui donne visuellement le sentiment d'un vent changeant. A condition de préserver les directions prévues pour les vents 6, 7 et 9, puisqu'elles sont matérialisées par les PNJs qui se protègent.
Pour les papiers volants, j'en ai justement fait voler un à Seyda Nihyn ! Mais il n'y a rien d'aléatoire dans son vol. Quand le PJ arrive dans la cour du bureau des taxes, il voit le papier qui s'envole, accompagné d'un son de vent. Le papier fait de multiple rotations et déplacements, jusqu'à atterrir devant la porte de sortie de la cour.
Je trouvais ça plus intéressant que de poser ce papier à lire introduisant mon "mod", sur la table où est la dague du début de jeu. C'est un de mes premiers scripts (pour Morrowind seul), et la joie de voir voler ce papier m'a laissé un super souvenir :
J'en ri volontiers et sans mauvais esprit car Nova Magica est un des "mods" qui m'a le plus impressionné et que j'aurai été bien incapable de faire.
Quand à pousser le réalisme d'un voilier, je ne m'y risquerais pas vraiment car il y aurait tellement de paramètres à faire jouer que ce serait un coup à devenir fou. En plus je doute que la plupart des joueurs apprécierait de devoir louvoyer, ne pas chavirer et apprendre à naviguer comme avec un vrai voilier.
La seule chose qui me gêne un peu dans ce que tu proposes est l'absence d'harmonisation entre les différents "mods" susceptibles d'utiliser un effet visuel lié au vent. Si tu fais par exemple voler un papier là où un autre place une girouette par exemple, ce serait bien qu'ils suivent le même vent. Peut-être serait-il intéressant de faire un petit "mod" qui détermine des vents plus variés que les 2 directions prévues par Bethesda et qui pourrait servir de point commun pour ceux qui voudraient utiliser le vent. Mais je ne sais pas si ce serait vraiment utile...
0 utilisateur(s) li(sen)t ce sujet
0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)