La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 16:33:50


  Page 1 sur 2 ¤ Aller à la page 1, 2  Suivante

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 29/05/2006 00:06:16 Sujet du message : [Résolu] Coincé dans un angle face aux vecteurs !

Bonsoir !

Depuis un certains temps, je travaille sur des vaisseaux spatiaux. J'ai réussi à faire en sorte que les vaisseaux puissent tirer tout en se déplaçant, le tout à une vitesse respectable de sorte que nwn ressemble à un shoot ! Ou presque ...

J'ai facilement réussi à limiter la distance de tir entre chaque vaisseau, > donc on ne peut pas tirer sur un vaisseau trop éloigné, mais ce que je n'arrive pas à faire pour le moment, c'est de faire rater le tir si le vaisseau n'est pas en face, ou du moins n'a pas un angle de tir correct pour avoir sa cible.

Semcatala et Anthraxcite semblent être des experts dans les fonctions de vector et d'angle. Ils ne sont sûrement pas les seuls ^^ ( habile flatterie pour demander un coup de pouce et en même temps appels à tous ceux qui souhateraient relever un défi Razz )

Donc plus clairement, j'aimerai savoir s'il y a, à votre avis, un moyen de tester si la cible est plus ou moins en face du joueur, sachant que LineOfSightObject(); ne semble pas marcher ( cette fonction ferait-elle appel à la tête du modèle ? ou bien n'a-t-elle pour objet que de vérifier si aucun mur n'est en travers de deux créatures ? )

Voilà, merci par avance !
Dernière édition par Enki le 31/05/2006 13:40:40; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 29/05/2006 07:08:51 Sujet du message :

Je ne suis pas un expert , mais maintenant je parviens a prendre le joueur comme référentiel au lieu du décor pour positionner un effet ou un objet ! Razz

Et coté script , je pense que Anthrawcite maitrise bien mieux que moi !

Là je pars au taf , dés que j'ai un moment ce soir je regarde ça !:

Et a ce propose , je posterais une question a propos de la " direction " et de la " camera " .... ! Ca pourrait interesser du monde , qui ait ...?
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 29/05/2006 08:50:06 Sujet du message :

Bon j'ai 5 minutes donc je poste ....

Enki> En fait sache qu'il y a en permanence un vecteur invisible devant ton joueur.
Ce vecteur posséde ces caractéristiques :
Son intensité vaut " 1 " , et sa direction est toujours celle face a ton avatar , quand a sa " hauteur " , axe Z , c'est celle de l'avatar.

L'astuce pour savoir si un objet est en face ou pas de ton avatar consiste a mesurer la distance entre ce vecteur devant ton avatar et l'objet en question.

Perso , je serais d'avis de déterminer la " location " du vecteur et la " location " de l'objet pour pouvoir déterminer la distance qui les sépare.
Il faudra aussi comparer leurs angles pour savoir si les 2 objets se font face ou pas.
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 29/05/2006 10:54:50 Sujet du message :

Salut Semcatala !
Merci pour ces réponses rapides !

Par contre, je n'ai pas tout compris Confused ^^


Citation :
Son intensité vaut " 1 "
Qu'est ce que l'intensité d'un vecteur ?



Citation :
L'astuce pour savoir si un objet est en face ou pas de ton avatar consiste a mesurer la distance entre ce vecteur devant ton avatar et l'objet en question.
Je n'ai pas compris en quoi la distance entre le vecteur du PJ ( quels points du vecteur d'ailleurs ? ) et l'objet cible permet de dire que la cible est en face ?

Ensuite, je viens d'avoir une idée, peux tu me dire si cela te semble possible ? ( et comme il est question de vecteur aussi ^^).

J'ai envisagé la question sous un autre angle Razz :

Il y a une fonction :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


et là dedans, plusieurs formes possibles :

SHAPE_CONE
SHAPE_CUBE
SHAPE_SPELLCONE
SHAPE_SPELLCYLINDER
SHAPE_SPHERE

Ne serait il pas possible de créer avec cette fonction un cone d'une largeur et d'une longueur particulière ? Puis de tester via une boucle si la cible est l'un des objets de ce cone ?

J'essaye d'explorer toutes les directions, qu'en penses-tu ?

Si d'autres personnes ont des idées, n'hésitez pas à les proposer !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 29/05/2006 13:10:30 Sujet du message :

Si je rapelle bien cette fonction permet de faire déflier les objets présents dans un "volume" donné de forme sphérique , cubique , cônique ou cylindrique.

Je doute que ca puisse nous aider ...
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Anthraxcite
Légende vivante
Inscrit le: 12 Juin 2004
Messages: 372
Localisation: Belgique
Répondre en citant
Posté le : 29/05/2006 14:19:10 Sujet du message :

Je peux me tromper mais je pense que tu dois faire la différence entre les 2 vecteurs(perso - cible) transformer ce vecteur en angle(VectorToAngle) puis comparer cet angle à celui du perso. Fais des affichage toutes les 6 secondes en te déplaçant et en tournant sur toi-même pour voir.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Macadam
Grand Chevalier
Inscrit le: 07 Avr 2006
Messages: 132
Répondre en citant
Posté le : 29/05/2006 15:06:19 Sujet du message :

pour les shape à part le cube de memoire, ils sont plus ou moins bugués et j'ai donc préféré travailler avec des vecteurs egalement moi perso.

j'ai un peu pris du recul là donc je me rappelle plus trop mais peut être que les fctions que j'avais posté il y a un moment peuvent te servir meme si je sais plsu trop ou elles sont Laughing
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 29/05/2006 18:06:35 Sujet du message :


Citation :
Qu'est ce que l'intensité d'un vecteur ?
L'intensité c'est la " longueur " du vecteur.
Par exemple si X = 3 , Y = 4 , alors I = racinede(X²+Y²)= 5 =racinede(9+16)
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
PetitPrince
Super-Mouton
Inscrit le: 12 Sep 2002
Messages: 2043
Localisation: Asteroïde B-612 actuellement crashé en Suisse
Répondre en citant
Posté le : 29/05/2006 18:46:18 Sujet du message :

Je dirais même plus, la norme.
_________________
b-612.yi.org (chez moi) | tetrisconcept.com (LE site sur Tetris) | Grospixels (c'était mieux avant) | Geekzone (for and by crazy geeks)

Securom, ça suxe
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 29/05/2006 20:57:00 Sujet du message : Un peu de dessins ...

Bonsoir !
Merci pour toutes ces réponses et précisions !



Citation :
Si je rapelle bien cette fonction permet de faire déflier les objets présents dans un "volume" donné de forme sphérique , cubique , cônique ou cylindrique.

Je doute que ca puisse nous aider ...
En fait, bon tu ne pouvais pas le savoir, mais mon système de vaisseaux est basé sur deux dons.
Le premier enregistre une cible en local objet pour le joueur, et le second permet de tirer, c'est là que doivent être fait les tests de distance et d'angle de tir.

Mon idée avec les " GetFirstObjectInShape(); " était de créer une forme conique partant du PJ, et de tester via un script si l'objet local "cible" était parmi l'un de ces objets, et le cas échéant, de lancer l'effet visuel et les dégats, etc ...

Mais en fait, comme l'a souligné Macadam, ces fonctions semblent un peu buggées ou ne pas avoir le comportement attendu en tout cas.

Je vais essayé de mettre en pratique les conseils d'Anthraxcite.

Un petit schéma explicatif, ( je me sens l'âme d'un artiste en ce moment ! ce doit être mes fréquentations ^^ )

T = le vaisseau du joueur : un Tie-Fighter
X = le vaisseau cible : un X-Wing
* = Les étoiles Laughing

Citation :

Là, le joueur peut tirer :

*************.*******.*************
**************.*X***.**************
***************.***.***************
****************.*.****************
*****************T****************

Là il ne peut pas :

*************.*******.*************
**********X***.*****.**************
***************.***.***************
****************.*.****************
*****************T****************
Voilà, et encore merci de m'aider !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 30/05/2006 17:11:09 Sujet du message :

Salut

Je veux pas cassé la petite ambiance des angles, mais pourquoi ne pas utilisé ceci :

NWScript :
GetDistanceBetween
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ca serait plus simple non?
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 30/05/2006 17:11:56 Sujet du message :

Salut

Je veux pas cassé la petite ambiance des angles, mais pourquoi ne pas utilisé ceci :

NWScript :
GetDistanceBetween
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ca serait plus simple non?
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 30/05/2006 17:19:51 Sujet du message :

C'est très simple, avec seulement GetDistanceBetween comment prévoir un angle ?

L'idée est d'avoir un champs de "vision" possible pour le tire, sinon on le rate.

Je crois que si on part sur l'idée d'Anthra il y a moyen de le faire en rajoutant un test de distance (ton GetDistanceBetween) et un test de facing peut être (tout depend de comment sont géré les angles).

Sinon le plus simple shape avec un cone, et il ne me semblait pas qu'il était buggé celui là (inconvéniant -> moins flexible).
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 30/05/2006 17:49:16 Sujet du message :


Citation :
Ca serait plus simple non?
Black Knight> En effet ce serais plus simple , mais est ce que ta solution parvient a résoudre le problême posé ?

Question qui est : " Y a il un moyen de savoir si la cible est en face du joueur ? "

En utilisant ta solution , en effet c'est plus simple , mais le résultat est une " distance " , qui finalement se résume a une sphére autour du joueur , on n'a aucune notion d'orientation , on ne sait pas si la cible est devant , derriére , en haut ou en bas , on sait juste qu'elle est a une certaine " distance " .

Il faut nécéssairement comparer la distance qui les sépare , ET l'orientation entre les 2 objets pour résoudre le problême.
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 30/05/2006 20:01:20 Sujet du message :

Je vais essayé ce soir avec un cone, j'avais utilisé le spell_cone, sans succès.

J'ai pas eu le temps encore de tester l'idée d'Anthraxcite, je vais tenter de le faire ce soir aussi, si j'ai le temps, dans tous les cas, je vous tiendrai au courrant.

Sinon, si l'un d'entre vous à une idée sur la façon de tester la différence dont parle Anthraxcite, je cite :


Citation :
Je peux me tromper mais je pense que tu dois faire la différence entre les 2 vecteurs(perso - cible) transformer ce vecteur en angle(VectorToAngle) puis comparer cet angle à celui du perso.
Il faut que l'angle "calculé" soit le même que celui du perso, ou au contraire qu'il ne soit PAS le même ?


Merci en tout cas.

P.S. : il est évident que j'utilise le GetDistanceBetween(); pour tester la distance entre les deux vaisseaux.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 30/05/2006 20:23:02 Sujet du message :

Anthra parle de deux GetPosition (opc et cible) transformé en angle.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 31/05/2006 11:21:40 Sujet du message :

J'ai une petite idée qui me vient de vieux cours de maths de ya longtemps sur les vecteurs:
quand on a un vecteur on a son origine, sa direction et sa longeur donc on devrait pouvoir avoir les coordonnées de la "pointe" du vecteur, non?
Si oui voilà mon idée:
Recuperer le vecteur du joueur(tireur) le copier au meme endroit en mettant en longueur la distance entre le tireur et sa cible, ensuite récuperer la coordonnée de la "pointe" de ce deuxieme vecteur et comparer ces coordonnées avec celles de la position de la cible (si pas trop loin on peu tirer) et pour l'effet de cône quand tu compare les deux ensembles de coordonnées tu accepte plus d'ecart si la distance entre tireur et cible est plus grande.

Allez moi aussi je me sens l'ame d'un artiste Laughing
NWScript :

___________X___
_________^_____
_________|_____
_________|_____
_________T_____
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


voila bon sans le petit déssin c'etait pareil mais bon Embarassed

Voilà j'attend l'avis des experts, j'ai fait ca avec une vision de matheu plus que de scripteur.
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 31/05/2006 12:08:41 Sujet du message :

Vite fait (testé quand même) :
NWScript :

void main()
{
object oCible = GetObjectByTag("CIBLE");
object oTireur = GetFirstPC();
vector vTireur = GetPosition(oTireur);
vector vCible = GetPosition(oCible);
vector vDiff = vCible-vTireur;
float fAngle = VectorToAngle(vDiff) - GetFacing(oTireur);
if (fabs(fAngle)<=10.0) SendMessageToPC(oTireur,"OK");
else SendMessageToPC(oTireur,"pas OK");
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Il ne te reste qu'à définir tireur et cible comme tu veux, et a ajuster la fenêtre de tir (là c'est +/- 10°)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 31/05/2006 13:39:27 Sujet du message :

Bonjour !

Tout d'abord merci à tous pour cette discussion forte intéressante, et pour tous vos conseils !

Anthraxcite avait le début de la solution, et Sith Vicius ( avec un pseudo pareil, il était prédisposé à m'aider semble-t-il ! ^^ ) l'a habilement complété et à même eu la gentillesse de faire un script tout prêt ---> un grand merci !

Cela fonctionne parfaitement, c'était l'ingrédient qui me manquait pour que mon système de vaisseaux se comporte parfaitement comme un shoot'em up !

Je me permets simplement de suggérer à ceux que cela intéresse, qu'un tel système pourrait être adapté à des modules d'heroïc-fantasy sans grosse difficulté. Si j'avais à faire un mod de ce type, je ferai des archers à cheval utilisant la tactique de la flèche Parthe, ou bien simplement des chars avec un aurige et un tireur. Enfin, on peut imaginer plein de choses ...

[edit] Ou plus simplement, je viens d'y penser à l'instant, le script ci-dessus est idéal pour des armes de siège ! ( déplaçables ou pas )

A bientôt !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Anthraxcite
Légende vivante
Inscrit le: 12 Juin 2004
Messages: 372
Localisation: Belgique
Répondre en citant
Posté le : 01/06/2006 00:08:53 Sujet du message :

Alors j'avais pioché juste, je suis tombé sur un souvenir correct des vecteurs, faudra peut-etre que je fasse une doc avec des schémas histoire d'expliquer mieux tout ça.

Sinon je crois savoir ce que Bengorre veut dire. Je pense que si on devait prendre le problème par ce bout là(distance et non angle), on ferait intervenir des radians puisque la distance au bout et donc à la corde dépendrait du rayon(sinon l'angle de tir autorisé serait bcp plus grand à une distance proche).
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 01/06/2006 07:48:46 Sujet du message :

Alors maintenant j'aimerais savoir si on peut en effet récuperer la valeur des coordonnées de la pointe du vecteur et comment.

NWScript :

x------>y
vecteur ayant pour origine X, comment recuperer les coordonnées de Y?
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Merci Antraxcite d'avoir prêter attention à ce que j'ai dit.
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 01/06/2006 11:32:15 Sujet du message :

BenGorre> facile , si tu as un vecteur qui se présente comme ça :

NWScript :
vector mon_vecteur ;
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


tu peux récupérer les coordonnées comme ça :

NWScript :


float valeur_X = mon_vecteur.x ;
float valeur_Y = mon_vecteur.y ;
float valeur_Z = mon_vecteur.z ;


Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


C'est aussi simple que ça ! Very Happy

Par contre fais attention , " l'origine " des valeurs que tu obtiendra , sera toujours aux coordonnées (0,0;0,0;0,0) de la zone.
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 01/06/2006 11:54:06 Sujet du message :

Si t'as les coordonnées de x, c'est une somme simple il me semble non ?
x (xx,yx,zx)
vecteur (xv,yv,zv)

y = (xx+xv,yx+yv,zx+zv)

En fait si je te comprend bien, tu voudrais comparer la position de la cible par rapport à la droite qui passe par la position du tireur selon son orientation ?

Il me semble que ça revient au même en définitive, puisqu'en définissant un angle comme fenètre de tir, on a bien un cone virtuel qui va en s'élargissant. Mais avec les outils de NWN, ça me semble plus compliqué de calculer en distance et en projections.

Alors qu'avec ce qu'Anthra a proposé et que j'ai mis en script, on a l'angle, et avec VectorMagnitude(vDiff) (qui revient à un GetDistanceBetweenObjects()), on a en plus la distance à la cible, donc tous les paramètres pour savoir si le tir est possible.

Enfin j'ai ptet pas tout compris non plus, la géométris c'pas mon truc.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 03/06/2006 09:04:17 Sujet du message :

Euh je sais pas si j'ai compris les vecteur^^ quelqu'un pourrait me donner une explication breve de ce qu'est vraiment un vecteur dans NWN?
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 03/06/2006 11:46:14 Sujet du message :

BenGorre>

Un vecteur est un vecteur , et reste la même chose dans nwn ou dans un cours de math , a savoir qu'il sert a permettre de pouvoir repérer un point dans ton référentiel ( généralement 2D ou 3D ) grace a des coordonnées !

C'est a dire qu'il à autant de coordonnées qu'il y a de plans dans le référentiel ou tu te trouve.

Dans nwn on travaille sur 3 plans , longueur , largeur et hauteur , axes X , Y , et Z .

Les vecteurs te servent en fait a pouvoir positionner des effets visuels ou ce que tu veux , en ne prenant pas forcément comme origine le décor de la zone , mais un joueur.

Par exemple , si tu veux faire apparaite un effet magique aux coordonnées (10,10,5) de la zone , rien de difficile , t'as juste a utiliser les coordonnées de maniére brute.

Mais par exemple si tu veux faire apparaite un effet a droite devant un joueur , alors il te faudra manipuler les vecteurs pour pouvoir trouver le bon " point " dans l'espace quelque soit la position du joueur.

C'est ça et ça sert a ça les vecteurs ! Very Happy
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 2 ¤ Aller à la page 1, 2  Suivante


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 68.583ms