Guide de programmation Guide de programmation Programmez des jeux vidéo 3D avec

Guide de programmation Guide de programmation Programmez des jeux vidéo 3D avec C#5 et WPF Avec comme exemple le jeu du Casse-Briques Patrice REY Tous les noms de produits ou marques cités dans ce livre sont des marques déposées par leurs propriétaires respectifs. La loi du 11 Mars 1957 n’autorisant aux termes des alinéas 2 et 3 de l’article 41, d’une part, que les «copies ou reproductions strictement réservées à l’usage privé du copiste et non destinées à une utilisation collective», et, d’autre part, que les analyses et les courtes citations dans un but d’exemple et d’illustration, «toute représentation ou reproduction intégrale, ou partielle, faite sans le consentement de l’auteur ou de ses ayants droit ou ayant cause, est illicite» (alinéa 1er de l’article 40). Cette représentation ou reproduction, par quelque procédé que ce soit, constituerait donc une contre- façon sanctionnée par les articles 425 et suivants du Code Pénal. Initiation au jeu 2D avec SILVERLIGHT 4 (ISBN : 978-2-8106-1168-3) Les structures de données illustrées avec WPF et C#4 (ISBN : 978-2-8106-1387-8) La programmation graphique 2D de WPF 4 (ISBN : 978-2-8106-1199-7) La programmation graphique 3D de WPF 4 (ISBN : 978-2-8106-2086-9) Guide pratique de la modélisation 3D avec WPF 4 (ISBN : 978-2-8106-1308-3) Développez des applications internet avec SILVERLIGHT 5 (ISBN : 978-2-8106-2222-1) La 3D avec SILVERLIGHT 5 (ISBN : 978-2-8106-2512-3) Le traitement d’images avec SILVERLIGHT 5 (ISBN : 978-2-8106-2615-1) Books on Demand GmbH, 12/14 rond point des Champs Élysées, 75008 Paris, France Impression : Books on Demand GmbH, Norderstedt, Allemagne ISBN : 978-2-322-03237-2 Dépôt légal : Mai 2013 Patrice REY 85 rue de vincennes App 23 B 33000 BORDEAUX e-mail : reypatrice@orange.fr EDITEUR AUTEUR TITRES DISPONIBLES EN LIBRAIRIE Table des matières Avant-propos ........................................................................................ 9 Première partie : Apprentissage de la modélisation 3D Chapitre 1 - Point, vecteur et matrice dans l’espace 3D 1. Le repère des coordonnées 3D ............................................... 18 2. La structure Point3D .................................................................... 19 3. La notion de vecteur ................................................................. 25 4. La structure Vector3D ................................................................ 27 5. Coordonnées euclidiennes et homogènes ............................... 42 5.1 - Transformations en coordonnées euclidiennes .................. 42 5.2 - Définition des coordonnées homogènes ............................ 51 5.3 - Transformations en coordonnées homogènes ................... 52 5.4 - La structure Point4D .............................................................. 56 6. La structure Matrix3D ..................................................................... 57 6.1 - Opérations sur la matrice 3D ............................................... 59 6.2 - Transformations sur la matrice 3D ...................................... 63 Chapitre 2 - Les projections 1. Les types de projection ............................................................... 72 1.1 - Les projections perspectives .................................................. 73 1.2 - Les projections parallèles ....................................................... 75 2. La matrice de la projection perspective .................................. 77 3. La matrice de la projection parallèle ....................................... 85 Le code source de programmation est téléchargeable gratuitement à l’adresse internet http://www.reypatrice.fr Table des matières 6 Chapitre 3 - Les transformations 3D 1. Les classes des transformations 3D ............................................. 90 2. La transformation ScaleTransform3D ........................................... 90 3. La transformation TranslateTransform3D ..................................... 96 4. La transformation RotateTransform3D ........................................ 99 5. La transformation MatrixTransform3D ......................................... 104 6. Combinaison de transformations 3D ............................................ 109 Chapitre 4 - La scène 3D 1. Visualisation de la scène ............................................................... 112 2. Le contrôle Viewport3D ................................................................. 112 3. La création de modèles 3D .......................................................... 114 3.1 - La classe ModelVisual3D ......................................................... 114 3.2 - La classe UIElement3D ............................................................. 116 3.3 - La classe GeometryModel3D ................................................. 117 4. La géométrie Geometry3D .......................................................... 118 5. Matière et surface .......................................................................... 123 5.1 - La surface mate ....................................................................... 124 5.2 - La surface lumineuse .............................................................. 125 5.3 - Combinaison de matières ..................................................... 125 5.4 - La réflexion spéculaire ........................................................... 126 6. L’éclairage de la scène ................................................................ 127 7. Les caméras ................................................................................... 129 Chapitre 5 - Les modèles 3D basiques 1. La modélisation basique .............................................................. 134 1.1 - La facette triangulaire ............................................................ 134 1.2 - La facette rectangulaire ........................................................ 144 2. La modélisation du cube ............................................................ 150 2.1 - La géométrie du maillage ...................................................... 150 2.2 - Le placage de texture ............................................................ 156 2.3 - Visualisation des cubes ........................................................... 160 Table des matières 7 2.4 - Les axes de coordonnées et le plan de travail ................... 164 3. La modélisation du cylindre ......................................................... 172 3.1 - Les coordonnées sphériques ................................................. 172 3.2 - La géométrie du cylindre ...................................................... 173 3.3 - La facette cylindrique ........................................................... 175 3.4 - Les formes polygonales ......................................................... 185 4. La modélisation du cône .............................................................. 188 5. La modélisation de la sphère ...................................................... 195 6. La modélisation du tore ............................................................... 204 Chapitre 6 - L’interactivité des modèles 3D 1. Hériter de la classe UIElement3D .................................................. 212 2. Implémenter le test d’atteinte ..................................................... 221 3. Implémenter un Trackball ............................................................. 227 4. Se rapprocher et s’éloigner de la scène .................................... 235 5. Déplacer des objets sur la scène ................................................ 237 6. Tourner des objets sur la scène ................................................... 244 Deuxième partie : Animation 3D du jeu vidéo Chapitre 7 - Construction du jeu du Casse-Briques 1. Visualisation avec Windows 7 et avec Windows 8 ...................... 252 2. Mise en place du jeu .................................................................... 255 2.1 - Les dimensions utiles ............................................................... 255 2.2 - Les éléments de la scène 3D ................................................. 258 2.3 - Le rendu d’animation ............................................................ 273 2.4 - Le déplacement de la raquette .......................................... 278 2.5 - L’animation de la balle ......................................................... 280 3. Les collisions ................................................................................... 288 3.1 - Collision entre la balle et la raquette .................................... 288 3.2 - Ajouter les briques .................................................................. 297 3.3 - Collision entre la balle et la brique ...................................... 302 4. Affichage du temps et du score .................................................. 306 5. La fin de jeu .................................................................................... 310 Chapitre 8 - Bonification du jeu par l’animation 1. Les règles de l’animation .............................................................. 316 2. La transition entre deux écrans .................................................... 322 2.1 - La réalisation en image ......................................................... 322 2.2 - Programmer un storyboard avec XAML .............................. 325 2.3 - Animer un composant par un storyboard ........................... 333 2.4 - Programmer un storyboard avec C# ................................. 341 3. Ajouter l’effet d’un éclair électrique .......................................... 345 4. Utilisation des animations réalistes ................................................ 349 4.1 - Principe des animations réalistes .......................................... 349 4.2 - Animation réaliste appliquée à une brique ........................ 358 5. Simuler le roulement de la balle .................................................. 367 6. Générer des surfaces de plateau ................................................ 378 7. Importer des objets 3D au format Wavefront OBJ ....................... 385 7.1 - Exporter depuis MAYA au format OBJ ................................. 386 7.2 - Le format Wavefront OBJ ..................................................... 387 7.3 - Importation au format OBJ .................................................. 390 Chapitre 9 - Sonorisation du jeu 1. La prise en charge de l’audio ....................................................... 400 1.1 - Le contrôle MediaElement .................................................... 400 1.2 - Manipulation d’un fichier audio ........................................... 402 2. Ajouter des séquences sonores au jeu .................................... 413 Index ....................................................................................................... 419 Avant-propos WPF (Windows Presentation Foundation) est une technologie de développement d’application riche pour Windows (Rich Desktop Application). La première version de WPF est sortie avec .NET 3.0 en novembre 2006. Au moment où est rédigé ce livre, c’est la version WPF 4.5 qui est utilisée avec C#5. Par rapport aux technologies graphiques antérieures, WPF innove à la fois sur le plan architectural et sur le plan fonctionnel. WPF constitue une synthèse et une unification des différentes branches de l’informatique graphique (graphismes vectoriels 2D et 3D, typographie, impression, saisie, animation et multimédia). WPF est un framework managé qui exploite la puissance de Direct3D pour l’affichage. Cette technologie de développement d’interface utilisateur permet de moderniser et d’unifier les techniques de développement visuel, d’exploiter la puissance graphique des machines modernes, d’intégrer l’infographie dans le processus de développement, et de simplifier et de sécuriser le déploiement des applications. En s’appuyant sur Direct3D, WPF exploite toute la puissance du GPU (Graphic Processing Unit ou le processeur graphique), ce qui permet de libérer le CPU (Central Processing Unit) et d’envisager des applications graphiques de plus en plus riches. WPF sépare dans des couches distinctes la programmation des fonctionnalités (au moyen d’un langage .NET tel que le C#) de la présentation visuelle par l’utilisation du langage XAML (eXtensible Application Markup Language). Ce livre s’adresse au développeur et au programmeur, débutant et confirmé, qui souhaite découvrir et approfondir la modélisation 3D au travers de la réalisation d’un jeu de Casse-Briques dans un environnement complet 3D (avec C#, XAML et WPF). Avant-propos 10 Les logiciels requis pour le développement Pour réaliser plus facilement des programmes en C# et XAML, il est préférable d’utiliser un environnement de développement intégré ou IDE (Integrated Development Environment). Cet IDE permet de développer, de compiler et d’exécuter un programme dans un langage donné qui sera, dans ce livre, le C# (se prononce C Sharp) dans sa version 5. Microsoft propose comme IDE soit Visual Studio 2012, dans sa version payante avec 90 jours d’essai gratuit (figure A1), soit Visual Studio 2012 Express, dans sa version allégée mais gratuite (figure A2). Puissante interface IDE garantissant la production d’un code de qualité, Visual Studio 2012 intègre de nouvelles fonctionnalités qui simplifient le processus de développement d’application, de la conception au déploiement. Pour télécharger et installer l’environnement de développement intégré, ouvrez votre navigateur et allez sur la page web suivante: http://msdn.microsoft.com/fr-fr/express/ aa975050.aspx FIGURE A1 1 Avant-propos 11 uploads/Industriel/ bod-10-programmez-jeu-video-3d-c5-wpf.pdf

  • 33
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager