Aller au contenu principal

Dépannage

La plupart des problèmes ici ont l'une des quelques causes habituelles. Si quelque chose ne se comporte pas comme prévu, il y a de bonnes chances que ce soit sur cette page ; commencez par le haut, les deux premières entrées couvrent l'essentiel.

« Ça marche dans Preview mais pas dans l'éditeur »

C'est normal. L'éditeur n'exécute pas votre logique : ni scripts, ni patches, ni physique, ni minuteries, ni déclencheurs de proximité. Il dessine la scène et permet de la modifier.

C'est délibéré : une animation qui se joue pendant que vous travaillez vous disputerait le contrôle, et une minuterie écrirait des changements dans votre projet. Le comportement se vérifie dans Preview.

« Mon script ne démarre pas »

Passez la liste en revue :

  1. l'objet est activé, ainsi que tout ce qui se trouve au-dessus de lui dans la hiérarchie ;
  2. sa scène est active — dans un projet AR, cela veut dire que le marqueur a été reconnu ;
  3. le composant de script est activé ;
  4. vous êtes dans Preview ou une publication, pas dans l'éditeur.

Un script redémarre aussi quand vous changez l'un de ses réglages dans l'inspecteur, ce qui peut ressembler à un plantage.

« Je modifie un composant et il revient en arrière »

Deux causes probables.

Un état est actif. Tant qu'un état est sélectionné, vos modifications sont enregistrées dans cet état. Changer d'état restaure ensuite l'instantané. Si vous vouliez modifier l'objet lui-même, désélectionnez l'état.

Quelque chose possède cette propriété à chaque image. Une barre de timeline, un corps physique ou un look-at écrivent en continu et vous écraseront. Voir l'entrée suivante.

« Mon animation se bat avec une autre »

Deux mécanismes écrivent dans le même objet. La timeline écrit à chaque image et l'emporte toujours sur une transition.

Choisissez un seul mécanisme par objet. S'il vous faut une transition sur quelque chose que la timeline pilote, déplacez-la sur un objet enfant ou animez-la dans la timeline. → Animation

« Changer le matériau depuis un script ne fait rien »

Un matériau est une liste d'emplacements, donc material.update({ color }) écrit un champ qui n'existe pas à ce niveau. Écrivez l'emplacement :

material.update({
materials: [{ ...material.$data.materials[0], color: '#ff0000' }],
});

Cela vaut pour toute valeur imbriquée : update remplace ce que vous lui passez, alors reprenez ce que vous voulez conserver.

« Mon objet traverse le sol » / « le modèle n'est pas solide »

Un modèle importé n'a pas de forme de collision tant que vous ne lui donnez pas de collider. Ajoutez-en un : une boîte ou une capsule conviennent presque toujours.

Vérifiez aussi le sol lui-même : il lui faut un corps rigide et un collider. Une géométrie décorative nue n'arrête rien, on la traverse. → Physique

« Je fixe la position d'un objet physique et il m'ignore »

La physique possède la position d'un corps dynamique et la réécrit à chaque pas. Utilisez teleport pour le placer, et des impulsions ou des forces pour le déplacer.

« Mon interface n'apparaît pas sur la capture »

Les cartes se dessinent par-dessus la vue 3D, et une capture de la vue 3D ne les contient pas. Vérifiez l'interface dans Preview.

« Les valeurs de rotation ne correspondent pas »

Partout où vous les voyez — inspecteur, ports des nœuds de patch — ce sont des degrés. Les valeurs lues ou écrites depuis un script sont en radians. Convertissez à la frontière.

« J'appuie sur la touche et rien ne se passe »

Vérifiez la casse : les déclencheurs s'écrivent on-click, les étapes play_animation. Une faute de frappe ne produit pas d'erreur, elle ne correspond simplement jamais.

Si l'événement fait référence à une liaison de touches du projet, assurez-vous qu'elle existe encore : une référence vers une liaison supprimée ne retombe pas sur « n'importe quelle touche », elle cesse de se déclencher.

« Ça se déclenche deux fois »

Le même déclencheur est traité à deux endroits — dans un événement et dans un script, ou dans un événement et dans un patch. Choisissez-en un. → Événements

« Mon objet apparaît avec un temps de retard »

Les ressources se chargent alors que la scène tourne déjà, donc modèles, textures et textes arrivent un peu après l'ouverture. Pour du contenu qui doit être là dès la première image, évitez de dépendre d'un gros téléchargement ou gardez la scène masquée jusqu'à ce qu'il soit prêt.

« Il n'y a pas d'événement "animation terminée" »

Il n'existe dans aucun des mécanismes. Utilisez une étape d'attente de même durée, ou comptez le temps vous-même dans un script.

« Mon annulation a supprimé la modification d'un collègue »

L'historique d'annulation est le vôtre et strictement linéaire : il ignore qu'un collègue a modifié le même objet entre-temps. Sur une scène partagée, mieux vaut corriger en avant que revenir en arrière.


Toujours bloqué ?

Si rien ne correspond, la réponse se trouve le plus souvent dans les tableaux de référence — chaque réglage, généré depuis le moteur — ou dans Objets et scènes, qui explique le modèle sur lequel repose tout le reste.