From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Traduction effectuée d’après cette révision de la version anglaise.

Capteurs

Les capteurs (“sensors”) sont la cause de tout ce qui se passe dans la logique de jeu. Ils peuvent déclencher un événement à l’approche d’un objet, lorsqu’une touche du clavier est pressée, à un moment donné, etc. Quand un capteur est activé, une impulsion positive est envoyée à tous les contrôleurs liés. L’image d’après, une impulsion négative est envoyée.


Options de visualisation des capteurs

Au dessus de la liste des capteurs, il y a quatre boutons et un menu. Ils contrôlent l’affichage global des capteurs. Ils sont très pratiques pour cacher les capteurs inutiles afin de faciliter l’accès à ceux qui comptent. Les capteurs sont triés par objet, chacun des objets sélectionnés apparaissant au premier niveau de la liste, et contenant sa propre liste de capteurs.

Le menu (qui ressemble en fait à un titre) est libellé Sensors, et contient quatre options :

  • Show Objects affiche, déploie tous les objets.
  • Hide Objects cache, réduit tous les objets, ne laissant que le bouton-barre contenant leur nom.
  • Show Sensors affiche, déploie tous les capteurs.
  • Hide Sensors cache, réduit tous les capteurs à leur barre avec leur nom.

Ces deux actions peuvent également être effectuées sur chaque capteur ou objet, individuellement.

Il est également possible de filtrer quels capteurs sont visibles :

  • Sel affiche les capteurs de tous les objets sélectionnés.
  • Act affiche les capteurs du seul objet actif.
  • Link n’affiche que les capteurs reliés à un contrôleur.
  • State : seuls les capteurs connectés à un contrôleur dans l’état (state) courant sont visibles.


Options générales des objets

Tous les objets disposent de deux boutons, l’un libellé avec leur nom, et l’autre libellé Add. Ce dernier ajoute un nouveau sensor à l’objet, le bouton avec le nom de l’objet permettant de déployer/réduire sa liste de capteurs. Un objet sans capteur est automatiquement réduit. Ajouter un capteur déploie automatiquement la liste de ceux-ci.

Options générales des capteurs

Tous les sensors ont un ensemble de contrôles en commun. Organisés en deux lignes, voici ceux de la première, l’en-tête du capteur :

  • X, qui supprime le capteur.
  • Le menu de type de capteur, voyez ci-dessous.
  • Le nom du capteur, utilisé pour accéder au capteur depuis Python. Il doit être unique parmi tous les objets sélectionnés.
  • Tout à droite, il y a un petit bouton “triangle” pour réduire le capteur.

La première ligne de contrôles de chaque sensor est également la même pour tous les types :

  • True level pulsing” (~ “pulsation au niveau Vrai”), force le capteur à envoyer des impulsions positives tant qu’il est activé.
  • False level pulsing” (~ “pulsation au niveau Faux”), force le capteur à envoyer des impulsions négatives tant qu’il est désactivé.
  • Champ de délai (f), spécifie la durée (en cycles logiques) entre chaque impulsion. Pratique pour améliorer les performances en ne faisant pas les choses plus souvent que nécessaire.
  • Level (“niveau”), force le capteur à travailler lors des changements d’état. Voyez cette page sur le système d’états.
  • Tap, n’envoyer une impulsion positive qu’une seule fois, même si le capteur reste activé. Vous ne pouvez pas activer à la fois Level et Tap.
  • Inv, inverse la sortie (envoyer des impulsions négatives au lieu d’impulsions positives, et vice-versa).

API Python “GameLogic” (en).

Types de capteur

Capteur “Always”

Le capteur Allways (“toujours”) est utilisé pour des choses qu’il faut faire à chaque cycle logique, ou tous les n cycles (avec un f non-nul), ou au démarrage (avec Tap).

Ce sensor n’a aucune option spécifique.

API Python “GameLogic” (en).

Capteur “Delay”

Le capteur Delay (“délai”) est conçu pour attendre un certain nombre de cycles logiques avant de s’activer. il est utile si une autre action doit d’abord être effectuée, ou comme timer d’événements.

Le sensor Delay a trois options :

  • Delay est le nombre de cycles logiques pendant lesquels le capteur patiente, avant d’envoyer une impulsion positive.
  • Duration (“durée”) est la durée d’attente du capteur (après activation), avant d’envoyer une impulsion négative.
  • Repeats (“répéter”) force le capteur à redémarrer une fois que les délai et durée sont écoulés.

API Python “GameLogic” (en).

Capteur “Keyboard”

Le capteur Keyboard (“clavier”) est destiné à détecter les entrées clavier – il peut également les enregistrer dans une propriété String.

La première ligne de boutons (Key) concerne l’appui d’une seule touche. Cliquez sur le bouton sans titre, puis appuyez sur un touche pour l’assigner au sensor. Il s’agit de la touche “active”, qui déclenchera l’impulsion positive. Cliquez sur le bouton puis à l’extérieur, pour dés-assigner la touche. Le bouton All keys (“toutes les touches”) fera disparaître tous les autres contrôles de touche, et enverra une impulsion positive à l’appui de n’importe quelle touche, ce qui est utile pour une gestion personnalisée de celles-ci via un contrôleur Python.

Les boutons Hold (“maintenir”) fonctionnent comme le bouton de touche, mais ils ne déclencheront pas d’impulsion positive, à moins qu’ils soient maintenus appuyés lorsque la touche “active” est pressée. Vous pouvez avoir jusqu’à deux de ces touches “de maintien”. Elles deviennent alors indispensables à l’envoi d’une impulsion positive. Utile pour détecter des combinaisons comme CtrlR, ou ⇧ ShiftAltEsc, par exemple.

Le champ LogToggle indique la propriété Bool qui détermine si l’appui de la touche est enregistrée dans une propriété String (vrai) ou pas (faux). Vous devez renseigner ce champ si vous voulez enregistrer les touches appuyées.

Target (“cible”) indique la propriété String dans laquelle enregistrer les touches pressées. Alliée avec un capteur Property, vous pouvez l’utiliser par exemple pour entrer des mots de passe.

API Python “GameLogic” (en).

Capteur “Mouse”

Le capteur Mouse (“souris”) est destiné à détecter les événements souris. Ses options sont constituées d’une simple liste d’événements souris auquels réagir :

  • Left button (bouton gauche).
  • Middle button (bouton milieu).
  • Right button (bouton droit).
  • Wheel Up, la molette de la souris (vers le haut).
  • Wheel Down, la molette de la souris (vers le bas).
  • Movement, n’importe quel déplacement de la souris.
  • Mouse over, détecte si la souris survole l’objet propriétaire.
  • Mouse over any, détecte si la souris survole n’importe quel objet.

Il n’y a pas de brique logique pour des mouvements et réactions (comme en mode caméra à la première personne) spécifiques de la souris, vous devrez les coder en Python.

API Python “GameLogic” (en).

Capteur “Touch”

Le capteur Touch envoie une impulsion positive dès que l’objet est en contact avec un autre objet. Le champ MA vous permet de filtrer selon les matériaux : seuls les contacts avec le matériau spécifié généreront une impulsion positive. Laissez le vide pour détecter tous les contacts. L’impulsion positive est envoyée au moment de la collision, et la négative, dès la rupture du contact. Pour des impulsions continues tant que dure le contact, utilisez le “True Pulse triggering”.

API Python “GameLogic” (en).

Capteur “Collision”

Un capteur Collision fonctionne comme un sensor Touch, mais il peut également filtrer selon une propriété : seuls les objets ayant la propriété dont le nom est indiqué généreront une impulsion positive à la collision. Laissez ce champ vide pour détecter les collisions avec n’importe quel objet.

Le bouton Pulse le rend sensible à d’autres collisions, même s’il est encore en contact avec l’objet qui a déclenché la dernière impulsion positive.

Le bouton M/P permet de choisir entre le filtrage par matériau ou par propriété.

Capteur “Near”

Un capteur Near (“proche”) détecte les objets qui s’approchent de son propriétaire. Il peut filtrer les objets d’après une propriété, comme pour le sensor Collision.

La Distance (en Unités Blender) correspond à la limite de détection des objets. Reset est la distance à laquelle doivent parvenir les objets pour réinitialiser le capteur (envoyer un impulsion négative).

API Python “GameLogic” (en).

Capteur “Radar”

Un capteur Radar fonctionne comme un sensor Near, mais seulement dans un cône aligné sur l’un des axes, dont le sommet se trouve au centre de l’objet, et la base à une certaine distance le long de l’axe choisi. Il a un champ de filtrage d’après propriété (Prop). À sa droite, il y a le menu d’axe, qui détermine la direction du cône radar. Les signes ± indiquent s’il se trouve dans la direction de l’axe (+), ou à son opposée (-).

Angle détermine l’ouverture du cône, et Dist sa longueur.

Ce capteur est utile pour donner aux “bots” une vue limitée (en face d’eux, par exemple). Notez que ce “radar” voit à travers les autres objets.

API Python “GameLogic” (en).

Capteur “Property”

Le capteur Property détecte les changements dans les propriétés des objets. Ce sensor a quatre modes :

  • Equal déclenche une impulsion positive quand la valeur de la propriété correspond à celle du capteur. Le champ Prop contient le nom de la propriété, et Value contient la valeur de référence pour la comparaison d’égalité.
  • Not Equal déclenche une impulsion positive quand la valeur de la propriété diffère de celle du capteur. Mêmes champs que pour Equal, mais Value représente la valeur que ne doit pas valoir la propriété, pour déclencher une impulsion positive.
  • Interval déclenche une impulsion positive quand la valeur de la propriété est comprise entre les valeurs Min et Max du capteur. Pour un “supérieur à”, entrez le nom de la propriété dans le champ Max, et la valeur de seuil inférieur dans le champ Min. Pour un “inférieur à”, entrez le nom de la propriété dans le champ Min, et la valeur de seuil supérieur dans le champ Max. Les noms d’autres propriétés peuvent également être utilisés, pour effectuer des comparaisons entre elles.
  • Changed déclenche une impulsion positive dès que la valeur de la propriété change.

API Python “GameLogic” (en).

Capteur “Random”

Le capteur Random (“aléatoire”) génère des impulsions aléatoires. Il a un champ Seed pour spécifier la graine du générateur. 0 n’est pas aléatoire, pour les tests et le débogage.

API Python “GameLogic” (en).

Capteur “Ray”

Le capteur Ray (“rayon”) lance un rayon dans la direction d’un axe, et déclenche une impulsion positive quand il heurte quelque chose. Il peut être filtré, pour ne détecter que les objets avec un matériau ou propriété donnés.

Il partage beaucoup de contrôles avec le sensor Radar. Le bouton X (pour “rayons X”) le fait “voir” à travers les objets qui n’ont pas la propriété ou le matériau spécifié dans le champ de filtrage.

API Python “GameLogic” (en).

Capteur “Message”

Les messages peuvent être utilisés pour envoyer du texte ou des valeurs de propriété. Le capteur Message envoie une impulsion positive dès qu’un message est envoyé quelque part dans le moteur. Il peut filtrer les messages pour ne réagir qu’à ceux contenant un sujet spécifique.

API Python “GameLogic” (en).

Capteur “Joystick”

Le capteur Joystick détecte les événements de joystick.

API Python “GameLogic” (en).

Capteur “Actuator”

Le capteur Actuator réagit quand l’actuateur dont le nom est spécifié dans le champ Act est activé.

API Python “GameLogic” (en).