SlideShare a Scribd company logo
1 of 19
Unity 3D :
le guide du
débutant
Démarrer son projet de jeu
3D avec Unity.
Présentatio
n de Unity
• C’est le moteur de jeu le plus populaire
au monde.
• Vous pouvez créer des jeux 2D ou 3D
pour toutes les plateformes.
• La programmation se fait avec C# ou
simplement en « visual scripting » avec
Bolt par exemple.
Configurer les outils
• Téléchargez Unity HUB depuis
http://unity.com.
• A partir du HUB, installez une
version de Unity (pensez à installer
Visual Studio également).
• Sélectionnez les plateformes pour
lesquelles vous souhaitez
développer puis lancez l’installation.
Créer un projet depuis Unity HUB
• Rendez-vous sur le menu
« Projects », cliquez sur « New »
puis choisissez votre configuration.
Prenons par exemple un projet 3D.
L’interface de
Unity
• L’interface est découpée en
plusieurs zones :
• La scène pour créer vos
niveaux
• Le jeu pour visualiser le rendu
final
• Le projet avec vos assets
(ressources)
• La hiérarchie avec les assets
utilisées dans la scène actuelle
• L’inspecteur pour afficher les
propriétés de l’objet sélectionné.
Ajuster l’interface
• Vous pouvez ajuster votre
environnement de travail à votre
guise.
• L’outil layout permet de changer
l’interface en 2 clics.
• En mode « 2 by 3 » vous aurez une
interface similaire à la mienne.
Importer des assets 3D
Pour créer un jeu il vous faut des assets. Unity accepte tous
les formats 3D mais le FBX est le plus approprié.
Pour ajouter des ressources, faites-les glisser/déposer de
votre ordinateur vers la fenêtre projet de Unity.
Vous pouvez également trouver des assets sur l’asset store
de Unity3D.
Récupérer
les assets
de mon
projet
• L’article de blog, les tutoriels
vidéo/texte ainsi que les ressources se
trouvent sur mes sites web :
• https://formation-facile.fr/creation-dun-jeu-
dexploration-en-3d-avec-unity-et-blender/
(Article complet + code + assets)
• https://unity3d-dev.com/cours/creer-un-jeu-
dexploration-3d-avec-unity-et-
blender/lessons/preparation-des-textures/
(Cours vidéo avec player évolué)
Utiliser les modèles 3D
• Pour ajouter un modèle 3D à la scène, faites-le glisser du projet
vers la scène ou vers la hiérarchie puis vous pourrez ajuster le
modèle.
Créer un
personnage
• Dans mon exemple le personnage
jouable sera un bateau. Faites le
glisser sur la scène.
• Avec le bateau sélectionné, ajoutez
via la hiérarchie les composants
RigidBody et MeshCollider avec
les mêmes réglages que moi.
• Ces composants permettent de
travailler avec la physique.
Créer un script et
l’ajouter à un objet
• Pour créer un script : clic droit sur
le projet puis « Create/C# Script ».
• Nommez votre script et faites le
glisser sur l’objet qui doit posséder
ce script, en l’occurrence, le
bateau.
• Pour éditer un script, double
cliquez dessus et modifiez le code
sous Visual studio.
• Quand vos variables sont en public,
vous pouvez modifier la valeur
depuis l’inspecteur.
Les scripts à créer
Il vous faudra créer un script « CamFollow » à placer sur la
caméra. Ce script permettra de gérer la caméra.
Il faut un script « BoatCtrl » sur le bateau qui sera chargé de
gérer le déplacement du bateau (via les touches du clavier).
BoatCtrl.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BoatCtrl : MonoBehaviour
{
public float speed = 1.5f; // Vitesse bateau
float force; // Avant / arrière
float dir; // Gauche / droite
Rigidbody rb;
private void Start()
{
rb = GetComponent<Rigidbody>(); // Récupérer le rigidbody
}
void FixedUpdate() // tourne en boucle 60 images/Sec
{
// Calcul force & direction en fonction des flèches du clavier
force = Mathf.SmoothStep(force, Input.GetAxis("Vertical"), Time.deltaTime * 10);
dir = Mathf.SmoothStep(dir, Input.GetAxis("Horizontal"), Time.deltaTime * 5);
// On applique la velicité au rigidbody pour avancer
Vector3 velocity = new Vector3(0, force * speed, 0);
rb.velocity = rb.transform.TransformDirection(velocity);
// On applique la rotation pour la direction
Vector3 angularVel = new Vector3(0, dir * speed/2 , 0);
rb.angularVelocity = angularVel;
}
}
CamFollow.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CamFollow : MonoBehaviour
{
// Objet à filmer (bateau à faire glisser dans la variable de l’inspecteur
public Transform target;
public Vector3 offset; // Décalage cam par rapport à target
void Start() // Se lance au début du jeu
{
// Calcul de l’offset
offset = transform.position - target.position;
}
void LateUpdate() // Tourne en boucle
{
// On positionne la caméra pour filmer l’objet
transform.position = target.position + offset;
}
}
Tester le jeu
• Cliquez sur le bouton « Play »
en haut de l’interface.
• S’il n’y a aucune erreur, le jeu
se lance et vous pouvez
contrôler le bateau avec les
flèches du clavier.
• Pour voir le tutoriel, visitez le
lien vers mon site web donné
plus haut.
Qui suis-je ?
• Anthony Cardinale, Ingénieur en
informatique et développeur certifié
de jeux vidéo.
• J’ai publié de nombreuses
formations vidéo sur Udemy ainsi
que des livres sur Unity.
http://anthony-cardinale.fr
Pour aller plus loin
• Retrouvez près de 80 heures de
cours vidéo sur le développement
de jeux vidéo sur ma page Udemy.
• Je vous conseille de commencer par
ma formation ultra complète.
• Si vous préférez la 2D, consultez
plutôt ce cours.
• Si vous souhaitez « Créer sans
coder », je propose ce tutoriel
utilisant bolt.
Merci !

More Related Content

Similar to Unity 3D : Guide débutant

Presentation SAE402.pdf
Presentation SAE402.pdfPresentation SAE402.pdf
Presentation SAE402.pdfbeaudeux
 
Interface texte plein écran en Go avec TView
Interface texte plein écran en Go avec TViewInterface texte plein écran en Go avec TView
Interface texte plein écran en Go avec TViewOSInet
 
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...Publicis Sapient Engineering
 
ToulouseJS - Javascript multiplayer game
ToulouseJS - Javascript multiplayer gameToulouseJS - Javascript multiplayer game
ToulouseJS - Javascript multiplayer gameCyrille Bogaert
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8Microsoft
 
Fastlane snapshot presentation
Fastlane snapshot presentationFastlane snapshot presentation
Fastlane snapshot presentationCocoaHeads France
 
Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformepprem
 
Exemple d'utilisation de la génération GWT
Exemple d'utilisation de la génération GWTExemple d'utilisation de la génération GWT
Exemple d'utilisation de la génération GWTFrédéric Menou
 
Automatisez vos tâches répétitives avec Grunt (Blend 2013)
Automatisez vos tâches répétitives avec Grunt (Blend 2013)Automatisez vos tâches répétitives avec Grunt (Blend 2013)
Automatisez vos tâches répétitives avec Grunt (Blend 2013)Corinne Schillinger
 
Réaliser un webcast
Réaliser un webcastRéaliser un webcast
Réaliser un webcastLibcast SAS
 
Creation de jeux en ligne suib-i.com
Creation de jeux en ligne suib-i.comCreation de jeux en ligne suib-i.com
Creation de jeux en ligne suib-i.compierota
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Fred Brunel
 

Similar to Unity 3D : Guide débutant (20)

Presentation SAE402.pdf
Presentation SAE402.pdfPresentation SAE402.pdf
Presentation SAE402.pdf
 
Interface texte plein écran en Go avec TView
Interface texte plein écran en Go avec TViewInterface texte plein écran en Go avec TView
Interface texte plein écran en Go avec TView
 
Native script
Native scriptNative script
Native script
 
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
 
ToulouseJS - Javascript multiplayer game
ToulouseJS - Javascript multiplayer gameToulouseJS - Javascript multiplayer game
ToulouseJS - Javascript multiplayer game
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8
 
Fastlane snapshot presentation
Fastlane snapshot presentationFastlane snapshot presentation
Fastlane snapshot presentation
 
Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateforme
 
Exemple d'utilisation de la génération GWT
Exemple d'utilisation de la génération GWTExemple d'utilisation de la génération GWT
Exemple d'utilisation de la génération GWT
 
Introduction au WebGL
Introduction au WebGLIntroduction au WebGL
Introduction au WebGL
 
Aspectj
AspectjAspectj
Aspectj
 
NodeJs in real life
NodeJs in real lifeNodeJs in real life
NodeJs in real life
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 
Automatisez vos tâches répétitives avec Grunt (Blend 2013)
Automatisez vos tâches répétitives avec Grunt (Blend 2013)Automatisez vos tâches répétitives avec Grunt (Blend 2013)
Automatisez vos tâches répétitives avec Grunt (Blend 2013)
 
Réaliser un webcast
Réaliser un webcastRéaliser un webcast
Réaliser un webcast
 
Creation de jeux en ligne suib-i.com
Creation de jeux en ligne suib-i.comCreation de jeux en ligne suib-i.com
Creation de jeux en ligne suib-i.com
 
Gwt final
Gwt finalGwt final
Gwt final
 
WPF.pptx
WPF.pptxWPF.pptx
WPF.pptx
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
 
Logiciels 3d-112-ktcufc
Logiciels 3d-112-ktcufcLogiciels 3d-112-ktcufc
Logiciels 3d-112-ktcufc
 

Unity 3D : Guide débutant

  • 1. Unity 3D : le guide du débutant Démarrer son projet de jeu 3D avec Unity.
  • 2. Présentatio n de Unity • C’est le moteur de jeu le plus populaire au monde. • Vous pouvez créer des jeux 2D ou 3D pour toutes les plateformes. • La programmation se fait avec C# ou simplement en « visual scripting » avec Bolt par exemple.
  • 3. Configurer les outils • Téléchargez Unity HUB depuis http://unity.com. • A partir du HUB, installez une version de Unity (pensez à installer Visual Studio également). • Sélectionnez les plateformes pour lesquelles vous souhaitez développer puis lancez l’installation.
  • 4. Créer un projet depuis Unity HUB • Rendez-vous sur le menu « Projects », cliquez sur « New » puis choisissez votre configuration. Prenons par exemple un projet 3D.
  • 5. L’interface de Unity • L’interface est découpée en plusieurs zones : • La scène pour créer vos niveaux • Le jeu pour visualiser le rendu final • Le projet avec vos assets (ressources) • La hiérarchie avec les assets utilisées dans la scène actuelle • L’inspecteur pour afficher les propriétés de l’objet sélectionné.
  • 6.
  • 7. Ajuster l’interface • Vous pouvez ajuster votre environnement de travail à votre guise. • L’outil layout permet de changer l’interface en 2 clics. • En mode « 2 by 3 » vous aurez une interface similaire à la mienne.
  • 8. Importer des assets 3D Pour créer un jeu il vous faut des assets. Unity accepte tous les formats 3D mais le FBX est le plus approprié. Pour ajouter des ressources, faites-les glisser/déposer de votre ordinateur vers la fenêtre projet de Unity. Vous pouvez également trouver des assets sur l’asset store de Unity3D.
  • 9. Récupérer les assets de mon projet • L’article de blog, les tutoriels vidéo/texte ainsi que les ressources se trouvent sur mes sites web : • https://formation-facile.fr/creation-dun-jeu- dexploration-en-3d-avec-unity-et-blender/ (Article complet + code + assets) • https://unity3d-dev.com/cours/creer-un-jeu- dexploration-3d-avec-unity-et- blender/lessons/preparation-des-textures/ (Cours vidéo avec player évolué)
  • 10. Utiliser les modèles 3D • Pour ajouter un modèle 3D à la scène, faites-le glisser du projet vers la scène ou vers la hiérarchie puis vous pourrez ajuster le modèle.
  • 11. Créer un personnage • Dans mon exemple le personnage jouable sera un bateau. Faites le glisser sur la scène. • Avec le bateau sélectionné, ajoutez via la hiérarchie les composants RigidBody et MeshCollider avec les mêmes réglages que moi. • Ces composants permettent de travailler avec la physique.
  • 12. Créer un script et l’ajouter à un objet • Pour créer un script : clic droit sur le projet puis « Create/C# Script ». • Nommez votre script et faites le glisser sur l’objet qui doit posséder ce script, en l’occurrence, le bateau. • Pour éditer un script, double cliquez dessus et modifiez le code sous Visual studio. • Quand vos variables sont en public, vous pouvez modifier la valeur depuis l’inspecteur.
  • 13. Les scripts à créer Il vous faudra créer un script « CamFollow » à placer sur la caméra. Ce script permettra de gérer la caméra. Il faut un script « BoatCtrl » sur le bateau qui sera chargé de gérer le déplacement du bateau (via les touches du clavier).
  • 14. BoatCtrl.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class BoatCtrl : MonoBehaviour { public float speed = 1.5f; // Vitesse bateau float force; // Avant / arrière float dir; // Gauche / droite Rigidbody rb; private void Start() { rb = GetComponent<Rigidbody>(); // Récupérer le rigidbody } void FixedUpdate() // tourne en boucle 60 images/Sec { // Calcul force & direction en fonction des flèches du clavier force = Mathf.SmoothStep(force, Input.GetAxis("Vertical"), Time.deltaTime * 10); dir = Mathf.SmoothStep(dir, Input.GetAxis("Horizontal"), Time.deltaTime * 5); // On applique la velicité au rigidbody pour avancer Vector3 velocity = new Vector3(0, force * speed, 0); rb.velocity = rb.transform.TransformDirection(velocity); // On applique la rotation pour la direction Vector3 angularVel = new Vector3(0, dir * speed/2 , 0); rb.angularVelocity = angularVel; } }
  • 15. CamFollow.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class CamFollow : MonoBehaviour { // Objet à filmer (bateau à faire glisser dans la variable de l’inspecteur public Transform target; public Vector3 offset; // Décalage cam par rapport à target void Start() // Se lance au début du jeu { // Calcul de l’offset offset = transform.position - target.position; } void LateUpdate() // Tourne en boucle { // On positionne la caméra pour filmer l’objet transform.position = target.position + offset; } }
  • 16. Tester le jeu • Cliquez sur le bouton « Play » en haut de l’interface. • S’il n’y a aucune erreur, le jeu se lance et vous pouvez contrôler le bateau avec les flèches du clavier. • Pour voir le tutoriel, visitez le lien vers mon site web donné plus haut.
  • 17. Qui suis-je ? • Anthony Cardinale, Ingénieur en informatique et développeur certifié de jeux vidéo. • J’ai publié de nombreuses formations vidéo sur Udemy ainsi que des livres sur Unity. http://anthony-cardinale.fr
  • 18. Pour aller plus loin • Retrouvez près de 80 heures de cours vidéo sur le développement de jeux vidéo sur ma page Udemy. • Je vous conseille de commencer par ma formation ultra complète. • Si vous préférez la 2D, consultez plutôt ce cours. • Si vous souhaitez « Créer sans coder », je propose ce tutoriel utilisant bolt.