Événements
Un événement est une phrase : quand ceci arrive, fais ces choses.
QUAND quelqu'un touche la porte
ALORS jouer le grincement
l'ouvrir en 600 ms
désactiver le panneau « verrouillé »
Le quand est un déclencheur. Le alors est une liste d'étapes. C'est toute l'idée — et elle couvre une part surprenante de ce dont un projet a besoin.
Un objet peut porter autant d'événements que vous voulez, et chacun s'exécute indépendamment.
Si vous écrivez aussi des scripts ou construisez des patches, chacun a également un nom de code court — les références des déclencheurs et des étapes les listent côte à côte. En construisant dans l'éditeur, vous n'en avez jamais besoin.
Tous les déclencheurs auxquels réagir : déclencheurs. Toutes les actions possibles : étapes. Les deux viennent directement du moteur : elles ne sont jamais périmées.
Chaque déclencheur, et à quoi il sert
La référence des déclencheurs générée donne les paramètres de chacun. Voici ce qu'ils signifient, et là où ils surprennent.
Entrées
| Dans l'éditeur | Se déclenche quand |
|---|---|
| Mouse button | un toucher ou un clic — branches clic, appui et relâchement |
| Hover | le curseur entre sur l'objet ou en sort |
| Double click | deux clics sur le même objet en moins de 300 ms |
| Long press | maintenu 450 ms sans bouger |
| Key | une touche — branches appui et relâchement |
| Scroll | la molette tourne ; filtrable par direction |
| Drag | du contenu AR posé est déplacé |
| Pinch | du contenu AR posé est pincé pour être redimensionné |
| Rotate | du contenu AR posé est tourné |
Les trois déclencheurs gestuels n'existent que sur les scènes surface — ils concernent le contenu que le visiteur a posé. Ils se répètent en continu pendant que le doigt bouge : traitez-les comme un flux, pas comme un instant unique.
Cycle de vie
| Dans l'éditeur | Se déclenche quand |
|---|---|
| Launch | la scène démarre — atteint chaque objet |
| Resize | la fenêtre ou le viewport change de taille |
| Pause | l'application ou l'onglet passe en arrière-plan |
| Resume | il revient |
on-pause est l'endroit où l'on arrête les choses polimentLes sons continuent de jouer quand un visiteur change d'application, sauf si vous les arrêtez.
Mettre en pause l'audio et les minuteries sur on-pause et les restaurer sur on-resume est une
petite attention que les gens remarquent.
Suivi
| Dans l'éditeur | Se déclenche quand |
|---|---|
| Detect | le marqueur ou la surface est trouvé |
| Tracking lost | le suivi est perdu |
| Placed | le visiteur a posé le contenu |
| VPS ready | le positionnement a démarré |
| VPS localized | la position réelle du visiteur a été trouvée |
| VPS localization failed | elle ne l'a pas été — c'est normal, pas une erreur |
| VPS error | le positionnement n'a pas pu fonctionner du tout |
Chacun n'est proposé que sur les scènes dont l'ancre peut le produire. La détection est signalée sur le front, quand le suivi démarre, pas à chaque image.
on-vps-not-localized se déclenche couramment pendant que le visiteur cherche un endroit que la
carte reconnaît. Traitez-le comme « continue d'essayer », pas comme un échec à annoncer.
Temps et proximité
| Dans l'éditeur | Se déclenche quand |
|---|---|
| Delay | une fois, après un délai |
| Every N seconds | de façon répétée — un nombre de répétitions de 0 veut dire indéfiniment |
| Distance | quelque chose entre dans un rayon, ou en sort — deux branches |
| Visibility | l'objet est affiché ou masqué |
| Variable change | la valeur d'une variable change |
on-distance a une option « vérifier au départ ». Sans elle, un objet déjà proche à l'ouverture
de la scène ne se déclenchera pas tant que rien ne bouge.
État, physique et interface
| Dans l'éditeur | Se déclenche quand |
|---|---|
| State active | cet objet entre dans le state que vous avez choisi |
| State inactive | il en sort |
| Collision | cet objet en touche un autre — éventuellement seulement certains |
| UI action | un bouton d'une carte d'interface a été pressé |
| Signal | un autre événement a émis un signal |
| Game controls | le personnage a changé d'état |
Un événement, les deux sens
Certains déclencheurs ont des branches : un seul événement traite donc tous les cas. Réglez une distance une fois, et répondez à l'approche comme au départ :
| Déclencheur | Branches |
|---|---|
| Distance | entré · sorti |
| Key | pressée · relâchée |
| Hover | entré · sorti |
| Mouse | clic · pressé · relâché |
| Visibility | affiché · masqué |
| Game control | repos · déplacement · saut · course |
Vous avez une section par branche dans l'éditeur. Les déclencheurs sans branches ont une seule section, « à l'activation ».
Sur quels objets agit une étape
Chaque étape a des cibles.
Laissez-les vides et l'étape agit sur l'objet qui porte l'événement — le cas habituel. Remplissez-les et elle agit sur ces objets-là, ce qui permet à un seul événement sur un bouton d'ouvrir trois portes.
Les touchers remontent aux parents
Un toucher, un survol ou une action de carte atteint l'objet et ses parents.
Cela évite beaucoup de répétition : posez un événement sur un groupe et il attrape les touchers sur tout ce qu'il contient, au lieu de copier le même événement sur quarante objets.
Deux effets de bord agréables :
- « toucher n'importe où dans ce panneau » est un seul événement sur le panneau ;
- glisser entre deux enfants d'un même parent ne déclenche pas hover/blur sur le parent, parce que vous ne l'avez jamais réellement quitté.
Les collisions font exception — elles ne se déclenchent que là où elles se sont produites. Et le clavier, le défilement, le redimensionnement et le démarrage de scène ne concernent aucun objet en particulier : ils atteignent donc tout.
Plusieurs touches pour un événement
Sauter avec Espace ou W est un seul événement, pas deux copies. La première combinaison vit dans le déclencheur ; les autres vont dans une liste « ou », écrite sous forme de texte :
ArrowUp ctrl+KeyW KeyA+KeyS Space+double
Les modificateurs appartiennent à la combinaison dans laquelle ils sont écrits, et une alternative
remplace la liaison au lieu de s'y ajouter. Les boutons de souris utilisent le même format
(mouse:middle).
Mieux encore : nommez une liaison de projet plutôt qu'une touche. Redéfinissez « saut » une fois dans les réglages du projet et tous les événements qui la mentionnent suivent — ce que vous voudrez le jour où quelqu'un demandera des contrôles pour gaucher.
Chaque étape, et ce qu'elle fait
Les paramètres sont dans la référence des étapes générée.
Navigation et monde extérieur
| Dans l'éditeur | Fait |
|---|---|
| Scene transition | aller à une autre scène |
| Space transition | aller à un autre space, éventuellement à une scène précise |
| Open URL | ouvrir un lien, dans cet onglet ou un nouveau |
| Open messenger | Facebook, VK, OK, Instagram, Telegram, WhatsApp ou Viber |
| Call phone number | lancer un appel |
| Compose email | lancer un e-mail |
| File download | télécharger un fichier de votre projet |
| Contact download | proposer une fiche de contact, construite à partir de vos champs |
L'étape messagerie prend un identifiant de page pour Facebook, VK et OK, un nom d'utilisateur pour Instagram et Telegram, et un numéro de téléphone pour WhatsApp et Viber.
Modifier la scène
| Dans l'éditeur | Fait |
|---|---|
| Show / hide object | afficher ou masquer les cibles — sur une scène, cela l'active |
| Set state | basculer dans un state nommé, éventuellement en douceur |
| Override properties | appliquer un jeu de valeurs ponctuel comme state temporaire |
Animation
| Dans l'éditeur | Fait |
|---|---|
| Play animation | jouer un preset de timeline — boucle, répétitions, vitesse, délai |
| Stop animation | en arrêter un |
| Transformation | déplacer, tourner ou redimensionner dans le temps |
| Opacity | fondre |
| Material | mélanger les matériaux des cibles vers un matériau enregistré |
| Bone transform | déplacer un os précis |
| Built-in animation | jouer un clip livré avec un modèle |
Play animation peut démarrer une animation appartenant à n'importe quel objet, pas seulement à celui qui porte l'événement — c'est ainsi qu'un bouton lance une séquence impliquant plusieurs choses à la fois.
Mouvement
| Dans l'éditeur | Fait |
|---|---|
| Follow object | suivre en continu — distance, décalage, lissage et vitesse |
| Look at object | se tourner vers quelque chose sans bouger |
| Stop following | arrêter les deux |
| Fly along path | parcourir un chemin |
| Stop path flight | arrêter cela |
Logique
| Dans l'éditeur | Fait |
|---|---|
| If — otherwise | vérifier une condition, puis exécuter l'une de deux listes d'étapes imbriquées |
| Set variable | définir, incrémenter ou basculer une variable |
| Send signal | émettre un signal — vers les cibles, ou vers tout le monde |
| Wait, then | attendre avant d'exécuter les étapes imbriquées |
Pointeur
Lock pointer et Release pointer masquent le curseur et transmettent son mouvement à votre scène — ce dont un jeu à la première personne a besoin pour que le pointeur ne s'échappe pas de la fenêtre.
Conditions
if_action est une étape, pas une propriété de l'événement — les conditions s'imbriquent donc, et
« un si dans un si » est la façon d'obtenir plus de deux issues.
Ce que la condition examine est fixé par sa source :
| Source | Vérifie | Avec |
|---|---|---|
always | rien — toujours vrai | — |
variable | la valeur d'une variable | variable, opérateur, valeur |
distance | la distance entre l'objet de l'événement et un autre | cible, opérateur, seuil |
state | dans quel state se trouve un autre objet | cible, state |
visible | si quelque chose est visible | cible, drapeau |
random | le hasard | seuil, en pourcentage |
Les valeurs sont lues avec souplesse : 3 devient un nombre, true un booléen, le reste reste du
texte. == et != comparent exactement ; les autres opérateurs comparent comme des nombres.
Variables, signaux et minuteries
Les variables durent le temps de la visite, pas du projet — elles repartent vides à chaque fois que quelqu'un ouvre votre expérience. Donnez-leur leurs valeurs de départ depuis un événement au lancement de la scène. Ce sont les mêmes variables qu'un script voit comme des globals.
Les signaux (emit_signal → on-signal) enchaînent des événements sans copier d'étapes :
plusieurs événements écoutent level-complete, et n'importe quoi peut l'émettre. Un signal qui se
réémet lui-même s'arrête après huit tours plutôt que de figer l'image.
Les minuteries démarrent quand leur objet devient vivant et se réinitialisent quand il est désactivé. Le réactiver relance le compte au lieu de tirer une rafale de ticks manqués.
States
Un state est un instantané nommé des réglages d'un objet : position, couleur, visibilité, ce que vous voulez. Basculer sur un state applique l'instantané, et basculer avec une durée fait la transition en douceur.
Les states sont la façon propre de construire un interrupteur, une surbrillance, une porte ouverte ou fermée — sans rien animer à la main.
Modifier un objet pendant qu'un de ses states est actif revient à éditer l'instantané de ce state, pas l'objet. C'est exactement ce que vous voulez en construisant des states, et parfaitement déroutant quand vous n'aviez pas vu qu'un state était sélectionné.
Re-tracking
Pour les scènes AR, le mode de re-tracking de chaque événement décide de ce qui se passe quand le marqueur est perdu puis retrouvé : tout reprendre immédiatement, ne jamais redémarrer, ou redémarrer une fois les étapes en cours terminées.
Si vous écrivez aussi des scripts
Événements, patches et scripts partagent un même vocabulaire — le même toucher atteint les trois.
Le même déclencheur sur le même objet, câblé à la fois comme événement et comme script, s'exécute deux fois. Si quelque chose se déclenche en double, c'est presque toujours pour cela.
Suite : Animation — faire bouger les choses.