hyper Utilisateur confirmé: Rang ****
Messages : 1455
| Sujet: [résolu] Des caméras, des conditions et des angles Ven 18 Sep 2015 - 7:50 | |
| Alors voilà. Je suis sur un projet avec CBNA Smartlight, je crée une caméra de surveillance qui vérifie si le perso est dans son champ. Ma caméra a une portée de 60°. - Code:
-
if point_direction(x, y, obj_perso.x, obj_perso.y) mod 360 < (sl_light_angle+30) mod 360 and point_direction(x, y, obj_perso.x, obj_perso.y) mod 360 > (sl_light_angle-30) mod 360 { ... }
Comme vous pouvez le voir, j'ai mis des mod 360, mais ça ne marche que pour 2 caméras sur 3, et encore, si on est à droite d'une caméra, elle ne nous reconnaît pas (étant donné que l'angle fait -300° au lieu de 60°...). Je voudrais donc un moyen simple et efficace de convertir tous ces angles pour que la caméra fonctionne toujours, et que le perso soit repéré. _________________ côt.
Dernière édition par hyper le Dim 20 Sep 2015 - 19:54, édité 1 fois |
|
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: [résolu] Des caméras, des conditions et des angles Ven 18 Sep 2015 - 9:16 | |
| Avec les mod 360, ça remet pas l'angle à 60° ? Etrange... Tu as essayé de rajouter +360 avant de faire mod ? Là tu devrais toujours retomber dans le positif, non ? _________________ Cliquez pour accéder aux topics dédiés ! |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [résolu] Des caméras, des conditions et des angles Ven 18 Sep 2015 - 10:03 | |
| Le modulo peut retourner une valeur négative, pour obtenir une valeur positive il faut faire (angle - valeur + 360) % 360. Et cela ne marche que si 'valeur' est <= 360. |
|
hyper Utilisateur confirmé: Rang ****
Messages : 1455
| Sujet: Re: [résolu] Des caméras, des conditions et des angles Ven 18 Sep 2015 - 18:57 | |
| Marche pas, même avec la méthode d'oni. :/ Je veux que la caméra puisse reconnaître un champ de 330 à 390° par exemple (ou de -30 à 30°, ou encore 690-750°, bref). Mais apparemment, ça bug, c'est-à-dire le champ est reconnu comme de 330 à 30°, donc le héros ne sera pas reconnu. Vous êtes d'accord avec moi qu'il est plus facile de voir avec un champ de vision de 60° qu'avec un de -300° ? _________________ côt.
|
|
hyper Utilisateur confirmé: Rang ****
Messages : 1455
| Sujet: Re: [résolu] Des caméras, des conditions et des angles Dim 20 Sep 2015 - 19:54 | |
| Résolu ! J'ai ajouté, pour y voir plus clair, des variables champ_min et champ_max, qui correspondent respectivement à sl_light_angle-30 et pareil+30. - Code:
-
champ_min = (sl_light_angle - 30) mod 360; if champ_min > 300 champ_min -= 360; champ_max = (sl_light_angle + 30) mod 360; if champ_max < 60 champ_max += 360; Et voilà, quelques conditions en plus et ça marche ! ^^ _________________ côt.
|
|
Contenu sponsorisé
| Sujet: Re: [résolu] Des caméras, des conditions et des angles | |
| |
|