FAQ Unity 3D
FAQ Unity 3DConsultez toutes les FAQ
Nombre d'auteurs : 3, nombre de questions : 89, dernière mise à jour : 16 juin 2021
- Quels sont les principaux panneaux affichés lors du lancement d'Unity ?
- Quels rôles jouent les petites icônes situées sous la barre de menu ?
- Quel est l'intérêt de disposer d'un GameObject vide (Empty) ?
- Comment renommer un GameObject ?
- Comment afficher mes GameObjects par ordre alphabétique dans la fenêtre 'Hierarchy' ?
- Comment faire en sorte qu'Unity ne démarre pas automatiquement sur le dernier projet utilisé (Unity < 5) ?
- Comment déplier totalement l'arborescence d'un GameObject dans la fenêtre Hierarchy ?
- Comment assigner une icône à mes GameObjects pour une meilleure visibilité dans mes scènes ?
- Comment réinitialiser les paramètres de transformation d'un GameObject ?
- Quelles sont les différences entre les tags et les layers ?
- Comment filtrer l'affichage dans ma scène afin d'alléger l'affichage de celle-ci ?
- Comment masquer ou afficher la grille dans la fenêtre Scene ?
- Comment centrer la vue sur l'objet sélectionné ?
- Comment obtenir de l'aide sur un composant ou un panneau de l'éditeur ?
- Où puis-je trouver l'ensemble des raccourcis de Unity ?
- Comment réinitialiser les caractéristiques d'un GameObject créé à partir d'un préfabriqué ?
- Comment aligner la vue de ma caméra sur celle de ma scène ?
- Comment copier le composant d'un GameObject vers un autre ?
- Qu'est-ce qu'est le mode 'Debug' dans la partie éditeur ?
- Comment déplacer un GameObject tout en suivant la résolution de la grille ?
- Comment connaitre l'ensemble des ressources employées par une de mes scènes ?
- Comment puis-je connaitre le nombre de sources de lumière utilisées dans ma scène ?
- Comment puis-je avoir accès au fichier de log de l'éditeur facilement ?
- Comment démarrer mon application en mode pause ?
- Comment connaitre globalement l'impact en termes de performance de mon application ?
- Quelles informations de base sont affichées dans la fenêtre Statistique ?
- Ayant personnalisé la disposition des principaux éléments d'affichage au sein de l'éditeur, comment puis-je récupérer le même affichage lors de prochaines sessions d'Unity ?
- Comment avoir deux onglets Project (ou plus) ?
- Comment filtrer mes éléments listés dans ma zone Project ?
- Quand faut-il utiliser le mode pivot et le mode local ?
- Comment taguer un ensemble d'objets à la fois ?
- J'ai déplacé mes objets, mais cela n'est pas sauvegardé... pourquoi ?
- Comment redimensionner automatiquement une vue défilante à la hauteur de son contenu ?
- Puis-je réorganiser le dossier Assets depuis le navigateur de fichiers de mon système d'exploitation ?
Lors de l'ouverture de l'éditeur, vous trouverez dans un premier temps cinq panneaux :
- Panneau 1, la scène : il s'agit de la zone dans laquelle vous allez placer et manipuler les différents éléments constituant votre scène (mesh, cameras, lumières, etc.).
- Panneau 2, fenêtre Game : c'est dans cette zone que vous pourrez visualiser ce que donne votre scène en mode Game. Cette partie ne s'animera qu'en mode Play.
- Panneau 3, la hiérarchie : contient la liste des GameObject présents dans votre scène.
- Panneau 4, fenêtre Project : contient l'ensemble des ressources importées et disponibles pour votre projet.
- Panneau 5, l'Inspector : affiche l'ensemble des paramètres et composants d'un GameObjet ou d'une ressource sélectionnés.
Elles sont au nombre de cinq :
- La main : permet de forcer le mode navigation dans votre scène.
- Les flèches : permettent de repositionner un objet sélectionné dans votre scène (translation).
- La rotation : permet d'appliquer une rotation à l'objet sélectionné.
- L'échelle : permet de changer la taille d'un objet sélectionné dans la scène.
- Rectangle : permet d'effectuer des changements de dimensions 2D (sprites, interface, etc.).
Comme son nom l'indique, un GameObject est un objet du jeu. Tous les éléments présents dans vos scènes sont à la base des GameObjects. Ils ont tous un composant commun qui est le Transform (visible dans la partie Inspector), contenant les informations de position, de rotation et d'échelle de chaque objet. L'intérêt de créer un GameObjet 'vide' peut être multiple. Par exemple, un objet vide pourra servir de parent à un ensemble d'autres GameObjects, permettant des regroupements, facilitant leurs manipulations. Cela peut permettre aussi de créer artificiellement un pivot pour un GameObject, que l'on rendra alors enfant de l'objet vide.
Il y a deux possibilités pour renommer un GameObject : en cliquant une seconde fois sur l'objet dans la fenêtre Hierarchy, ou en cliquant dans la partie contenant le nom de l'objet dans le panneau Inspector.
De base, les objets sont classés par ordre de création, vous pouvez aussi déplacer un objet dans la hiérarchie pour modifier sa position dans la liste. Maintenant, si vous souhaitez un affichage par ordre alphabétique, il vous suffit de placer le code de la classe AlphaNumericSort dans le dossier Editor (à créer dans la fenêtre Project s'il n'est pas déjà présent). Une fois cela fait, vous pourrez choisir l'ordre des éléments :
Immédiatement après avoir lancé Unity, maintenez la touche ALT enfoncée. L'assistant projet apparait alors, vous permettant de choisir soit l'ouverture d'un projet existant, soit la création d'un nouveau projet :
En maintenant la touche ALT au moment du clic sur l'objet à déplier, l'ensemble de l'arborescence du GameObject sera déplié.
Pour chaque GameObject, dans la partie Inspector, vous trouverez à côté de son nom une icône modifiable (sous la forme d'un petit carré bleu par défaut). En cliquant dessus, vous pourrez, soit affecter une icône de couleur à votre GameObject (contenant ou non le nom de l'objet), soit faire appel à une petite image de votre choix en guise de symbole.
Dans l'inspector, cliquez sur la petite roue dentée en haut à droite dans la zone Transform, et sélectionnez le paramètre à réinitialiser :
Les tags permettent d'identifier des objets ayant une même fonction ou une similitude. Ceci rend ensuite leur identification plus aisée depuis un script.
Par exemple, on peut imaginer attribuer un tag "Personnage" à tous les personnages dans une scène. Il suffit ensuite d'utiliser la fonction GameObject.
FindGameObjectsWithTag
(
"Personnage"
) pour obtenir la liste de tous les personnages présents dans la scène.
Les layers s'utilisent conjointement avec des fonctions liées au rendu de la scène ainsi qu'au moteur physique.
Ainsi, il est possible de choisir pour chaque caméra l'ensemble des layers qu'elle doit faire apparaître (Culling Mask). De même, chaque lampe peut voir son impact restreint à certains layers.
Dans le menu Edit → Project Settings → Physics, il est également possible d'ignorer les collisions entre certains layers.
Finalement, certaines fonctions dans un script peuvent être restreintes en fournissant un layer en paramètre.
Une des techniques consiste à passer par les couches (layers). Chaque groupe de GameObject pouvant posséder une couche spécifique, il suffit de filtrer l'affichage en passant par l'onglet Layers situé en haut à droite dans l'éditeur :
L'option d'affichage de la grille se trouve dans le menu Gizmo, situé dans la barre supérieure de l'onglet Scene :
Une fois un GameObject sélectionné dans la partie Hierarchy, pressez la touche 'F'.
La plupart des éléments de l'éditeur d'Unity possèdent un petit symbole de livre bleu dans le coin supérieur droit ; il renvoie à la section dédiée à la fonctionnalité de la documentation d'Unity.
L'ensemble des raccourcis clavier est disponible dans la documentation.
Pour ce faire, il faut appuyer sur le bouton Revert dans la zone Transform de l'inspector de l'objet sélectionné (l'option Select pointe directement sur le prefabriqué) :
Le GameObject Camera étant sélectionné, dans le menu principal GameObject, sélectionnez la commande 'Align with view' (commande valable pour tous les types de GameObject) :
Pointez la souris sur la petite roue dentée située en haut à droite du composant que vous souhaitez copier. Faites un clic droit, puis dans le menu sélectionnez Copy Component. Sélectionnez le GameObject sur lequel vous souhaitez copier le composant. Sur l'un des composants déjà présents, pointez la souris sur la petite roue dentée située en haut à droite, et dans le menu sélectionnez l'option Paste Component As New. Cette action peut aussi s'appliquer à un groupe de GameObjects. Le même genre d'action peut aussi être effectué uniquement pour copier les valeurs d'un composant (dans ce cas, sélectionnez Paste Component Values).
Il est possible d'afficher certaines informations non formatées au sein de l'inspector (identifiant des instances, quaternion brut au niveau du Transform, etc.). Pour cela, il faut passer en mode Debug. L'option est accessible en haut à droite de l'onglet Inspector, et affiche le petit menu déroulant :
Pour déplacer un GameObject par rapport à la grille, maintenez la touche Ctrl enfoncée lors des mouvements de déplacement de votre objet. Vous pouvez changer les paramètres de résolution de la grille en passant par le menu de l'éditeur Edit ->Snap Setting :
Sélectionnez la scène souhaitée dans la zone Project de l'éditeur. Ensuite, faites un clic droit, puis sélectionnez dans le menu déroulant l'option Select Dependencies :
Dans la partie Hierarchy, il est possible de filtrer l'affichage en fonction du nom des GameObjects ou à partir du type de composant qu'ils peuvent contenir, comme les sources de lumière :
Il est possible d'envoyer dans l'éditeur de texte par défaut de votre système le fichier log complet de l'éditeur. Pour cela, la console étant affichée, dans le menu déroulant proposé en haut à droite de la console, sélectionnez le menu Open Editor Log:
Pour ce faire, il suffit de cliquer d'abord sur le bouton Pause et en suite sur le bouton Play.
En mode Game, vous pouvez activer l'affichage Statistics, qui vous fournira un certain nombre d'informations très intéressantes sur les performances courantes, ainsi que sur les ressources employées par votre application :
Cette fenêtre fournit un certain nombre de données, dont les plus couramment utilisées sont : le nombre d'images par seconde (FPS), le nombre de Draw Calls (en résumé, le nombre de modèles affichés après l'application du batching), le nombre de triangles et de sommets affichés, le nombre de textures employées ainsi que leur place en mémoire.
Il faut sauvegarder votre disposition en passant par le menu Layout, en haut à droite de la fenêtre principale de l'éditeur, et sélectionner le menu Save Layout :
L'éditeur offre une grande souplesse en termes d'organisation, et il est parfaitement possible de dédoubler certaines zones. Dans le cas de l'onglet Project, pointez sur le menu déroulant de l'onglet, situé en haut à droit, puis sélectionnez dans les menus déroulants : Add Tab -> Project :
Certains projets peuvent comporter plusieurs centaines de ressources différentes. Il est donc possible de filtrer l'affichage des éléments dans la partie Project. Dans l'onglet Project, en haut à droite, vous disposez de trois icônes vous offrant des options de filtrage. La première icône permet un filtrage par Type, la deuxième permet un filtrage par Label, et la troisième icône va vous permettre de sauvegarder dans la zone Favorites (en jaune à gauche) un type de recherche que vous êtes amené à faire fréquemment et à laquelle vous pourrez alors accéder rapidement d'un seul clic.
Le mode Pivot/Center permet de choisir si les changements (plus particulièrement les rotations) doivent se faire sur le point pivot de l'objet ou par rapport à son centre géométrique. Le monde Global/Local permet de choisir l'espace de transformation. En mode Global, il sera toujours aligné sur les axes X/Y/Z, alors qu'en mode Local il sera aligné sur l'objet lui-même. Ce type de choix sera utile, par exemple, lors du positionnement d'une arme (comme une épée) dans les mains d'un personnage, sa manipulation en mode local et à partir du point pivot (situé en général sur le manche), sera plus intuitif qu'en restant en mode global à partir du centre de l'objet.
Il est possible de changer les propriétés communes d'un ensemble de GameObjects (comme les tags par exemple). Pour ce faire, sélectionnez l'ensemble des GameObjects à traiter, et modifiez dans l'Inspector la (ou les) propriété(s) souhaitée(s).
En mode Play, il est possible d'apporter des modifications à sa scène, ainsi qu'aux composants des GameObjects qui la constituent. Maintenant, certains de ces changements (comme les déplacements) ne seront pas sauvegardés lors du retour en mode édition. Cela dit, certaines de ces modifications (comme pour les Material par exemple) seront conservées, même une fois de retour en mode édition.
Vous avez un composant de type UIScrollView et vous souhaitez que celui-ci adapte sa hauteur pour correspondre à son contenu. Pour ce faire, vous devez ajouter les composants « Vertical Layout Group » et « Content Size Filter » à votre vue. Ensuite, définissez la propriété « Vertical Fit » du « Content Size Filter » à « Preferred Size ».
En principe, il faut éviter toute manipulation dans le dossier Assets en dehors de l'éditeur d'Unity. En effet, le changement de nom ou d'emplacement d'une ressource en dehors d'Unity aura pour effet de faire perdre tous les liens entre les ressources concernées (par exemple, perte du lien entre un Material et un Prefab qui l'utilise).
En revanche, effectuer ces modifications depuis l'éditeur d'Unity est sans risque, car l'éditeur pourra mettre à jour les liens entre les différentes ressources.