les Assets
Vous avez créé une nouvelle scène et vous souhaitez maintenant importer des éléments dans votre jeu, ces éléments appelés « Assets » sont des tous les éléments utilisés pour votre scène ( script, textures, objets 3D, particules etc…) Lorsque vous avez fabriqué votre objets, enregistrez-le dans la dossier « Assets » de votre jeu, il apparaîtra automatiquement dans la fenêtre » ProjectView « du programme, si vous la sélectionnez, vous aurez des informations sur son contenu. A ce stade l’objet ne possède aucune propriétés en rapport avec votre jeu.
Pour ajouter votre objet 3D à votre scène, il vous faut le glisser dans la fenêtre Hierarchy ou directement dans la scène. L’objet sera du coup considéré comme un « Game Object » et le programme rajoute automatiquement un « Mesh Renderer Component » à votre objet. ( voir explication suivante)
Les Game Objects
Chaque élément de votre jeu est un GameObject mais ils ne font rien tous seuls, il faut leur attribuer des propriété pour qu’ils soient considérés comme des personnages, des éléments de décors, des armes…
On peut considérer un « GameObject » comme une boite vide dans laquelle on met différents éléments appelés « Components ». ( A l’image des clips dans flash) Les Components peuvent êtres des textures, du son, des scripts pour leur donner des comportements ou des formes.Attention, un GameObject n’a pas forçément une forme 3D qui lui est assignée, ce n’est qu’un boîte vide avec des coordonnées.
Pour résumer ce qui peut composer un GameObject:
- Une texture est appliquée à un Matériaux
- Un Matériaux est appliqué à un GameObject ( avec le « Mesh Renderer Component)
- Un animation est appliquée à un GameObject(Avec le componant Animation)
- Un fichier son est appliqué à un Game Object ( avec un componant Audio Source)
// Petite info sur les animations, ce qui est pratique c’est qu’une animation peut être directement importée depuis un fichier 3D et réutilisée dans Unity//
Les Components
Lorsque vous glissez votre Asset ou Mesh créé dans Maya dans la scène, vous avez donc un GameObject vide qui possède déjà quelques attributs: Un nom, un tag et un calque (layer)
Le premier Component qui s’affiche automatiquement dans l’inspecteur est celui appelé « Transform » qui vous indique la position, la rotation et l’échelle de votre objet dans la scène. Il crée également automatiquement un concept appelé « Parenting ». On peut dire à un GameObject, en le glissant sur un autre, d’être parenté à celui-ci. L’objet parenté se transforme maintenant en fonction de son parent ou « Root object », ses coordonnées sont également en fonction de l’objet principal.
Unity donne l’exemple suivant: Si dans un jeu d’horreur on veut un sympathique effet de lampe torche il suffit de parenter les transformations du spot de lumière à la lampe torche, ainsi lorsque la lampe bouge, le spot fait de même.
Modifier les paramètres d’un GameObject dans l’inspecteur
Dans l’inspecteur il vous est possible de modifier les components de plusieurs façons:
- Les valeurs: vous modifiez ici les propriétés numériques d’un objet( couleur, animation, sensibilité propriétés, les components)
- Les références: dans les propriétés d’un GameObject vous pouvez lui attribuer une référence, cela peut être un Fichier Audio ou un modèle Maya …C’est toujours noté quel type de fichiers peut être attribué.
L’inspecteur
Il est bon à savoir que vous pouvez avoir plusieurs Inspecteurs ouverts qui vous permettent de modifier plusieurs GameObjects de façon différente, vous pouvez par exemple décider d’en « Locker » afin que les attributs d’un objet soient toujours visibles mêmes si vous en sélectionnez un autre.
Les scripts
Les scripts sont considérés comme des « components » que vous créez vous-même, il sont codables en javascript, C#, et Boo. On fera un chapitre sur les scripts la prochaine fois.
Ajouter des components aux GameObject
- 1. Créez un nouveau GameObject: GameObject->Create Empty
- 2. Ajoutez un « component » « Rigid Body » à ce GameObject:Component->Physics->Rigidbody
- 3.Appuyez sur play: vous remarquerez que la position Y de ce GameObject chûte car le component rigid body lui a ordonné d’être influençé par la gravité.
vous pouvez ajouter un nombre infini de « Components » à un « GameObject » selon l’utilisation. Avec le » Rigid Body » vous pouvez par exemple ajouter un « Collider » afin qu’il interagisse avec d’autres « Colliders. »
Exemple: si deux cubes n’ont pas de Colliders , lorsqu’ils se rencontrent ils passent l’un à travers l’autre. Avec un Collider et le RigidBody ils reconnaîtrons qu’ils sont deux objets rigides et se rentrerons dedans.
Dans l’inspecteur vous pouvez donc modifier les paramètres de ces Components. Unity donne ici l’exemple d’un fichier audio rattaché à un GameObject.