You are on page 1of 15

Prsentation de Unity 3D :

Unity est un moteur 3D de cration de jeux/d'applications, qui intgre le PhysX de Nvidia.


Il n'est pas un modeliseur, mais fonctionne avec une scne 3D grant lumires, shaders, camras.
Il permet l'insertion de code dans diffrents langages, allant du javascript au C-sharp, sparment ou
mme simultanment. Des plug-ins d'aide la cration sont intgrs au soft, tel un gnrateur de
terrain, de vgtation, ou encore des packs prfaits facilitant le contrle du joueur, des camras etc...
Unity utilise un systme de drag and drop dans son interface, ainsi qu'un systme d'Assets,
sortes de clips pour ceux qui ont dj utiliss Flash.
Intuitif et puissant donc, il prsente l'norme avantage d'autoriser une publication multi-plateformes
(Playstation3,Xbox, Wii, PC/MAC, WebPlayer, iOS,Android).

La version de base du logiciel, gratuite, permet de se faire la main et de pouvoir malgr tout,
mener des projets plutt complexes ! Par rapport la version dite pro seuls vont manquer des
options de rendu, d'optimisation en rgle gnral. Nous utiliserons pour ce cours cette version
gratuite.

Le meilleur moyen de cerner les capacits d'un moteur 3D/2D restant l'exemple :
iOS : ShadowGun, Battleheart (2D), Guerilla Bob, Samurai II
PC : MonkeyQuest (mmo), Tron Legacy LightCycle, Max and the Magic Marker
Wii : Max and the Magic Marker

La communaut, notamment US, est hyperactive et recense sur le site officiel un trs grand nombre
de tutoriaux, conseils, partage de ressources et dispose mme d'un store en ligne proposant des
assets pouvant tre trs utiles ( interaction avec facebook par exemple) a se passe ici :
www.unity3d.com
La communaut franaise est beaucoup moins active mais grce la contribution norme de Krys,
propose nanmoins normment de tutoriaux et est mis jour trs rgulirement.
www.unity3d-france.com

Des sites communautaires recensent bon nombre de jeux raliss par des amateurs, parfois des
pros :
www.wooglie.com www.blurst.com www.musegames.com
Nous allons faire un tour de l'interface de Unity, comprendre comment s'organisent les
fentres, cerner les principes fondamentaux de fonctionnement, puis nous lancer dans un petit
exercice pratique.
1) Les fondamentaux
On cre un nouveau projet :
Nous allons organiser l'interface par Windows>Layouts> 2by3
En haut au centre de notre 2by3, trois boutons, play, pause, et image par image permettent de tester
en temps rel le projet. Quand ce dernier est en mode play, les modifications, dtions, ne seront pas
enregistres.
Dtaillons d'abord succinctement chaque partie :
De gauche droite :
-La scne : C'est l'diteur du projet, reprsent par une scne 3D dans laquelle on peut naviguer,
disposer ses objets.
-Le game Player : Li la scne, c'est en fait la vue de la main Camera, les interactions sont
possibles, une vraie prvisualisation du projet final sans passer par un build .
-Hierarchy : Une liste des objets prsents sur la scne actuelle, permet aussi de crer des lments
via un menu contextuel.
-Project : Le dossier qui contient toutes les ressources du projet, celles qui sont importes
apparaissent ici.
-Inspector : Le cur de Unity : tout est gr ici, du scripting aux paramtres au sens large de tous
les lments du projet.
Nous allons voir maintenant plus en dtail les parties qui composent la zone de travail, en
commenant par la Scene.
2) La Scene

De base, une main camera est prsente sur la scne.
Crons un cube pour mieux visualiser les fonctionnalits du player : menu gameObject > create
other > cube

a) Comment naviguer dans la scne 3D ?























clic gauche : slectionne un objet, fait apparatre par dfaut les axes de position, le clic de
base de manire gnrale pour l'dition.
clic droit : en le maintenant enfonc et en bougeant la souris, on bouge une camra centre
sur le monde
alt+clic gauche : en le maintenant enfonc et en bougeant la souris, on bouge une camra
centre sur l'objet slectionn
clic milieu : glisse la vue, raccourci en fait de l'outil main
appui sur barre espace : passe la zone slectionne ( player ou scene par exemple) en mode
plein cran
la touche f permet de faire un focus sur l'objet pralablement selectionn ( nous le
verrons plus tard, quivaut galement au double clic dans la hierarchy sur objet)
molette centrale : zoom, dzoom
les axes x,y,z permettent de passer sur la vue norme correspondante en cliquant dessus, un
clic sur le cube passe la vue en perspective.








de gauche droite : dplacement vue, dplacement objet, rotation et scale > tous les
paramtres de rotation/position/scale sont rglables dans l'inspecteur
b)Les lments d'onglet de la Scene
De gauche droite :






le type d'affichage : mode filaire, textur, filaire+textures etc...
modes : RGB (classique), les autres modes permettent de cibler une fonction prcise
(mipmaps, alpha ou overlays)
active/dsactive : les lumires prsentes sur la scne, la grille et lments GUI ( interface),
les sons.
Iconification de la scne : active/dsactive les icnes prsentes sur la scne, permet
galement d'en choisir la taille. Trs pratique pour visualiser rapidement des lments prcis
dans les scnes complexes.


En cliquant sur l'objet main camera sur la scne ( ou dans la hierarchy), une petite fentre apparat,
affichant ce que visualise la camra. C'est la vue que nous avons dans la prochaine zone que nous
allons dcouvrir, le player.

3) Le player
Vritable test en temps rel du projet, sans passer par un build ( qui peut prendre un certain
temps suivant la l'ampleur du projet). Nous pouvons tester ici l'interactivit qui sera celle de la
version finale du projet. Le player se lance l'appui de la touche Lecture, en haut au milieu de
l'interface de Unity.

a) L'aspect du player : contient les formats les plus rpandus ainsi que les formats spcifiques la
plateforme sur laquelle nous dveloppons ( pour un projet iOS par exemple, on aura les formats de
l'iphone 3gs, 4, de l'ipad etc...)

b) Les autres lments d'onglet
De gauche droite :

active/dsactive le mode plein cran du player
la pop-up stats est un compte-rendu dtaill technique du projet, elle affiche par
exemple le nombre d'images par secondes, le nombre de faces calcules dans la scne, ou encore
l'utilisation en mmoire vido. Cette pop-up est trs importante dans la comprhension de
l'optimisation d'un projet ( notamment pour iOS).

Iconification du player, fonctionnant exactement comme dans la Scene que nous avons
vue juste avant

4) La Hierarchy

C'est la liste des lments prsents sur la scne. Les lments peuvent y-tre renomms, dupliqus,
copis etc...Un double clic sur un lment de la liste, par exemple sur notre cube, fait un focus sur
l'objet en question, trs utile dans les scnes complexes. En haut gauche de la zone Hierarchy on
trouve un menu droulant Create , qui est en fait un raccourci du menu GameObject > Create
Other. Dtaillons le pour voir les possibilits de cration qu'il nous offre :

Particle systems : gnrateur d'effets, allant de la pluie l'explosion, grce aux particules,
modifiables par la physique

Camera : cre une camra, de base en projection perspective, qui peut-tre aussi
orthographique, pour les projets 2D par exemple
>> Les lments GUI sont indpendants de la scne 3D et non-affects par la camra.
GuiTEXT : couche 2D de texte, systmatiquement au dessus des lments 3D de la
scne, utilis gnralement pour les interfaces

GuiTexture : couche image 2D, qui comme le GuiTEXT, sera au dessus de la couche 3D
3DText : le texte est sous la forme d'une mesh 3D, il est donc affect par la camra
>>Les lments lumires peuvent afficher leur rayonnement via l'inspecteur

ci




DirectionnalLight : lumire diffuse type soleil, rglable notamment par la rotation de celle-

PointLight : lumire linaire
SpotLight : lumire type spot classique, diffuse sur une zone restreinte
Primitives : cration de primitives de bases incluant, cube, sphere, capsule, cylindre et plane
Clothes : Module de cration de corps mous , utilis notamment pour les vtements,
interagit avec la physique


AudioReverbZone : Zone de rverberation du son
Ragdoll : Module de cration de pantin articuls intgrant un sytme d'ossature complet,
interagit avec la physique


Tree : Module de cration d'arbres ralistes, interagit avec la physique
WindZone : Zone physique de vent
5) Le Project

Il liste toutes les ressources du projet, des sons, textures aux meshs 3D, tout y est. Les ressources
qui sont importes, de Unity ou de l'extrieur apparaissent ici. Cette zone se gre comme un
vritable bureau, autorisant la cration de dossiers, le classement des ressources, etc... C'est
galement l qu'on retrouve les diffrentes scnes du projet, reconnaissables par le logo Unity de
leurs icones.
Un clic droit dans cette zone permet d'afficher un menu droulant, raccourci du menuAssets.
Le projet est une vritable fentre ouverte sur votre ordinateur : il est tout simplement le dossier
physique de votre projet. Par consquent, effacer un fichier depuis Projet l'effacera galement
physiquement de votre ordinateur. Unity met ainsi jour le projet en temps rel, au fur et mesure
qu'on glisse dans le dossier projet des nouvelles ressources.
Tout comme la Hierarchy, le Project dispose d'un menu create : Dtaillons le galement.

Folder : cration d'un dossier vide
Code : cre un fichier script qui peut-tre du javascript , Boo, C# ou encore un script
permettant la cration de shaders
Prefab : un objet qui stocke diffrents GameObjects avec sa propre hierarchie, pour les
utilisateurs de flash, purement un MovieClip


Material : paramtres concernant la texture applique sur un lment 3D
Les autres possibilits ne rentrent pas dans une formation initiation
Ala cration d'un nouveau projet, Unity demande si l'on veut importer ou non des packages pr-
faits qui vont faciliter le dveloppement du projet. Par exemple un controller FPS ( que nous
utiliserons dans l'exercice de cette formation), ou encore un script de camra. L encore et au mme
titre qu'une ressource importe, ces packages apparaissent dans la zone Project, ce sont les assets.
Ne pas hsiter dans Project agencer sa guise les prefabs, textures etc...pour se retrouver
facilement.

Avant de nous lancer dans la pratique, regardons en dtail la dernire zone de l'interface de Unity,
l'Inspector.














6) L'inspector

Le panneau Inspector est le point nevralgique de Unity, le principal outil pour ajuster chaque
lment des objets de jeu et des ressources de votre projet. Tout comme lInspecteur de proprits
dans Flash, le contenu de ce panneau est sensible au contexte.Autrement dit, il affiche les
proprits correspondant lobjet slectionn. Dans le cas de notre Cube, nous voyons s'afficher
toutes les informations relatives sa position, sa taille, sa rotation etc...
Le panneau Inspector affiche tous les composants de llment slectionn ce qui permet den
ajuster les variables laide dlments simples comme des zones de saisie de texte, des curseurs,
des boutons et des menus droulants. Beaucoup de ces variables utilisent galement le systme de
glisser-dposer de Unity, ce qui signifie quavec cette mthode vous pouvez dfinir des paramtres
plutt que de slectionner une valeur dans un menu droulant, si cela est plus pratique.
Ce panneau na pas uniquement pour rle dafficher les lments qui composent les objets. Il peut
galement afficher les prfrences de votre projet selon loption que vous slectionnez dans le menu
Edit (Edition). Les proprits des composants saffichent ds que vous slectionnez de nouveau un
objet ou une ressource.
Aprs ce tour global des zones ( panneaux) de l'interface de Unity, nous allons mettre la main la
pte en crant un mini-projet qui consistera pouvoir diriger un personnage en vue 1re personne
sur une le entoure d'eau modelise par vos soins.
7) L'exercice
Crons un nouveau projet par File > New Project... : une pop-up apparat proposant de cocher ou
non des packages qui seront imports ensuite. Nous allons en cocher quatre pour notre exercice.
Dans les lments qu'il nous faut : - le module terrain pour modeler l'le



le module water (basic) pour grer l'eau autour
skyboxes qui va crer lenvironnement ciel
et enfin character controller qui embarque ( entre autres) une
camra 3me personne et une maniabilit simple


On clique sur Create Project toujours dans la pop-up pour valider. Un chargement indique que les
packages sont imports dans le projet. Sachez qu' tout moment ces packages peuvent tre
rimports en interne viaAssets > Import Package.


a)Le terrain
Nous venons d'importer le module terrain la cration du projet, nous allons retrouver le menu du
mme nom dans ceux de Unity. On clique sur Terrain > create terrain. Un objet plane apparat : il
faut rajuster la camra de la scne pour mieux le visualiser en cliquant sur le cube ( vue
perspective) des axes de la scne.


Pour diter ce terrain, on clique sur son nom dans la hierarchy ou directement sur l'objet plane sur la
scne. Pour centrer la vue sur lui, double clic sur terrain dans la hierarchy.
Nous retrouvons dans l'inspector les paramtres lis au terrain :


































Le composant Terrain comprend sept sections, qui sont facilement accessibles laide des boutons
situs en haut du composant :
Voici un rapide aperu de leurs capacits respectives.
-Loutil Raise/Lower Terrain (elever/abaisser le terrain) Il permet dlever certaines zones sur
lesquelles vous peignez laide de loutil Transform
Vous pouvez galement dfinir le style de brosse, la taille et lopacit (efficacit) de la dformation
que vous effectuez. Pour obtenir leffet contraire, savoir un abaissement de la hauteur, appuyez en
mme temps sur la touche Maj.
-Loutil Paint Height (peindre jusqua hauteur) Il fonctionne de manire analogue loutil
Raise/Lower Terrain mais il possde un paramtre supplmentaire : Height.
Cela signifie que vous pouvez dfinir la hauteur que vous allez peindre. Lorsque la zone de terrain
dont vous modifiez llvation atteint la hauteur spcifie, elle saplatit, vous permettant de crer
des zones planes.
-Loutil Smooth Height (adoucir les deniveles) Il sert principalement en complment dautres
outils, comme Paint Height, pour adoucir les dnivels abrupts de la topographie.
-Loutil Paint Texture(peindre des textures) Il sutilise pour peindre les textures sur la surface du
terrain (nommes Splats) dans Unity.
Avant de peindre avec des textures, vous devez dabord les ajouter la palette dans la zone Textures
de cet outil. Pour cela, cliquez sur le bouton Edit Textures :
SlectionnezAdd Textures puis, dans le menu droulant Splat, choisissez un des fichiers de texture
actuellement dans votre projet et dfinissez les paramtres de taille de la texture choisie.
Nous pouvons ajouter plusieurs textures dans cette mme zone. La premire sera par exemple
peinte sur tout le terrain par dfaut. En combinant ensuite plusieurs textures de diffrentes opacits
et en peignant la main sur le terrain, vous pouvez donner un aspect raliste tous les types de
surface.
Pour choisir la texture avec laquelle peindre, cliquez simplement sur son aperu dans la palette : un
contour bleu lencadre alors.
-Loutil PlaceTrees (disposer des arbres) Comme son nom lindique, cet outil permet de placer,
la souris (en peignant ou par de
simples clics), des arbres sur le terrain, aprs que les ressources utiliser ont t dfinies.
Comme pour les textures de loutil Paint Texture, cet outil dispose dun bouton Edit Trees pour
ajouter, modifier et supprimer des ressources de la palette.
-Loutil Paint Details (peindre des details) Il fonctionne dune manire analogue loutil Place
Trees, mais il est conu pour travailler
avec des objets de dtails comme les fleurs, les plantes, les rochers et le feuillage de petite taille.
-Terrain Settings (les parametres de terrain) La section Terrain Settings du composant Terrain
(Script) contient diffrents para-
mtres pour le dessin du terrain par le GPU (processeur graphique) de lordinateur.
Ces trois dernires parties sont peu dtailles car nous n'allons pas les utiliser dans notre exercice.
Pour nous aider modeler le terrain et surtout pouvoir mieux visualiser les reliefs nous pouvons
crer une lumire, la plus rpandue tant la directionnal light, nous allons dans GameObject >
create other > Directionnal Light. On peut ajuster sa direction par la rotation d'un de ses axes, la
directionnal tant une lumre globale, sa position dans l'espace n'aura aucun effet sur l'clairage.
Notre lumire tant maintenant pose et le terrain textur, nous pouvons crer notre zone d'eau.
b) L'Eau
L encore donc, l'lment eau est un package prfabriqu, nous allons le retrouver dans la zone
Project : dossier StandardAssets > Water (Basic) > Daylight Simple Water (nous avons le choix
dans cette version basique de ce package eau , entre une version jour ou nuit de l'lment ).
On glisse ce Daylight Simple Water du Project dans la Hierarchy. Un double clic sur ce
GameObject dans la hierarchy nous fait le focus sur la scne d'un disque bleu :
De base, il est assez petit ( surtout par rapport au terrain), nous allons donc le scaler grce l'outil :
Nous entourons l'ilt par la mer, en rajustant la hauteur, la taille si besoin.
Jusqu' une certaine distance, les effets lis l'eau sont quasiment invisibles, il nous faut zoomer de
manire importante dans la scne pour apercevoir que l'eau est en fait anime. Nous allons pouvoir
agir sur la taille et la vitesse des vagues via l'inspector. Notez que l'animation est ralise en
textures, ce n'est pas directement une dformation de la mesh ( soucis d'optimisation ). Tout est
donc modifiable, de la teinte de l'eau, jusqu' sa couleur de rflexion.
Il nous manque une zone de ciel pour tre un peu plus immerg dans notre scne.
c) Le ciel
La manipulation est un peu diffrente pour l'lment ciel. Nous allons aller chercher les paramtres
dans le menu Edit > Render Settings . Dans l'inspector droite de notre interface, nous allons
chercher un pack de texture en cliquant sur Skybox Material :
On prend par exemple, la Skybox Sunny 3. Le ciel est appel skybox car c'est en fait une boite,
compose de six faces, parfaitement lies entre elles : nous pouvons observer cela en cliquant sur
StandardAssets > Skyboxes > Sunny3 Skybox. L'inspector affiche les six textures sparment.
Nous passons volontairement sur la cration personnalise de skybox, trop complexe et peu utile
pour notre tutoriel !
Voil ce quoi pourrait ressembler notre dcor au final :
Posons maintenant notre personnage, qui sera sous la forme d'une camra mobile, une vue la 1re
personne.
d) Le personnage
Ici nous allons utiliser l'asset Character Controller que nous avons import la cration du projet.
Nous allons le rcuprer dans le Project > StandardAssets > Character Controller > First Person
Controller. Faisons glisser ce GameObject du Project jusqu' la Hierarchy.
Il se prsente sur la scne, sous la forme d'une camra. Dans l'inspector nous notons qu'il s'agit
d'une camra scripte avec quatre paramtres :






































Nous allons nous contenter de ces paramtres de base dans notre exercice, mais succinctement :




character controller : gre la taille du personnage, la longueur des pas etc...
mouse look : gre la maniabilit souris, la sensibilit, l'angle de vue maximum/minimum
character motor : concerne la physique du dplacement de manire dtaille
fpsinput controller : le script qui permet d'utiliser les flches du clavier pour se dplacer, la
barre espace pour sauter
Il nous faut placer la camra de Character Controller sur un morceau de notre le pour dcider du
point de dpart de notre personnage. La gravit va se charger de le recaler sur le sol, plaons le donc
simplement au dessus d'une zone terrestre dans notre scne.
Appuyons sur play dans le controller en haut au centre de l'interface de Unity : Vous pouvez bouger
la camra avec la souris et diriger votre personnage avec les fleches du clavier dans le dcor que
vous venez de modeliser !
N'hsitez pas changer les valeurs de vitesse du mouvement si vous trouvez votre personnage trop
lent par exemple, en cliquant dans la Hierarchy sur l'objet Character Controller puis en modifiant
les paramtres dans l'Inspector. Pour la vitesse de dplacement par exemple, nous avons modifi les
valeurs de Max Forward Speed, Max Sideways Speed et Max Backwards Speed 10 ( 6 de base) :
e) La publication
C'est bien de pouvoir tester dans le player intgr Unity mais en faire une vritable application
indpendante serait encore mieux ! Testons maintenant la publication.
Comme nous l'expliquions en introduction vous avez votre disposition plusieurs plateformes
d'export possibles, dans notre cas nous allons choisir PC and MAC Standalone par ici :
Menu File > Build Settings...
Slectionnons PC and Mac Standalone puis cliquons sur Build. La publication des projets dans
Unity est appel build . Selon la complexit de votre scne, le chargement va prendre plus ou
moins de temps. On dcide du nom final de notre application et de l'endroit o nous voulons
l'enregistrer.
Retrouvons le projet publi sur notre ordinateur et lanons le, cette fentre apparat :
Vous pouvez dcider de la rsolution et de la qualit du jeu, cette dernire impactant sur la finesse
des ombres, lumires, particules, de la physique ou encore des shaders. Pour notre projet nous
pouvons sans soucis le lancer en qualit Fantastic et au maximum de la rsolution de l'cran que
nous utilisons, tant le projet est simple.
Flicitations ! Vous avez cre votre premier projet en Unity 3D!

You might also like