Ecole Informatique Grenoble » Tutoriel Unity n°4 : Premier script
Plan du site  
français  English
pixel

Blog du campus SUPINFO Grenoble

Tutoriel Unity n°4 : Premier script

Publié le 12 juin 2017 dans Actualités

Premier script

 

Bonjour à toutes et à tous!

Heureux de vous retrouver pour de nouvelles aventures dans Unity. Précédemment, nous avons vu ce que qu’est un GameObject ainsi que certains components (propriétés). Aujourd’hui, nous allons réaliser un script sur notre GameObject c’est-à-dire du code.

Dans un précédent tutoriel, nous avons établi que nos scripts seront en C# et nous allons utiliser Visual Studio (Monodevelop marche aussi bien). Dans la section « project », créez un dossier script puis aller dedans et créer un script C#.

Ouvrez votre script en double cliquant et attendait que votre IDE se charge. On remarque que notre script possède deux méthodes :

  • Start : réalisé au démarrage de notre application.
  • Update : il en existe deux types
    • Méthode update : modification à chaque frame.
    • Méthode fixedUpdate : fonctionne zéro, une, ou plusieurs fois par frame (nous y reviendrons plus tard).

Dans Unity, modifiez la position de notre cube via le transform de notre cube grâce à l’inspecteur. Par exemple ceci :

Grace à la méthode start,nous allons le remettre en position (0,0,0). Le script sera relié à ce GameObject donc notre « this » fera référence à lui. Il suffit ainsi de modifier le component transform de notre cube.

Dans un premier temps, nous allons lier notre script à ce GameObject. Pour cela, on ajoute un component et cherchez la ligne « scripts », vous trouverez votre script puis cliquer. On obtient ceci :

 

Nous allons remettre notre cube en place dès le début de notre application. On va alors modifier Start comme ceci :

Le « this » (pas obligatoire) , comme dit plus haut, fait référence à notre GameObject. Pour le mettre en (0,0,0), il faut modifier le transform et modifier sa position, d’où le « this.transform.position ». Il attend donc en retour un objet de Vector3 quel’on initialise toute les coordonnées à 0. Lancez et observez : votre cube est à la position souhaitée.

Notre objectif maintenant est de le faire bouger en contitue d’un point à un autre. On va du coup modifier Update.

Nous voulons qu’il bouge jusqu’à x = 5 puis quand il a atteint cette position, il change de direction et se dirige vers x = -5 et fais cela en boucle. Voici le code :

Dans notre update, on vérifie alors que notre x <= 5 et on le bouge vers la gauche. Quand notre x atteint 5, il faut changer la direction de mouvement de notre cube, d’où les deux booléens. On fait la même chose dans l’autre sens. La méthode Translate fait juste une translation. Elle possède un paramètre qui contient un Vector3. Ce paramètre est l’option de translation. Ainsi, vu que l’on veut bouger sur l’axe x et vers la gauche, vous verrez que « Vector3.right » correspond au vecteur 1,0,0. Le « Time.deltaTime » est le temps en secondes qu’il a fallu pour compléter la dernière frame.

La méthode start est donc pratique pour initialiser certaines valeurs au début de notre appli (ici modifier la position de notre cube). Update, quant à lui, est exécutée en permanence, d’où le mouvement de gauche à droite puis droite à gauche en permanence.

Maintenant dans Unity, créez un nouveau cube et associez lui le script. Commentez dans le script le contenu de start. Mettez un cube en coordonnée 0,0,0 et un autre en 1,1,0.

Lancez votre application et observez. On remarque que nos deux cubes sont indépendants !

 

Une dernière chose avant de terminer ce tutoriel. Ajoutez une variable speed de type int dans notre script mais en public. Puis dans update, modifiez le paramètre de « transform.translate » en faisant une multiplication avec notre variable speed.

Allez sur Unity, sélectionnez un cube et regardez son script. Il possède maintenant une variable speed que l’on peut modifier via Unity. Sur le premier cube, mettez cette variable speed à 1 et sur le deuxième à 2. Lancez et observez.

En mettant une variable sur un script, notre GameObject peut donc avoir un tout autre comportement (ici, la vitesse de déplacement diffère).

 

L’article de la semaine prochaine portera sur les GameObjects.

 

Bon développement!

Rencontrez SUPINFO Grenoble

Rencontrez-nous à l'occasion des Journées Portes-Ouvertes (JPO) organisées dans l'ensemble des campus SUPINFO en France et dans le monde.

Rencontrez SUPINFO Grenoble

Contactez SUPINFO Grenoble

Vous avez besoin d'informations complémentaires sur l'établissement ? Vous désirez parler à une conseillère d'orientation ou obtenir une adresse régionale ?

Contactez SUPINFO Grenoble
A propos de SUPINFO | Contacts & adresses | Conditions d'utilisation & Copyright | Respect de la vie privée
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels