ACCUEILCAS D'USAGESPLATEFORMEMATÉRIELACCOMPAGNEMENTACADÉMIENOUS
Wiki

easystory360 wiki

Making the story smart

Part 5 of 9 · 10 sections

Last updated 30 July 2026 · Written by Philippe and Alixe from explorations360

25The prerequisite: give the scene some time

A scene built on a 360 image has a default duration of zero seconds, which means unlimited: the visitor stays as long as they like. This is not a flaw to be fixed, and in many cases it is exactly what you want.

You do not have to guess: when the duration is zero, the platform says so itself across the timeline. Your event tracks are there, but empty, and both counters stay frozen at 00:00,0. The message reads "Définissez un temps sur votre scène pour gérer vos évènements sur la timeline" (set a time on your scene to manage your events on the timeline).

easystory360 timeline on a scene with no duration, showing the message asking you to set a time on the scene
The message the platform shows for as long as the scene lasts zero seconds. The tracks exist, but nothing can be placed on them.

The setting sits in "Options de la scène" (scene options), "Général" tab, "Temps et durée" (time and duration) block. Three settings live there:

  • "Temps sur la scène (mm:ss)" (time on the scene): two fields, minutes and seconds. This is the setting that unlocks everything else.
  • "Jouer la scène en boucle" (loop the scene): once the duration is over, the scene starts again instead of stopping.
  • "Afficher time line" (show timeline): shows the visitor a progress bar during the scene.
Time and duration block of the easystory360 scene options: time on the scene, loop the scene, show timeline
Scene options, "Général" tab: the field to fill in before you start scripting.

26The four activation modes

Every event fires according to an activation mode, chosen in its "Général" tab. This choice is not a box ticked at random: it decides who is in charge, the visitor or you. A 360 story offers two of them; a "Réalité Mixte" (mixed reality) story offers four.

The activation block of a 3D object, with the on-click / automatic toggle greyed out
On a 3D object the toggle is off and "Automatique" is imposed: this event type does not open on a click.

"Au clic" (on click): the visitor decides

The event is represented by a point of interest in the scene; nothing happens until the visitor clicks it. This is the free-exploration mode: the visitor looks around, spots the markers, picks their own order. Use it for anything optional or consultable on demand: an information sheet, an on-request sound, a navigation arrow. What the visitor experiences: they are active, they rummage, and they can skip what does not interest them.

"Automatique" (automatic): you decide

The event fires on its own, over its time range, with no action from the visitor. This is the guided-narration mode: an instruction shown on arrival in the scene, an audio commentary that starts, a question that pops up at the right moment. Use it for everything the visitor must see or hear without having to look for it. What the visitor experiences: they watch the sequence you wrote, then take back control. To stagger several automatic events in one scene, the scene must have a duration: that is the prerequisite of the previous section.

"Zone": movement decides (mixed reality)

In "Réalité Mixte" (mixed reality) projects, a third mode appears: the event fires when the visitor enters or leaves a zone of the room. You designate the zone, then the direction, "In" on entry or "Out" on exit, and finally what does the triggering, with "Déclenché par" (triggered by): "Tête" (head), meaning the headset's position, "Main" (hand), meaning hand tracking, or "Les deux" (both). The head is the default. This is the mode for physical experiences: content that launches when someone approaches a real workstation.

"Bulle / Porte": crossing a 360 video (mixed reality)

The fourth mode fires the event when the visitor's head enters a 360 video placed as a bubble or a door in the scene, or leaves it. You pick the video in the "Vidéo 360 (bulle / porte)" list, then "Entrée" (entry) or "Sortie" (exit). If no eligible video exists in the scene, the screen says so and the list stays empty. The screen also warns that this is a headset-only trigger: the web preview has no immersion and will not play it.

Both spatial modes share one extra setting, "Délai avant exécution (s)" (delay before execution, in seconds), in half-second steps. Zero means immediate. Beyond that, the event waits for the delay before executing, and the wait is cancelled if the opposite movement happens in the meantime: a visitor entering a zone then leaving it before the delay is up triggers nothing. That is what stops a mere walk past a zone from launching content.

Limiting repeats

Below the activation toggle sits a discreet but useful block: "Nombre d'ouverture autorisée" (number of openings allowed), with two independent counters, "Dans la scène" (in the scene) and "Dans la story" (in the story). The label spells out the convention: zero means "always", not "never".

This is the setting to know for anything that must not repeat: a welcome message you only want seen once is set to 1 in the story; a comment that may replay on each visit to a scene, but only once per visit, is set to 1 in the scene and 0 in the story.

Activation block of an easystory360 event: on-click or automatic toggle, and number of openings allowed in the scene and in the story
The full activation block: the toggle, and the two repeat counters.

27Variables: the story's memory

A variable is a value internal to the story that records what the visitor does: did they find the key, which answer did they pick, how long did they take. Variables belong to the whole story: a value set in one scene can be read in every other. They are created in the "Gestion des variables" (variable management) box, opened by the editor's "Variables de déclenchement" (trigger variables) button: a name, a type, and that is all.

The variable type list open: Vrai/Faux, Nombre, Chaine de caractères, Temps
The four types, in the order the list offers them.
easystory360 variable management box: adding a variable with its name and type
The "Gestion des variables" box: a name, a type, an initial value.
TypeWhat it recordsTypical use
Vrai/Faux (true/false)A switch: the thing is done or it is not. Initial value of your choice: FAUX or VRAI."The key has been found", "the safety instructions have been read".
Nombre (number)A numeric value, comparable with =, > and < in conditions.A level reached, a numeric choice made by the visitor.
Chaine de caractères (text)A text, picked from a list of values you declare when creating the variable.A visitor profile: "beginner" or "expert", steering the rest of the journey.
Temps (time)A stopwatch, driven by three actions: Start, Stop, Set (impose a value).Timing an exercise across two scenes.
Dropdown of the four variable types: Vrai/Faux, Nombre, Chaine de caractères, Temps
The four variable types.

Three ways to change a variable's value mid-story: the SetVariable event, placed in a scene like any other event; the "Ouverture / Fermeture" tab of any event, which can change variables as a side effect; and, in choice questions, the variable assignment set directly on an answer. Reading, on the other hand, happens in the events' "Conditions" tab. One point that saves you an impossible setup: an assignment placed on an answer can only target a Vrai/Faux (true/false) or Nombre (number) variable. A Chaine de caractères (string) variable can indeed be picked from the list, but no value can be given to it there. To steer a journey according to the answer, the "Réponse à une question" (answer to a question) condition needs no variable at all. Full examples follow two sections down.

easystory360 variable management box: two variables, one carrying the in-use badge, the other not
Two variables of the same type: the top one carries the "Utilisée" (in use) badge, the bottom one does not. The badge is a visual clue, not a guarantee: it only spots SetVariable events.

The initial value

Each row of the management box unfolds on a chevron, revealing a setting that is easy to miss: the "Valeur Initiale" (initial value). It is the value the variable holds at the very start of the story, before anything has changed it.

Unfolded variable row in easystory360, showing the initial value field
The unfolded row: the type, the "in use" badge, and the initial value.

28Dynamic tokens: showing a value that changes

Fixed text always says the same thing. A token is a word between double braces that you drop into the text of an event, and that is replaced at playback time by a computed value: the headset battery level, the name given to the device, the number of visitors in the room, the time, the score obtained on a question set. The same text then reads differently for each visitor and at every moment.

Where to place them

Open a Texte (text) event. Below the Texte field of its input screen, a collapsible "Jetons dynamiques" (dynamic tokens) panel lines up every available token. Put the cursor where you want it in your text, then click the token: it is inserted at that exact position, and the cursor moves just after it. Hover a token before clicking and a tooltip tells you what it will show.

An event's text field, with the "Jetons dynamiques" bar collapsed underneath
The panel lives under the text field, collapsed until you ask for it.

The live value dot

Some tokens carry a small dot. It marks a value that is refreshed while the panel stays on screen: the battery going down, the scene stopwatch running, the time changing. The other tokens are set when the panel opens and no longer move while it stays open.

The dynamic token panel open, with its fourteen pills
The fourteen tokens, with the small dot that marks the live values.

The fourteen tokens

TokenWhat it showsLive value
{{variable(nom)}}The value of a story variable, among those you defined.yes
{{batterie}}The device battery level, as a percentage.yes
{{charge(40)}}The estimated charging time before reaching the threshold in brackets. Stays empty if the device is not charging, or while the charging rate is not known.yes
{{casque}}The name given to the headset when it was paired.no
{{visiteurs}}The number of headsets in the room, this one included.yes
{{ligne}}The route line assigned to this headset.no
{{scene}}The title of the current scene.no
{{story}}The title of the current story.no
{{langue}}The active language.no
{{temps_scene}}Time elapsed since the scene started, in minutes and seconds.yes
{{heure}}The current time, in hours and minutes.yes
{{date}}Today's date.yes
{{points(Questionnaire)}}Points scored on the question set named in brackets.yes
{{maxpoints(Questionnaire)}}The maximum score of that question set.yes

Tokens that expect a word in brackets

{{variable(nom)}} expects a variable name, exactly as you wrote it in the "Gestion des variables" (variable management) box. It is the bridge between the two notions: the variable remembers, the token displays. A variable counting the clues found shows nowhere until you display it; put {{variable(indices)}} in a text and the visitor reads their own counter.

{{points(...)}} and {{maxpoints(...)}} expect the name of a question set in the story. Together they write a full score: "Vous avez obtenu {{points(Securite)}} points sur {{maxpoints(Securite)}}." Finally, {{charge(40)}} expects a threshold as a percentage: the token then announces the time left before the battery reaches that level.

The charge token's tooltip, on hovering its pill
Every pill carries its definition on hover, here the longest of them all.
A text mixing words and two tokens, as it appears in the field
In the editor the text keeps its braces: it is at playback that the value takes their place.

Three uses worth the detour

  • A personalised welcome panel: "Bienvenue sur {{casque}}, vous êtes {{visiteurs}} dans la salle."
  • A duration reminder on a guided tour: "Il vous reste {{temps_scene}} sur cette étape."
  • A battery warning, combined with the "Niveau de batterie" (battery level) condition described in the next section: a panel that only appears below the threshold and reads "Batterie à {{batterie}} pour cent, pensez à rebrancher le casque."

29Conditions: reserving an event for a situation

An event's "Conditions" tab restricts its execution to cases where one or more conditions are met. Conditions combine with AND/OR, and the "Sous condition" (sub-condition) type assembles exactly two conditions with their own AND/OR: "(A and B) or C". Eleven types are offered in a 360 story; two more only appear in "Réalité Mixte" (mixed reality), "Trigger" and "Ligne disponible", bringing the total to thirteen. The table below is the reference, but a condition only really makes sense in situation, which is the point of the next section.

Condition typeThe event only executes if...
Ouverture d'un évènement (an event was opened)another event has been opened a certain number of times. You designate a scene, then one of its events, then a comparator (=, > or <) and a number: "> 0" reads as "has been opened at least once".
Fermeture d'un évènement (an event was closed)the same count, on an event being closed.
Réponse à une question (answer to a question)the visitor picked a specific answer to a question.
Valider une question (validate a question)a question was validated with a "Correcte" (right) or "Erronée" (wrong) answer, your choice.
Réponse à un Questionnaire (answer to a question set)a question set's score sits between a "Pourcentage Min" and a "Pourcentage Max".
Seulement sur tablette de contrôle (control tablet only)the story is played on a trainer's control tablet (with a "Forcer l'affichage sur le web" option to force web display).
Jouer sur (played on)the story is played on the given support: web or headset.
Variablesa story variable has the expected value (equality for true/false and text; =, > or < for numbers and stopwatches).
Ouverture d'une scène (a scene was opened)a scene has been opened a certain number of times (comparator =, > or < and number of visits).
Triggera 3D object marked as a trigger has been activated. You designate a scene, then one of its triggers. Only Objet 3D events with both the "Mixed Reality object" and "Trigger" switches turned on appear in that list: there is no other kind of trigger. Reserved for "Réalité Mixte" projects.
Ligne disponible (lane available)the route line you designate has not yet been claimed by any headset. Reserved for "Réalité Mixte" projects, and the type only appears in the list if route lines have been defined. See Several visitors in the same room.
Niveau de batterie (battery level)the device battery is below, above or equal to the "Seuil (%)" (threshold) you set, according to the chosen comparator. Available in every story.
Sous condition (sub-condition)a group of two conditions, with their own AND/OR, is met. There is no further level: that group assembles exactly two conditions.
Conditions tab of an easystory360 event with the condition type selector
The "Conditions" tab: the type selector, and AND/OR combination.

The "Niveau de batterie" (battery level) condition does not behave like the others. Every other condition records an established fact: an answer given, a scene opened, a variable set. This one is re-evaluated continuously during playback. The event appears as soon as the comparison becomes true and disappears as soon as it is false again, for instance when the headset is plugged back in and its battery climbs back above the threshold. That is what makes it useful for a warning aimed at whoever is running the room: the panel shows itself and clears itself. It is available in every story, including those that are not in "Réalité Mixte". Its form asks for two things: a comparator among lower than, greater than and equal to, then a threshold as a percentage between 0 and 100. The add button stays inactive while either is missing.

As long as its conditions are not met, the event does not execute: a click on its point of interest goes nowhere, an automatic trigger is ignored. As soon as they are, it behaves like any other event. On the story map, navigation links under condition are marked with the "Conditionné" (conditional) type in the legend.

30One real case, then four mechanics step by step

Nothing beats a complete example. The one that opens this section was not invented for the wiki: it is taken as-is from a welcome scene built by a practitioner. The four mechanics that follow are variations on the same principle.

The real case: the avatar who speaks when asked to

What we want: on arrival in the scene, a filmed guide is already standing in the setting, at scale, motionless. A picto sits at their feet. The visitor clicks, the guide comes to life and delivers the welcome. Nothing starts on its own, but everything is already in place.

easystory360 360 rendering: a presenter filmed on a green screen, keyed into the setting, frozen, with a picto on the ground at their feet
What the visitor sees on arrival: the guide is there, frozen on the first frame of their video, and the picto waits at their feet. Note the ground shadow, which stops the figure from floating.

The variable: just one, of type Vrai/Faux (true/false), with an initial value of FAUX (false). It says one thing only: should the video be running, yes or no.

Three events, three roles:

EventActivationWhat it does
A reset variable eventAutomatique (automatic)On every entry into the scene it puts the variable back to FAUX. With no condition at all: it always fires.
The start pictoAu clic (on click)The object placed at the guide's feet. On click, it sets the variable to VRAI (true).
The guide's videoAutomatique (automatic)It appears on arrival but stays frozen: its "Condition de démarrage" (start condition) waits for the variable to be VRAI.

Where the trigger sits: on the first two events, "Général" tab, "Variables de déclenchement" (trigger variables) block. Two dropdowns, the variable and the value. That is all.

Trigger variables block of an easystory360 event: a Variable dropdown and a Value dropdown set to VRAI
The picto's "Variables de déclenchement" block: the variable switches to VRAI on click. The "Ajouter" (add) button lets you set several at once.

Where the condition sits: and this is where the build gets subtle. It is not in the "Conditions" tab. It is in the video's "Média" panel, below the transparency mask, in the "Condition de démarrage" block, which the platform defines for you: "La vidéo s'affiche en pause sur sa première image et démarre quand la condition est réalisée" (the video shows paused on its first frame and starts when the condition is met). That block only appears when the video's display mode is "Localisé" (localised): that is the mode a new video is born in, but switching it to "Premier plan" (foreground) makes the block disappear.

Start condition block of an easystory360 video, with an active condition group and a variable expected to be VRAI
The video's start condition: it waits for the variable set by the picto to switch to VRAI.

The green screen settings: the video was shot against a green screen, and the platform keys it out at playback. In the event's "Média" block, the "Fond vert" (green screen) sub-block gathers six settings: "Activer le fond vert" (enable green screen), "Ombre au sol" (ground shadow), the green screen colour shown as a swatch, then three keying sliders. The ground shadow is worth enabling: without it the figure seems to float above the setting. The three sliders are set by eye. "Tolérance" (tolerance) says how far a colour close to the green still counts as background: too high and it eats into the subject. "Douceur des bords" (edge softness) widens the transition between subject and void. "Anti-halo" (spill suppression) removes the green tint bleeding onto the outlines.

Green screen block of an easystory360 video event: enable green screen, ground shadow, background colour
The "Fond vert" block, below the media options. Above it: loop playback, open full screen and automatic closing.

One last, decisive setting: in the "Mode d'affichage" (display mode) block, the video is set to "Localisé" (located) rather than "Premier plan" (foreground), at a reduced size. That is what places it at a precise spot in the setting, at human scale, instead of pinning it in front of the visitor's eyes.

1. The door that only opens once the key is found

Goal: in the Boutique (shop), the staircase is only reachable once the key on the counter has been spotted. The right tool: a Vrai/Faux (true/false) variable.

  1. Open "Gestion des variables" (variable management) and create the variable CleTrouvee, type Vrai/Faux, initial value FAUX.
  2. In the Boutique scene, place an Image event "The club key", activation "Au clic" (on click), on the counter.
  3. On that event, "Ouverture / Fermeture" (opening / closing) tab, "Ouverture" section: in "Gestion des variables", set CleTrouvee to VRAI.
  4. Still in the Boutique, place the Vers une autre scène (to another scene) event leading to the Escalier (staircase).
  5. On that arrow, "Conditions" tab: add a condition of type Variables, with CleTrouvee = VRAI.

What the visitor experiences: until they click the key, the arrow to the staircase does not execute, the way is shut. As soon as they open the key image, the variable flips, and the same click on the arrow takes them upstairs. No error message is shown by default: to explain the block, add a Texte event "Find the key first", conditioned the other way round (CleTrouvee = FAUX).

2. The journey that forks on an answer

Goal: in the Hall, one question steers the visitor towards a beginner or expert route. The twist: here again, no variable is needed. The "Réponse à une question" (answer to a question) condition reads the chosen answer directly, and in any case a variable assignment placed on an answer could not receive a text value.

  1. In the Hall, place a Question à choix (choice question) "Have you played golf before?", activation "Automatique" on arrival in the scene.
  2. Give it two answers: "It is my first time" and "I play regularly". Neither is ticked as the right answer: there is no score here, only routing.
  3. Place two Vers une autre scène events: one towards the Préau (discovery route), the other towards the Vue drone (expert route).
  4. On the first arrow, "Conditions" tab: type Réponse à une question (answer to a question), the Hall question, answer "It is my first time".
  5. On the second arrow, the same condition, with the answer "I play regularly".

What the visitor experiences: they answer a harmless question, and only the arrow matching their answer works. It feels like a tailor-made journey; you only placed one question and two conditions, without a single variable.

3. The element that only appears on the second visit

Goal: when the visitor comes back to the Hall, a bonus content awaits them, absent on the first visit. The twist: here, no variable is needed, the "Ouverture d'une scène" (a scene was opened) condition counts the visits on its own.

  1. In the Hall, place the event to reserve for the second visit, for instance a Texte "Welcome back!", activation "Automatique".
  2. On that event, "Conditions" tab: add a condition of type Ouverture d'une scène, target the Hall scene, comparator >, number 1.

What the visitor experiences: on the first visit, nothing; the scene has only been opened once, the condition is not met. When they return to the Hall after a detour through the Boutique, the visit counter exceeds 1 and the personalised welcome shows up. The same recipe grants a reward to the persistent visitor, or avoids replaying an instruction already seen (reverse condition: comparator =, number 1).

4. The exit that requires the full tour

Goal: the end of the experience is only reachable after consulting three key contents, in any order. The right tool: three Vrai/Faux variables combined with AND.

  1. Create three Vrai/Faux variables, initialised to FAUX: ParvisVu, PreauVu, BoutiqueVue.
  2. In each of the three scenes, on the main content event (an instruction, a video...), "Ouverture / Fermeture" tab, "Ouverture" section: set the matching variable to VRAI.
  3. In the final scene, place the Fin de story (end of story) event (or a Debriefing set to "Au clic" with the "Fin de la Story" option: in "Automatique" that box is greyed out).
  4. On that event, "Conditions" tab: three conditions of type Variables (ParvisVu = VRAI, PreauVu = VRAI, BoutiqueVue = VRAI), combined with AND.

What the visitor experiences: they explore in whatever order they like; the exit only unlocks once the three contents have been seen. This is the mechanic of training journeys where nothing may be skipped, without imposing a visiting order.

31The "Ouverture / Fermeture" tab: chaining actions

The third tab of an event's settings panel describes what happens around it. On its Ouverture (opening): a dedicated sound ("Audio joué au déclenchement de votre événement", with its volume, overriding the global event sound), one variable to change ("Gestion des variables") and events to launch ("Evénements Déclenchés"). On its Fermeture (closing): one variable to change and events to launch ("Evènements exécutés"), with no audio block at all, since there is no closing sound. Each block acts on a single variable; to change several at once, chain a SetVariable event. The events offered are those of the current scene. This tab is what turns isolated events into a script. It is also here, together with the event's time range, that the moment the event appears is decided: that is the starting point of any animation built in the "Animation" tab.

Ouverture / Fermeture tab of an easystory360 event: audio, variable management, triggered events
The "Ouverture / Fermeture" tab: a sound, variables, events to trigger, for opening as well as closing.

Rather than a list of fields, here is a real sequence: the Hall welcome, where closing an instruction launches the audio commentary and unlocks the rest of the tour.

  1. Create the variable AccueilVu, type Vrai/Faux, initial value FAUX.
  2. In the Hall scene, place a Consigne (instructions) "Welcome to the club", activation "Automatique", at the start of the scene.
  3. On the Consigne, "Ouverture / Fermeture" tab, Ouverture section: pick a discreet chime in "Audio joué au déclenchement de votre événement" (audio played when your event fires).
  4. Fermeture section: in "Evénements Déclenchés" (triggered events), select the Audio event "Hall commentary" (placed in the scene, neither on click nor automatic: it waits to be triggered); in "Gestion des variables", set AccueilVu to VRAI.
  5. On the Vers une autre scène arrow leading to the Boutique, "Conditions" tab: type Variables, AccueilVu = VRAI.

What the visitor experiences: they arrive in the Hall, a chime accompanies the welcome message. They close it: the audio commentary starts at once, and the arrow to the Boutique becomes operational. Three actions chained on a single gesture, closing the window. The same logic extends at will: a triggered event can in turn, on its own closing, trigger others.

32The "Animation" tab: moving an event through time

The fourth tab of an event's settings panel gives it movement. A text sliding to the right as it fades, a 3D object growing as you approach, an avatar crossing the room, an image turning red at the critical moment: all of it is set here, with no code, by placing étapes (steps). It is also what lets you follow a moving subject in the scene: a label, an arrow or a halo placed on someone walking, on a vehicle driving past or on a machine at work stays attached to it throughout the shot, instead of sitting still while the picture moves.

The Animation tab open on an event, three steps placed, with the scene timeline
The whole Animation tab. Drag the panel's handle to widen it and the step summaries become readable.

The "Animation" tab is always visible, but it only becomes active for the six event types that occupy a place in space: Texte (text), Image, Vidéo (video), Diaporama (slideshow), Objet 3D (3D object) and Avatar. On the others, a sound, a navigation arrow, a headset setting, there is nothing to move: the tab stays greyed out and tells you why.

The Animation tab greyed out on a navigation event, with its tooltip open
On an event that occupies no place in space, the tab stays off and the tooltip lists the ones that do animate.

The mental model: steps, and what happens between them

A step describes a state at a precise moment: where the object is, how it is rotated, what size it is, what colour tints it, how opaque it is. You are not drawing a movement, you are placing markers, and the platform works out everything that happens between two markers. That calculation is what produces the animation.

Between two steps, every value moves steadily from one to the other. If step 1 puts the panel on the left and step 2 puts it on the right four seconds later, then at the second second it sits in the middle, with nothing for you to write. After the last step, the object stays in the state that step describes.

Three collapsed steps, each with its moment and a summary of what it changes
A whole animation reads without expanding anything: the moment on the left, what the step changes on the right.

One exception, and only one: images do not blend. When a step names a new image, it does not dissolve into the previous one, it replaces it outright the moment the step is crossed. Everything else, position, rotation, size, tint and opacity, moves continuously.

The first step is not yours to set

When you place your first step, the platform creates two: the starting state and the arrival state. The first carries a padlock and the words "Départ : à l'activation de l'événement" (starts: when the event appears). It is not a setting, it mirrors the event as you placed it in the "Général" (general) tab. Its moment cannot be edited either: it is the moment the event appears, set elsewhere, and the animation always starts from there.

The first step expanded, locked by a padlock, its sliders greyed out
The first step is a mirror, not a setting: padlock, fixed moment, and greyed sliders pointing back to the Général tab.

To change the starting state, change the event's position, rotation or size in the "Général" tab: the starting line follows. Every later step is yours to set freely, and to delete.

What moves: the point of interest, or the content

At the top of the panel, one line answers the question before you ask it: "Ce qui s'anime :" (what moves:), followed by the actual target. It changes with the event, and it is worth understanding.

  • An event that opens on click carries a point of interest, and that is what gets animated: the marker moves, grows and changes colour in the scene, before the visitor even opens it. The opened panel then follows it.
  • An automatic event, which shows on its own, has no marker to move: the animation then drives the content itself, the text panel, the image, the video or the slideshow.
  • An Objet 3D or an Avatar is placed in the scene rather than pinned to a marker: the model itself moves, and the point of interest stays put.
The "Ce qui s'anime : le hotspot" line at the top of the animation panel
The target is announced at the top of the panel. Here the point of interest moves, not the content.

What actually animates, and what does not

Each step opens three groups of settings, each behind a switch, and not all of them are available everywhere.

GroupWhat it setsAvailable
"Placement et taille" (placement and size)Position on three axes, rotation on three axes, and size. The sliders cover exactly the same range as those in the "Général" tab.On every step, except the first one, which is locked.
"Apparence" (appearance)Colour and opacity, brought together in a single picker.Everywhere, except on an Objet 3D and an Avatar, where it would have no effect.
"Contenu" (content)The image shown from this step onwards.Only on an Image event that shows on its own. On a click event, the marker is animated, not the image.
The Apparence group switched on, and the Contenu group struck through with its explanation
An unavailable group is never silent: it is struck through, and the reason is written right underneath.

What does not animate, worth knowing before you go looking: the text itself, sound, video playback, and the built-in appearance of 3D models. Animation moves, rotates, resizes, tints and varies opacity. It does not rewrite content.

Colour and opacity, one single gesture

The "Apparence" group offers a single line, "Couleur et opacité" (colour and opacity), which opens a palette with a transparency slider. Both settings live together because they are chosen together: opaque white changes nothing, transparent white is a fade, a transparent colour does both.

The colour and opacity palette, with its transparency slider and swatches
Colour and opacity are set in the same palette, the second slider, on a checkerboard, giving transparency.

The start, and how it meets the timeline

An animation never starts at the beginning of the scene: it starts when the event appears. That moment is set elsewhere, on the scene's timeline and in the "Ouverture/Fermeture" (opening/closing) tab, and the "Animation" tab reminds you of it on its first line. Move the event along the timeline and its whole animation moves with it, with no step to adjust.

The moments you type on the steps are still the ones you read on the timeline: the "Instant sur la timeline" (time on the timeline) field shows scene time, the one under your cursor, not an internal count. There is no arithmetic to do in your head. A step simply cannot come before the event appears.

Building an animation, gesture by gesture

  1. Place the event in the scene, at its starting position, in the "Général" tab.
  2. Open the "Animation" tab and click "Ajouter une étape ici" (add a step here). Two lines appear: the locked start, and an arrival one second later.
  3. Move the timeline cursor to the moment you want, move the object in the scene, then click "Ajouter une étape ici" again: the step takes the cursor's moment and the position you just gave it.
  4. Repeat as many times as you need markers. Three or four is almost always enough.
  5. Expand a step to correct a figure, or use "Reprendre la position actuelle" (use the current position) to give it the current placement without losing its moment.
  6. Check with "Voir cette étape" (show this step) on each line, then with "Prévisualiser" (preview) for the whole thing.

Repeat and path

Two settings at the top of the panel apply to the whole animation.

  • "Répétition" (repeat): "Aucune" (none) plays the animation once and stops on the last step. "En boucle" (loop) starts again from the beginning, with a visible jump if the start and the end do not match. "Aller-retour" (back and forth) replays the animation in reverse and never has that flaw: it is the safe choice for continuous movement, a hovering object or a swing.
  • "Trajectoire" (path): "Segments droits" (straight segments) joins the steps in straight lines, with a sharp angle at each one. "Courbe passant par les étapes" (curve through the steps) rounds the route while still passing exactly through every step. For organic movement, a bird, a character walking around an obstacle, choose the curve.
The repeat list open: Aucune, En boucle, Aller-retour
Repeat and path apply to the whole track. "Aller-retour" is the only choice that cannot produce a jump.

Checking your animation

Three complementary aids. "Voir cette étape" (show this step), the eye icon on each line, shows one step's state. "Prévisualiser" (preview), at the bottom of the panel, appears as soon as there is more than one step. And simply touching a setting brings the timeline onto the step concerned: you always see what you are changing, never a neighbouring moment.

An animation travels with its event: duplicating the event, or copying it and pasting it into another scene, carries all its steps.

33Question sets: grouping, scoring, debriefing

The questionnaire (question set) is a mechanism in its own right, not a mere event: it is a group of questions by theme, with its scoring scale and its hints, accumulating the points of every question attached to it, wherever they sit in the story. The whole thing has four storeys, and none of them can be guessed from the others. That is why this section reads as a walkthrough rather than a list of settings.

  1. Create the question set in the story options.
  2. Attach the questions to it, one by one, from each question.
  3. Set the scoring, answer by answer.
  4. Place a debriefing that reports on that specific question set.

Storey 1: create the question set

Story options, "Questionnaire" tab. The screen title says it plainly: "Créer vos questionnaires pour associer ensuite vos questions" (create your question sets, then attach your questions to them). The "Nouveau questionnaire" button adds a row, and the pencil switches it to edit mode. A question set carries three things: a "Nom du questionnaire" (name), a "Max Points", and a list of hints you fill in with the "Nouvel indice" (new hint) field and its + button.

The question set's name is its theme. A safety course might have "PPE", "Traffic" and "Lockout": three question sets, three scores, three possible debriefings.

Questionnaire tab of the easystory360 story options: new question set button and the list of question sets
The Questionnaire tab at rest: the create button, then the list, one row per question set.
Questionnaire tab of the easystory360 story options, a row in edit mode with name, Max Points and a new-hint field
The same row in edit mode, after clicking the pencil: its name, its maximum score, and the hint bank you fill one at a time.
  • QuizThe icon marking questions in the events menu. It is not what the visitor will see: in the scene, each event shows the icon you pick for it, from a library of a hundred and twenty, thirty-three of them in 3D and reserved for web publishing, plus the option of importing your own.

Storey 2: attach the questions and hand out the hints

Attachment does not happen from the question set, but from each question. Open the question, "Options" block, "Questionnaires" sub-block. Three settings live there: the "Appartenant au questionnaire" (belongs to the question set) dropdown, the "Donne un indice" (gives a hint) switch, and the "Indice pour répondre" (hint to answer) dropdown.

Neither hint setting ever targets one specific hint: both designate a question set, and therefore its whole bank. You write the hints once, at question set level, and each question then declares what it does with them. There are two directions, not to be confused: a question can give a hint, another can lean on the hints to be solved. This is the treasure hunt mechanic.

SettingWhat it does
"Appartenant au questionnaire" (belongs to the question set)Attaches the question to a question set: that is where its points go, and that is the hint bank the two settings below target. A newly created quiz question is attached to the "Global" question set by default.
"Donne un indice" (gives a hint)A switch: this question awards a hint from the targeted question set. It stays greyed out until a question set is chosen above, and it is off by default.
"Indice pour répondre" (hint to answer)Designates the question set whose hints act as help on this question. This is the opposite direction from the previous one: here the question leans on the help instead of producing it.

These three settings only exist on questions: single choice, multiple choice, open answer and hidden objects. The other events tied to a question set, such as the Debriefing or Bonus/Malus, attach to it for the score alone and have no hint setting.

Questionnaires block of an easystory360 question: belongs-to dropdown, gives-a-hint switch, hint-to-answer dropdown
A question's Questionnaires block: its attachment, and the two hint settings.

Do not confuse the questionnaire with the question set. The questionnaire belongs to a story: it groups questions already placed in scenes, and it carries their scoring. The set, described in "Mes quiz" (my quizzes), is a store kept alongside your library: it scores nothing and belongs to no story.

The Bonus/Malus event also targets a question set, in its Options block: it adds or removes points without asking a question. Creating several question sets therefore means keeping several scores in parallel, each with its own summary.

Storey 3: the scoring scale

Scoring is set as close to the answer as possible, and its shape changes with the question type. In a Question à choix (choice question), each answer has its own card, with a "Bonne réponse" (right answer) checkbox and a "Points" field. In a Question à réponse libre (open question), the points are carried by the question, through two separate fields: "Points en cas de bonne réponse" and "Points en cas de mauvaise réponse", the latter letting you penalise mistakes.

The question set's "Max Points" sets the reference total from which the debriefing's percentages are computed.

Storey 4: the debriefing

The Debriefing event renders the result. In its "Options" block, the "Options du score" (score options) sub-block carries the two settings that matter: "Score relatif à" (score relative to), the dropdown where you name which question set is being debriefed, and "Mode d'affichage" (display mode), a toggle between "pourcentage" (percentage) and "Points".

Score options block of an easystory360 debriefing: score-relative-to dropdown and percentage or points toggle
This is where the debriefing picks its question set, and how it announces the result.

The "Palliers" block, spelled that way in the interface, carries the messages. Good news: a debriefing arrives with three tiers already created, 0 to 32%, 33 to 65% and 66 to 100%. Each unfolds into a "Description", the message the visitor will see, and a range defined by a "Min (%)" and a "Max (%)". The "Nouveau feedback" button adds more.

Tiers block of an easystory360 debriefing, one tier unfolded showing its description and its Min and Max percentage range
The debriefing tiers, pre-filled on creation. A tier is a percentage range and the message that goes with it.

A score across several scenes, step by step

Goal: assess the visitor throughout the club tour, and adapt the final message to their result. No variable to create: the question set accumulates on its own.

  1. In the story options, "Questionnaire" tab: create the "Découverte du club" question set and set its "Max Points".
  2. In the Hall, place a Question à choix about the club's history; "Appartenant au questionnaire" option: Découverte du club; put the points on the right answer.
  3. In the Boutique, place a game of Objets cachés (find three pieces of equipment), attached to the same question set.
  4. In the Escalier, place a Question à réponse libre, also attached, with its right- and wrong-answer points.
  5. In the final scene, place a Debriefing: "Score relatif à" Découverte du club, percentage display, and three tiers, for instance 0 to 32 ("Come back and see us..."), 33 to 65 ("Not bad!"), 66 to 100 ("A true club member!"), each with its text, audio and, if you wish, triggered events. Tick "Fin de la Story" (end of story) if this summary closes the experience. That box is only offered on a debriefing set to "Au clic" (on click): in "Automatique" it is greyed out under the message "Désactiver car l'ouverture est automatique" (disabled because opening is automatic). So set the debriefing to "Au clic", for instance triggered by the closing of the last question or by a "see my result" picto, and set its activation before having it triggered by another event, as the choice then disappears.

What the visitor experiences: they answer along the tour, with no visible counter; at the end of the journey, the debriefing shows their score and the message of the tier they reached. Three scenes, three question types, one summary.

34"Mes quiz": a reusable store of questions

Quizzes are stored alongside your media library, not inside a story: they are therefore shared by all your stories, just like your images and sounds. A question that calls for an image will indeed look for it in that same library.

The page and its cards

The grid shows one card per set, preceded by the "Nouveau quiz" (new quiz) card. Below each card name comes the number of questions, then the translation progress for each of your working languages. A red badge in the top right corner counts the questions that need fixing: the set stays usable, but those questions would not work as they are. Three buttons sit at the bottom of a card: open the set, download it as a spreadsheet, delete it. The search field filters on the name.

The four question types

TypeWhat the participant doesWhat you fill in
"Choix unique" (single choice)Ticks one proposal only.The question text, the proposals, a single correct answer, the points.
"Choix multiple" (multiple choice)Ticks several proposals.The question text, the proposals, as many correct answers as needed, the points.
"Réponse libre" (free answer)Types an answer on a keyboard.The question text, the expected answer, the points for a correct and for a wrong answer.
"Objets cachés" (hidden objects)Clicks objects in the scenery.The question text, then the list of objects to find, with their image and their points.

These are the same four questions as in a story, and the entry screen is strictly the same one: type and format, time to answer, sound, proposals, points, correct and wrong answer feedback. You learn nothing new here, you find again the screen described in the input screens.

The editor of a set

Opening a card, or creating a set, shows a full screen. At the top, the set name, which is required. On the left, an optional description then the numbered list of questions: the + button adds a question and asks for its type, the two arrows move the question within the list, the bin deletes it. The selected question is shown on the right.

An incomplete question is flagged live: an orange badge for something to complete, a red badge for an error that would stop it working, and a "Points à corriger" (things to fix) box lists every issue below the question title. Empty question text, fewer than two proposals, no correct answer, several correct answers on a single choice question, an image missing from the library, a missing expected answer: the list is explicit.

What the store keeps, and what it leaves to the story

A stored question keeps everything that defines it on its own: the question text and its image, the type and the format, the proposals, the correct answers, the points, the correct and wrong answer feedback, the sound, the time to answer, the random answer order, showing the correction, the automatic exit and the zoom permission.

It keeps nothing that depends on a story: the link to a questionnaire, the hints, the events triggered by a feedback, the tracking identifier used by the export to your training platform, and the position of hidden objects in the scenery. Those are set when the question enters a scene.

Translating the questions

Above the question sits a row of tabs: a first tab for the writing language, then one tab per additional language declared on your profile. If you have declared no other language, the row holds only the first tab and a message says so; languages are declared on your profile page.

A language tab shows two columns: the source text field by field on the left, the matching translation box on the right. Each box has an assisted translation button. Two buttons act more widely, one on the current question, the other on the whole set: they only fill boxes that are still empty, so your own rereading is never overwritten. One counter shows progress question by question, another shows it for the whole set and is repeated below the card.

Importing questions from a spreadsheet

Two buttons sit at the top of the page. Start with "Télécharger la trame" (download the template): you get a workbook with two sheets, "Questions" where you fill in, and "Guide" which recalls the rule for each column. One row of the table equals one question. The "Importer (Excel)" button then takes the filled file back.

ColumnWhat it holdsRule
QuizThe name of the set the question goes into.Required. Rows sharing a name form one set.
TypeThe question type.Required. Six accepted values, see below.
QuestionThe text shown to the participant.Required.
"Réponse 1" to "Réponse 6" (answer 1 to 6)The proposals.For a single or multiple choice, text, at least two. For image proposals, the exact title of an image in your library. Not used for a free answer or for hidden objects.
"Bonnes réponses" (correct answers)The number or numbers of the correct proposals.A single number for a single choice, several separated by a semicolon for a multiple choice.
"Réponse attendue" (expected answer)The expected text.Free answer only, and required in that case.
PointsThe points for a correct answer.Optional, one point by default.
"Points mauvaise" (wrong answer points)The points taken off for a wrong answer.Free answer only, optional, zero by default.
"Feedback bonne réponse" (correct answer feedback)The message shown when the answer is correct.Optional.
"Feedback mauvaise réponse" (wrong answer feedback)The message shown when the answer is wrong.Optional.
"Image question" (question image)The exact title of an image illustrating the question.Optional. An image that cannot be found gives a warning, not an error.
"Temps (s)" (time in seconds)The time limit, in seconds.Optional, zero or empty for unlimited time.

The Type column accepts six values: QCU for a single choice, QCM for a multiple choice, QCU_IMAGE and QCM_IMAGE for the same questions with image proposals, QCO for a free answer, HOTSPOT for hidden objects. The file accepts up to six text proposals per question, and four image ones.

Column headings are recognised regardless of accents and capitals, and several wordings are accepted for the same role. An unknown column is ignored and reported to you; only the three required columns, when missing, stop the import outright.

Once the file is taken in, a check table opens before anything is saved. Every row gets a status: "valides" (valid), "à compléter" (to complete) or "en erreur" (with errors). The three counters at the top give the breakdown. The "Anomalies" (issues) column gives the reason, row by row, with the spreadsheet row number.

Two checkboxes govern the import. "Ne pas importer les questions en erreur" (do not import questions with errors) sets the red rows aside and lets the rest through. "Remplacer les questions des quiz existants" (replace the questions of existing quizzes) only appears when one of the sets in the file carries the name of a set that already exists; the names concerned are listed next to the box. The counter at the bottom always shows how many rows will actually be imported.

Exporting a set, fixing it offline, importing it back

The download button on a card produces a workbook in the template format, with two additions: one group of columns per translation language, whose headings carry the language code in brackets, and a last identifying column. You fix or translate at your own pace in the spreadsheet, then take the same file back through the import button.

Deleting a set

The delete button on a card asks for confirmation and recalls the set name. Deleting takes all its questions and all their translations with it, and it is final. Export the set first if you have the slightest doubt: the workbook you get is enough to recreate it.

Back to top