Détection de push

Répondre
Partager Rechercher
Bonjour,

tu parles d'épée donc j'ai un doute sur ce que tu cherches exactement :
  1. Détection d'un push réellement (ce qui correspond à une fonction LSL donnée qui "pousse" la cible sans contact direct) ?
  2. Détection de l'impact d'une arme ou d'un projectile ?

Le second choix est facilement détectable, le 1er ne l'est pas directement. L'astuce classique consiste à détecter la position à intervales réguliers et à faire réagir le script lorsque la distance parcourue par rapport au dernier contrôle est trop élevée pour être "normale".
En fait pour les balles (projectiles) c'est facile car il y a vraiment un objet physique qui entre en collision avec l'avatar.
Pour les épées je me base sur un open source de sabre laser qui envois un push sur un avatar sans le faire se déplacer. Maintenant je connais pas le fonctionnement des épées plus élaborées.
Pour ma gouverne...

En fait pour les balles (projectiles) c'est facile car il y a vraiment un objet physique qui entre en collision avec l'avatar.

Question:? Le script qui détecte la collision est situé où? sur celui qui est touché ou sur celui qui touche dans ce cas le projectile donc l'attaquant.
Citation :
Publié par Seb_01
Pour ma gouverne...

En fait pour les balles (projectiles) c'est facile car il y a vraiment un objet physique qui entre en collision avec l'avatar.

Question:? Le script qui détecte la collision est situé où? sur celui qui est touché ou sur celui qui touche dans ce cas le projectile donc l'attaquant.
Ca peut être les deux cas :
  1. Soit le script est dans le projectile et agit une fois l'évènement de collision déclenché, c'est le système notament utilisé pour les effets à l'impact (push, mais aussi particules etc)
  2. Soit le script est situé dans un attachement porté par la victime. Dans ce cas il faut savoir que les évènements de collision subits par l'avatar seront détectés par l'attachement comme si c'était les siens. Il est donc possible d'exploiter ces évènements dans les scripts. C'est le principe de bon nombre de système de combat gérant des points de vie etc
Citation :
pour la 2 cela veut dire que l'avatar porte sur lui quelque chose ou est entouré par un objet dans lequel le script est?
Tout à fait. De mémoire, même un objet en slot HUD détecte les collisions que subit l'avatar, donc le prim englobant n'est pas une nécessité (à moins de vouloir réaliser une zonation de la détection.
si tel est le cas effectivement cela devient easy à gérer , je ferai un test pour connaitre les événement vu du HUD donc de l'avatar (si j'ai tout bien suivi...)
Oui je détecte facilement un projectile sur mon avatar grâce à un objet porté dont voici le systeme :

collision_start(integer num)
{
integer i;
for (i = 0; i < num; i++)
{
if (llDetectedType(i) == 10) // Objet scripté en mouvement
{
bullet = llDetectedName(i);
prop = llKey2Name(llDetectedOwner(i));
}
}
}

Par contre ce qui m'embete et de ne pas réussir à détecter une épée...
Truc tout bête ... est-ce que l'épée en question est bien "cohérente" ? A savoir, est-ce que la case "phantom" est bien décochée ? Dans le cas contraire elle traversera l'AV sans le toucher, ne pouvant entrer en collision avec les autres objets ou agents.
J'ai testé le script d'Olivier dans un HUD effectivement les informations ( events ) sont parfaitement gérés ... merci Llew cela m'ouvrira à coup sûr des perspectives de scripts intéressantes

Olivier as tu jeté un coup d'œil sur la bible de bestmomo ( chapitre sur les collisions) ?


Bible
Me suis penché sur les deux systemes de combats les populaires sur SL, DCS et CCS.
En fait avec DCS, pas besoin d'arme pour se battre car tout est géré par le meter (objet porté par l'avatar). Il détecte l'appuis simultané du bouton gauche de la souris et d'une flèche de direction et envois l'informations aux meters à porté, qui subissent des dégas.
Pour CCS, a prioris, l'épée envois un projectile physique à l'avatar qui est à sa porté lorsqu'un coups est donné.
Répondre

Connectés sur ce fil

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