Aller au contenu principal

Objets et scènes

Tout votre projet est fait d'objets, et ce sont les scènes qui décident quand ces objets apparaissent. Voici comment objets, composants et scènes s'articulent.

« Objet » et « entité », c'est la même chose

L'éditeur parle d'objet (object). Le moteur et l'API de script parlent d'entité (entity). Cette documentation n'emploie entité que lorsqu'il est question de code.

De quoi est fait un objet​

Un objet contient deux sortes de choses :

  • Les composants sont ses réglages. Ils décident de ce qu'est l'objet : son nom, sa position, son apparence, ce à quoi il réagit. Un objet ne peut avoir qu'un seul composant de chaque sorte.
  • Les objets enfants sont d'autres objets placés à l'intérieur. Chaque enfant a ses propres composants.

Voici une lampe avec quatre composants :

Objet  "Lampe"
├── Meta son nom, si elle est activée, si elle est visible
├── Transform où elle se trouve, comment elle est tournée, sa taille
├── Model quel modèle 3D dessiner
└── Events ce à quoi elle réagit

Ce sont les noms utilisés par le moteur. L'inspecteur affiche Meta sous le nom General.

Voici la même lampe avec une ampoule à l'intérieur. L'ampoule est un objet à part, avec ses propres composants :

Objet  "Lampe"
└── Objet "Ampoule" ← un objet à part
├── Transform ← avec ses propres composants
└── Light

Une vraie scène ressemble à ceci. Les composants suivent chaque nom, et les enfants sont décalés sous leur parent :

Objet  "Salon"          ◆ Anchor          ← une scène : elle a une ancre
│
├── Objet "Lampe" ◆ Transform ◆ Model ◆ Events
│ └── Objet "Ampoule" ◆ Transform ◆ Light
│
└── Objet "Table" ◆ Transform ◆ Model ◆ RigidBody ◆ Collider

Tout ce qui figure sur ce schéma est un objet. Ce sont ses composants qui décident s'il s'agit d'une scène, d'une lampe ou d'un corps physique.

Composant ou objet enfant ?

Utilisez un composant pour une propriété de l'objet lui-même. Utilisez un objet enfant pour une chose distincte qui doit se déplacer avec lui.

Déplacer la lampe déplace l'ampoule, parce que l'ampoule est dans la lampe. Retirer le composant de modèle de la lampe ne retire pas l'ampoule.

Construire des objets avec des composants​

Il n'existe pas de liste de types d'objets parmi lesquels choisir. Vous combinez des composants pour obtenir ce qu'il vous faut :

Donnez à un objet……et vous obtenez
une géométrie + un matériauune forme visible
une référence de modèleun modèle 3D importé
un composant de lumièreune lumière
un composant de texteun texte
un corps rigide + un colliderun objet que la physique peut déplacer
une ancreune scène
un script ou un patchun objet doté d'un comportement

Voici par exemple comment faire une balle qui rebondit :

  1. Ajoutez une géométrie en sphère et un matériau. La balle devient visible.
  2. Ajoutez un corps rigide et un collider. La balle tombe et rebondit.
  3. Ajoutez un script. La balle peut maintenant faire quelque chose quand elle touche le sol.

Chaque composant ajoute une capacité. Retirez le composant, et la capacité disparaît avec lui.

Scènes, objets et logique de l'espace​

Vous croiserez trois sortes d'objets. Ils ne se ressemblent pas, mais ce sont tous des objets, avec des composants différents :

Ce que c'estCe qu'il aCe qu'il n'a pas
Une scèneune ancre, et des enfantsun transform
Un objet ordinaireun transform, et tout ce dont il a besoinune ancre
Un comportement de l'espaceun script ou un patch, et aucun parentun transform, une ancre

Une scène n'a pas de transform, parce que sa position vient de l'objet réel auquel elle est ancrée. Un comportement de l'espace n'a pas de transform, parce qu'il n'est placé nulle part dans le monde. C'est uniquement de la logique qui continue de tourner.

Un seul composant de chaque sorte

Besoin de trois matériaux sur un même modèle ? Utilisez les slots de son composant de matériau. Besoin de deux exemplaires d'autre chose ? Utilisez des objets enfants. Une lampe à deux ampoules, c'est un objet lampe avec deux enfants.

Chaque objet a aussi un nom, pour que vous puissiez le retrouver, et peut avoir un parent : l'objet dans lequel il se trouve.

Activé et visible​

Dans l'inspecteur, les interrupteurs Enabled et Visible se ressemblent, mais ils ne font pas la même chose.

  • Désactivé, l'objet sort de l'expérience. Il n'est pas dessiné et on ne peut pas le toucher. Ses scripts s'arrêtent et ses événements ne se déclenchent plus. Tout se passe comme s'il n'existait pas.
  • Invisible, l'objet n'est simplement plus dessiné, et on ne peut plus le toucher. Il est toujours là : ses scripts continuent de tourner, et la physique le heurte toujours s'il a un collider (voir ce qui compte comme solide).

Par exemple :

  • Un mur invisible qui arrête quand même le joueur : rendez-le invisible.
  • Une récompense qui apparaît plus tard : laissez-la désactivée jusqu'au moment voulu.

Parents et enfants​

Les objets forment un arbre. Quand vous déplacez un parent, ses enfants le suivent et gardent leur place par rapport à lui. C'est ainsi que l'on construit tout ce qui a plusieurs pièces : une carrosserie qui contient quatre roues se déplace comme une seule voiture.

Supprimer un objet supprime tout ce qu'il contient

Ses enfants sont supprimés aussi, ainsi que leurs propres enfants. Pour en garder un, faites-le d'abord glisser hors de l'objet.

Vous ne pouvez pas placer un objet à l'intérieur d'un objet qu'il contient déjà. L'éditeur ne le permet pas.

Une scène est le sommet de son arbre. Chaque objet que vous ajoutez à une scène se trouve dans l'objet de la scène, directement ou à l'intérieur d'un autre objet. Tout autre objet sans parent n'appartient à aucune scène. Il appartient à tout l'espace, comme l'explique Logique pour tout l'espace plus bas.

Scènes et ancres​

Une scène est un objet doté d'une ancre. L'ancre décide quand la scène apparaît :

AncreVotre scène apparaît quand…
imagela caméra reconnaît une image imprimée
qrun QR code est scanné
geole visiteur se trouve à un endroit donné
faceun visage est détecté
surfacele visiteur la pose sur un sol, un mur, un plafond ou une table
panoramaun environnement à 360° s'ouvre
3dtout de suite : c'est une scène 3D normale, sans AR
Le VPS est une option de l'ancre surface

Le VPS place le contenu à l'aide d'une carte scannée d'un lieu réel. Ce n'est pas un type d'ancre à part. Configurez une scène surface, puis activez le VPS.

Plusieurs scènes sur un même marqueur​

Les scènes qui ont le même déclencheur (la même image, le même QR code ou le même lieu) forment un groupe. Une seule scène du groupe s'affiche à la fois.

Servez-vous-en pour raconter une histoire. La même affiche ouvre le premier chapitre, puis, plus tard, le deuxième. Il vous suffit de changer la scène active du groupe.

L'éditeur ajoute deux événements pour afficher et masquer une scène : on-detect l'affiche et on-lost la masque. Ce sont des événements ordinaires, que vous pouvez modifier. Vous pouvez par exemple garder le contenu à l'écran quand le marqueur sort du champ de la caméra. Les visiteurs préfèrent généralement cela : sinon, le contenu disparaît dès que leur main tremble.

Réglages d'une scène surface​

Les scènes surface ont trois réglages distincts, faciles à confondre :

  • Les surfaces acceptées : sol, mur, plafond, table.
  • La façon de placer le contenu : automatiquement sur une surface détectée, ou à l'endroit que le visiteur touche.
  • Le moteur de suivi : ce réglage ne compte que sur le web. Dans les applications natives, il n'a aucun effet.

Logique pour tout l'espace​

Un objet doté d'un comportement et sans parent n'appartient à aucune scène. Il appartient à tout l'espace. Il continue de tourner pendant que les scènes vont et viennent, et il reçoit tous les événements, où qu'ils se produisent dans l'espace.

Utilisez-le pour un compteur de points, un contrôleur global, ou pour retenir ce que le visiteur a choisi. Un script placé dans une scène s'arrête dès que cette scène s'arrête.

Comment l'éditeur désigne les objets​

L'éditeur affiche des étiquettes comme model, primitive ou text. Il choisit l'étiquette d'après les composants de l'objet, qu'il examine dans cet ordre :

référence de splat             → splat
model + skinning → animated model
model → static model
video → video ← examiné avant geometry
text → text
audio → audio
light → light
geometry → primitive
tout le reste → object

Un plan qui lit une vidéo porte donc l'étiquette video, et non primitive. Vous ne pouvez modifier le matériau et la géométrie que sur les primitives et les modèles statiques.


Suivant : Composants — ce que contrôle chaque composant.