Chapitre 1.2 : GameObjects, Components et Transforms #
Dans ce chapitre, nous allons succinctement voir les éléments fondamentaux qui constituent une scène dans Unity, à savoir les GameObjects, les Components et les Transforms.
GameObjects #
Tout objet dans une application Unity est un GameObject1, comme par exemple un Mesh, une Camera ou une Light.
Cependant, ils n’offrent aucune fonctionnalité à proprement parler.
En effet, les GameObjects ne sont en fait que des Containers pour des Components.
Il est important de noter que tout GameObject doit pouvoir être positionné dans la scène.
Ainsi, ils contiennent tous au moins un Component de type Transform.
En particulier, un Empty, qui représente donc un GameObject vide, contient un Component de type Transform.
En allant dans le menu GameObject / Create Empty, le GameObject ainsi créé ressemble à ce qui suit dans l’Inspector :
Un GameObject est donc formé de la façon suivante :
- la zone contenant les paramètres relatifs au
GameObjecten lui-même; - le
Transformattaché à toutGameObject; - le ou les
Componentsreprésentant les véritables fonctionnalités duGameObject; - Enfin, durant le développement d’un projet, il est très souvent utile de pouvoir rapidement désactiver des
Componentsou même desGameObjects. Ceci peut se faire simplement depuis l’Inspectoren les activant ou les désactivant.
Layers #
Les Layers permettent de grouper des GameObjects selon des critères spécifiques.
Par exemple, on peut regrouper tous les GameObjects qui représentent des ennemis dans un Layer nommé Enemies.
On peut aussi filtrer les GameObjects affichés dans la scène en fonction de leur Layer.
Pour créer un layer, il faut aller dans le menu Edit / Project Settings / Tags and Layers et ajouter un nouveau Layer.
Ensuite, il suffit de sélectionner un GameObject et de lui attribuer le Layer voulu dans l’Inspector.
Components #
Comme dit précédemment, les véritables fonctionnalités d’un GameObject sont données par les Components2 qui lui sont associés.
Pour ajouter un Component à un GameObject3, il faut aller dans le menu Component et choisir le Component désiré.
Par exemple, pour pouvoir contrôler un GameObject avec de la physique, il faut lui rajouter le Component RigidBody dans le menu Components / Physics / Rigidbody :
On peut aussi rajouter un Component à un GameObject directement depuis l’Inspector en cliquant sur le bouton Add Component :
Component que l’on souhaite rajouter, et Unity nous affiche automatiquement ceux disponibles.
Il est intéressant de noter que si l’on crée un Empty, et qu’on lui rajoute un Component de type Light, alors Unity le considère comme une Light à part entière et affiche le gizmo associé :
Transforms #
Le Transform 4 est certainement le Component le plus important pour un GameObject.
Il permet de définir tous les paramètres de transformation du GameObject comme sa position, son orientation et ses échelles.
Ce Component est tellement important qu’il n’est pas possible de le supprimer d’un GameObject.
Les gizmos permettent de modifier un Transform simplement et rapidement :
Les Transforms peuvent être imbriqués les uns dans les autres : on parle de Parenting ou de relation Parent-Child.
Toute transformation contenue par à un Transform est automatiquement appliquée à tous ces enfants (Children).
La vidéo suivante montre comment modifier un Transform, comment les parenter, et comment les séparer :