Unity3D Développer en C# des applications 2D/3D multiplateformes (iOS, Android, Windows…)

42075 CFA

Ce livre présente les bases de la création d’une application multiplateformes avec Unity3D et le langage C#, dans le cadre de jeux vidéos comme d’applications d’entreprises. Il s’adresse à des développeurs C# qui débutent dans ce type de développement. Même si la création d’une application 2D/3D, multiplateformes, paraît bien complexe à un débutant, les auteurs se sont appuyés sur des exemples simples et précis pour guider le lecteur dans ses premiers pas. Après la lecture de ce livre, il sera en mesure de créer son propre jeu et de le déployer sur les différentes plateformes ciblées par Unity3D : iPhone, iPad, Android, Windows, Windows Phone, Xbox, Blackberry…

Après une présentation générale d’Unity3D et particulièrement de son éditeur, les auteurs détaillent les différents éléments, ou GameObjects, manipulés dans Unity3D et leurs composants. Un chapitre est bien sûr consacré au scripting (création, déboggage, cycle de vie,…) et aux coroutines, un autre aux interactions avec l’utilisateur (entrées clavier, souris, tactile…) puis à l’utilisation des différents assets, au système d’animation et au moteur physique d’Unity3D. La description complète de la création d’une interface utilisateur (système Canvas, système de positionnement et d’ancrage, éléments d’affichage…) aboutit naturellement au chapitre sur le réseau et le système multijoueurs. Les derniers chapitres sont consacrés à la génération des packages, plateforme par plateforme et à leur déploiement.

Table des matières

  • Avant-propos
    • 1. Pourquoi ce livre ?
    • 2. À qui s’adresse cet ouvrage ?
    • 3. Structure de l’ouvrage
    • 4. Remerciements
  • Unity et le développement de jeux vidéo
    • 1. Qu’est-ce que Unity ?
      • 1.1 Introduction
      • 1.2 Les plateformes supportées
      • 1.3 Les licences
        • 1.3.1 Personal Edition
        • 1.3.2 Professional Edition
      • 1.4 La technologie
    • 2. Pour quels projets Unity est-il adapté ?
    • 3. Pourquoi utiliser Unity ?
    • 4. Quels outils utiliser ?
      • 4.1 MonoDevelop
      • 4.2 Visual Studio
    • 5. Les bases du fonctionnement du rendu
  • Éditeur, pièce maîtresse
    • 1. Présentation de l’éditeur
    • 2. Présentation de l’interface
      • 2.1 Les menus
        • 2.1.1 Menu File
        • 2.1.2 Menu Edit
        • 2.1.3 Menu Assets
        • 2.1.4 Menu GameObject
        • 2.1.5 Menu Component
        • 2.1.6 Menu Window
        • 2.1.7 Menu Help
      • 2.2 La vue Scene
        • 2.2.1 Présentation de la vue
        • 2.2.2 Manipulation des objets et du point de vue
        • 2.2.3 Barre d’outils
      • 2.3 La hiérarchie des objets
        • 2.3.1 Présentation
        • 2.3.2 Manipulation des objets
        • 2.3.3 Filtrage des objets
      • 2.4 La vue de rendu
        • 2.4.1 Présentation
        • 2.4.2 Modification de la résolution
        • 2.4.3 Statistiques de rendu
      • 2.5 La hiérarchie du projet
      • 2.6 La console
      • 2.7 L’Inspector
        • 2.7.1 Les propriétés de base
        • 2.7.2 Les composants de base
        • 2.7.3 Exposer des propriétés à travers l’Inspector
    • 3. Personnaliser l’éditeur pour ses besoins
      • 3.1 Personnaliser la disposition des vues
      • 3.2 Les menus personnalisés
        • 3.2.1 Créer un menu simple
        • 3.2.2 Créer un menu avec raccourci
        • 3.2.3 Créer un menu avec validation
        • 3.2.4 Créer un menu avec priorisation
        • 3.2.5 Créer un menu contextuel
        • 3.2.6 Modifier les menus de base de l’éditeur
      • 3.3 Personnaliser la scène
        • 3.3.1 Introduction
        • 3.3.2 Utilisation des gizmos
      • 3.4 Personnaliser l’Inspector
        • 3.4.1 Introduction
        • 3.4.2 Mise en place d’un affichage personnalisé
        • 3.4.3 Ajouter un bouton
        • 3.4.4 Ajouter une zone d’aide
        • 3.4.5 Les différents types de champs
        • 3.4.6 Aller plus loin
  • Le GameObject et ses composants
    • 1. La programmation par composition
      • 1.1 Présentation
      • 1.2 Le GameObject : le conteneur de composants
      • 1.3 Les différentes familles de composants
        • 1.3.1 Les meshes
        • 1.3.2 Les effets
        • 1.3.3 La physique 3D
        • 1.3.4 La physique 2D
        • 1.3.5 La navigation
        • 1.3.6 L’audio
        • 1.3.7 Le rendu
        • 1.3.8 La disposition de l’interface utilisateur
        • 1.3.9 L’interface utilisateur
        • 1.3.10 Les scripts
        • 1.3.11 Le réseau
        • 1.3.12 Les événements
        • 1.3.13 Les autres
    • 2. La classe GameObject
      • 2.1 Présentation
      • 2.2 Manipuler un GameObject
        • 2.2.1 Ajouter un GameObject
        • 2.2.2 Supprimer un GameObject
    • 3. Manipuler les composants dans l’éditeur
      • 3.1 Ajouter un composant
      • 3.2 Supprimer un composant
      • 3.3 Copier un composant
      • 3.4 Mise à zéro d’un composant
    • 4. Réutiliser ses objets grâce aux préfabriqués
      • 4.1 Présentation
      • 4.2 Création d’un prefab
      • 4.3 Réutilisation d’un prefab
        • 4.3.1 À partir de l’éditeur
        • 4.3.2 À partir d’un script
        • 4.3.3 Modification d’un prefab
  • Le système de scripting
    • 1. Les scripts, des composants à part
      • 1.1 Définition
      • 1.2 Ajouter un script à un GameObject
    • 2. Comment afficher des informations de débogage
      • 2.1 Écrire dans la console
      • 2.2 Dessiner des lignes dans la scène
      • 2.3 Prendre le contrôle de l’exécution
    • 3. Le cycle de vie des scripts
      • 3.1 Initialisation du script
        • 3.1.1 La méthode Awake
        • 3.1.2 La méthode Start
        • 3.1.3 La méthode OnEnable
      • 3.2 Les événements pendant la boucle de jeu
        • 3.2.1 La méthode Update
        • 3.2.2 La méthode LateUpdate
        • 3.2.3 La méthode FixedUpdate
      • 3.3 Les événements liés au rendu graphique
        • 3.3.1 Les méthodes OnBecameVisible et OnBecameInvisible
        • 3.3.2 La méthode OnGUI
        • 3.3.3 La méthode OnDrawGizmos et OnDrawGizmosSelected
      • 3.4 Les événements de fin de vie ou de remise à zéro
        • 3.4.1 La méthode OnDisable
        • 3.4.2 La méthode OnDestroy
        • 3.4.3 La méthode OnApplicationQuit
        • 3.4.4 La méthode OnApplicationFocus
        • 3.4.5 La méthode Reset
        • 3.4.6 La méthode OnValidate
    • 4. Comment les scripts interagissent avec l’extérieur
      • 4.1 Permettre la configuration d’un script
      • 4.2 Accéder au GameObject parent
      • 4.3 Manipuler les composants de base
        • 4.3.1 Trouver un composant déjà ajouté
        • 4.3.2 Ajouter un composant
        • 4.3.3 Supprimer un composant
      • 4.4 Trouver un composant dans une hiérarchie de GameObjects
      • 4.5 Utiliser l’éditeur et un binding pour obtenir un composant
      • 4.6 Les événements Unity
        • 4.6.1 Déclarer un événement simple
        • 4.6.2 Réagir à la levée d’un événement
        • 4.6.3 Déclarer un événement complexe
        • 4.6.4 Écrire sa propre méthode de réaction à un événement
    • 5. Écriture de code pour une seule plateforme
      • 5.1 Utiliser les propriétés de la classe Application
      • 5.2 Utiliser les directives de précompilation
    • 6. Exécuter des actions simultanément avec les coroutines
      • 6.1 Définition
      • 6.2 Pourquoi les coroutines sont nécessaires
      • 6.3 Mise en œuvre
        • 6.3.1 Déclarer une coroutine
        • 6.3.2 Écrire le corps de la coroutine
        • 6.3.3 Lancer une coroutine
        • 6.3.4 Stopper une coroutine
    • 7. Quelques design patterns utiles
      • 7.1 Singleton
        • 7.1.1 Définition
        • 7.1.2 Implémentation du singleton dans Unity
        • 7.1.3 Instanciation du singleton
      • 7.2 Object Pool
        • 7.2.1 La problématique à résoudre
        • 7.2.2 La solution théorique
        • 7.2.3 Mise en œuvre technique
  • Interactions avec l’utilisateur
    • 1. Présentation générale
    • 2. Prise en charge par défaut
      • 2.1 Le gestionnaire de commande
      • 2.2 Propriétés d’un axe virtuel
      • 2.3 Utilisation dans un script personnalisé
        • 2.3.1 La classe Input
        • 2.3.2 Exemples d’utilisation du clavier
        • 2.3.3 Exemples d’utilisation de la souris
        • 2.3.4 Exemples d’utilisation du tactile
    • 3. Utilisation du microphone et de la webcam
      • 3.1 Utilisation du micro
        • 3.1.1 Présentation
        • 3.1.2 La classe Microphone
        • 3.1.3 Exemple d’utilisation
      • 3.2 Utilisation de la webcam
        • 3.2.1 Présentation
        • 3.2.2 La classe WebCamTexture
        • 3.2.3 Exemple d’utilisation
  • Utilisation des assets graphiques et audio
    • 1. La caméra
      • 1.1 Présentation
      • 1.2 Paramétrage de l’affichage
        • 1.2.1 Affichage des objets
        • 1.2.2 Vision et projection
      • 1.3 La vue Frustum
        • 1.3.1 Définition
        • 1.3.2 Expérimentations
        • 1.3.3 Limites d’affichage
        • 1.3.4 Différence entre la vue perspective et la vue orthographique
    • 2. Les lumières
      • 2.1 Présentation
      • 2.2 Paramétrage des lumières
        • 2.2.1 Point
        • 2.2.2 Spot
        • 2.2.3 Directionnelle
        • 2.2.4 Aire
    • 3. Les shaders et matériaux
      • 3.1 Introduction
      • 3.2 Les matériaux
        • 3.2.1 Introduction
        • 3.2.2 Les propriétés
        • 3.2.3 Les méthodes
        • 3.2.4 Création d’un matériau
      • 3.3 Les shaders
        • 3.3.1 Introduction
        • 3.3.2 Le Standard Shader
        • 3.3.3 Les Built-in Shaders
        • 3.3.4 Les shaders personnalisés
    • 4. Les meshes
      • 4.1 Présentation
      • 4.2 Mesh Filter
      • 4.3 Mesh Renderer
        • 4.3.1 Introduction
        • 4.3.2 Les propriétés
      • 4.4 Skinned Mesh Renderer
      • 4.5 Text Mesh
    • 5. Les textures
      • 5.1 Présentation
      • 5.2 Les types de texture
      • 5.3 Les textures simples
      • 5.4 Les Normal Maps
    • 6. Les sprites
      • 6.1 Présentation
      • 6.2 Sprite Renderer
      • 6.3 Sprite Editor
    • 7. L’audio
      • 7.1 Introduction
      • 7.2 Audio Listener
      • 7.3 Audio Clip
      • 7.4 Audio Source
      • 7.5 Audio Mixer
      • 7.6 Les filtres et effets
    • 8. Batching et Draw Calls
      • 8.1 Présentation
      • 8.2 Static Batching
      • 8.3 Dynamic Batching
  • Le système d’animation
    • 1. Présentation de Mecanim
      • 1.1 Présentation
      • 1.2 Les animations
        • 1.2.1 Introduction
        • 1.2.2 La fenêtre Animation
      • 1.3 Les animateurs
        • 1.3.1 Introduction
        • 1.3.2 La fenêtre Animator
        • 1.3.3 Ajouter un état
        • 1.3.4 Ajouter une transition
    • 2. Créer des animations
      • 2.1 Mise en place de la scène
      • 2.2 Création de l’animation
      • 2.3 Configuration de l’animateur
      • 2.4 Ajout de paramètres
      • 2.5 Ajout de conditions
      • 2.6 Lancement de l’animation
    • 3. Avatar
      • 3.1 Introduction
      • 3.2 Créer un avatar
  • Le moteur physique
    • 1. Présentation du moteur physique
    • 2. Le composant Rigidbody
      • 2.1 Introduction
      • 2.2 La gravité
      • 2.3 Les forces
      • 2.4 La cinématique
    • 3. Le composant Collider
      • 3.1 Introduction
      • 3.2 Statique ou dynamique
      • 3.3 Les colliders primitifs
        • 3.3.1 SphereCollider
        • 3.3.2 BoxCollider
        • 3.3.3 CapsuleCollider
      • 3.4 Les colliders par composition
      • 3.5 Le MeshCollider
      • 3.6 Les matériaux physiques
      • 3.7 Les événements
        • 3.7.1 Les déclencheurs
        • 3.7.2 Les événements de script
      • 3.8 Exemples de collision
        • 3.8.1 Entre un collider statique et un collider dynamique
        • 3.8.2 Entre des colliders dynamiques
    • 4. Les composants Joints
      • 4.1 Introduction
      • 4.2 FixedJoint
      • 4.3 SpringJoint
      • 4.4 HingeJoint
      • 4.5 CharacterJoint
      • 4.6 ConfigurableJoint
  • Unity UI et interfaces utilisateurs
    • 1. Présentation générale
      • 1.1 Définition
      • 1.2 Un peu d’histoire
      • 1.3 Le nouveau système d’UI
    • 2. Le système de Canvas
      • 2.1 Définition
      • 2.2 Nombre de Canvas dans une scène
      • 2.3 Les différents modes de rendu
        • 2.3.1 Par défaut : Screen Space – Overlay
        • 2.3.2 Screen Space – Camera
        • 2.3.3 World Space
      • 2.4 Adaptation du rendu à la taille de l’écran
        • 2.4.1 Par défaut : Constant Pixel Size
        • 2.4.2 Constant Physical Size
        • 2.4.3 Scale With Screen Size
    • 3. Le système de positionnement et d’ancrage
      • 3.1 Le composant RectTransform
      • 3.2 Le système d’ancrage
        • 3.2.1 Définition
        • 3.2.2 Valeurs prédéfinies
      • 3.3 Positionnement et dimensionnement de l’élément
        • 3.3.1 La zone d’ancrage est un point
        • 3.3.2 La zone d’ancrage est une ligne verticale ou horizontale
        • 3.3.3 La zone d’ancrage est un rectangle
        • 3.3.4 Schéma récapitulatif des positionnements
      • 3.4 Comportement de l’éditeur
    • 4. Les différents éléments d’affichage
      • 4.1 Text : afficher un texte
        • 4.1.1 Configuration de l’affichage des lettres
        • 4.1.2 Configuration de la disposition
        • 4.1.3 Utilisation de texte riche
        • 4.1.4 Utilisation via un script
      • 4.2 RawImage : afficher une texture
        • 4.2.1 Description du composant
        • 4.2.2 Utilisation via un script
      • 4.3 Image : afficher un sprite
        • 4.3.1 Types d’affichage
        • 4.3.2 Utilisation du mode Filled
        • 4.3.3 Utilisation via un script
      • 4.4 Button : afficher un bouton pour réagir au clic
        • 4.4.1 Les différents états visuels
        • 4.4.2 Définir le sens de navigation au clavier
        • 4.4.3 Réagir au clic sur un bouton
        • 4.4.4 Utilisation d’un composant via un script
        • 4.4.5 Interactions avec les Selectable via un script
      • 4.5 InputField : afficher une zone de saisie de texte
        • 4.5.1 Configuration du composant
        • 4.5.2 Événements exposés
        • 4.5.3 Utilisation via un script
      • 4.6 Toggle et ToggleGroup : permettre un choix dans une liste
        • 4.6.1 Configuration du composant
        • 4.6.2 Assignation d’un ToggleGroup
        • 4.6.3 Événement du composant
        • 4.6.4 Utilisation via un script
      • 4.7 Slider : choisir une valeur numérique
        • 4.7.1 Configuration du composant
        • 4.7.2 Événement exposé
        • 4.7.3 Utilisation via un script
      • 4.8 Scrollbar : afficher une barre de défilement
        • 4.8.1 Configuration du script
        • 4.8.2 Événement exposé
        • 4.8.3 Utilisation via un script
      • 4.9 ScrollRect et Mask : afficher une zone de défilement
        • 4.9.1 Ajout d’un ScrollRect et de son contenu dans la scène
        • 4.9.2 Ajout d’un Mask pour contraindre l’affichage
        • 4.9.3 Ajout de barres de défilement
        • 4.9.4 Configuration du ScrollRect
        • 4.9.5 Événement exposé
        • 4.9.6 Utilisation via un script
    • 5. Les différents moyens de disposer les éléments
      • 5.1 Layout Element
        • 5.1.1 Configuration du LayoutElement
        • 5.1.2 Comportement du système de dimensionnement
      • 5.2 Horizontal Layout Group (HGL)
        • 5.2.1 Configuration du composant
        • 5.2.2 Comportement des mesures du composant
        • 5.2.3 Exemple de configuration utilisant les tailles flexibles
      • 5.3 Vertical Layout Group (VGL)
      • 5.4 Grid Layout Group (GLG)
        • 5.4.1 Configuration du composant
        • 5.4.2 Comportement des mesures du composant
      • 5.5 Content Size Fitter
        • 5.5.1 Configuration du composant
    • 6. Localisation d’une application
      • 6.1 Logique du composant de traduction
      • 6.2 Création des fichiers de ressources
      • 6.3 Lecture du fichier de traduction
      • 6.4 Interprétation du fichier de ressources
      • 6.5 Assignation de la valeur traduite
    • 7. Gestion des polices (font)
      • 7.1 Import d’une police
      • 7.2 Fonts dynamiques et statiques
  • Communication réseau et jeux multijoueurs
    • 1. Les jeux multijoueurs
      • 1.1 Introduction
      • 1.2 L’API haut niveau
        • 1.2.1 Introduction
        • 1.2.2 Concept du multijoueur
        • 1.2.3 Les principaux composants de l’API
      • 1.3 Création d’un jeu multijoueur
        • 1.3.1 Mise en place
        • 1.3.2 Création du personnage
        • 1.3.3 Paramétrage et synchronisation du personnage
        • 1.3.4 Ajout du Network Manager
      • 1.4 UNET Service
        • 1.4.1 Introduction
        • 1.4.2 La classe NetworkMatch
    • 2. Les classes WWW et WWWForm
  • Génération et déploiement de package
    • 1. Le player et les builds : concepts de base
Catégorie

Avis des clients

Il n'y a pas encore d'avis.

Soyez le premier à donner votre avis sur “Unity3D Développer en C# des applications 2D/3D multiplateformes (iOS, Android, Windows…)”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus d'offres pour ce produit!

Questions et demandes générales

Il n'y a pas encore de demandes de renseignements.