Handpuzzles.com


tutoriel XNA pour faire tourner un modèle 3D

tutoriel XNA pour faire tourner un modèle 3D

XNA Studio de Microsoft est une suite puissante et relativement facile à programmer conçu pour fournir une interface pour créer des jeux pour PC Windows, les consoles Xbox et même Windows 7 téléphones. En utilisant ce programme, en collaboration avec la version gratuite de Microsoft Visual Studio, à la fois en 2D et des jeux en 3D peuvent être créés. Une bonne façon de commencer avec la programmation de jeux XNA 3D est pour charger et faire pivoter un modèle 3D.

Instructions


•  Créer un nouveau projet dans Microsoft XNA Studio en cliquant sur ​​"Fichier" et "Nouveau projet" et en sélectionnant "Windows jeu."

•  Droit-cliquez sur le dossier "Content" dans le "Solutions Explorer" et choisissez "Ajouter" et "Nouveau dossier". Nommez-le «Modèles».

•  Répétez l'étape 2, mais cette fois en nommer le dossier "Textures".

•  Droit-cliquez sur chaque dossier que vous venez de créer et sélectionnez "Ajouter un élément existant." Ajouter un modèle 3D existant et sa texture dans les dossiers appropriés. Si vous ne avez pas un modèle 3D, vous pouvez le télécharger à partir du site de Microsoft (voir Ressources).

•  Collez les nouvelles variables suivantes dans le code source, juste en dessous de la ligne "de jeu public class": flotter aspectRatio; Modéliser mon modèle; Vector3 modèle Position = Vector3.Zero; flotteur modèle Rotation = 0.0f; Caméra Vector3 Position = new Vector3 (0.0f, 50.0f, 5000.0f);

•  Collez le code suivant dans la fonction "LoadContent" qui a été créé pour vous lorsque vous avez créé votre projet: mon modèle = Content.Load <type> («Modèles \\ p1_wedge.fbx»); aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio; Celui-ci utilise le modèle d'échantillon gratuit fourni par Microsoft "p1_wedge.fbx."

•  Collez le code suivant à partir de Microsoft au sein de la fonction "Dessiner": graphics.GraphicsDevice.Clear (Color.CornflowerBlue); // Copiez transforme ne importe quel parent. Matrice [] transforme = new Matrix [myModel.Bones.Count]; myModel.CopyAbsoluteBoneTransformsTo (transformées); // Dessine le modèle. Un modèle peut avoir plusieurs mailles, de sorte que la boucle. foreach (ModelMesh maillage dans myModel.Meshes) {// Ce est là que l'orientation de la maille est réglé, ainsi que // notre caméra et la projection. foreach (effet de BasicEffect dans mesh.Effects) {effect.EnableDefaultLighting (); effect.World transforme = [mesh.ParentBone.Index] * Matrix.CreateRotationY (modelRotation) * Matrix.CreateTranslation (modelPosition); effect.View = Matrix.CreateLookAt (cameraPosition, Vector3.Zero, Vector3.Up); effect.Projection = Matrix.CreatePerspectiveFieldOfView (MathHelper.ToRadians (45.0f), aspectRatio, 1.0f, 10000.0f); } // Dessine le maillage, en utilisant les effets énoncés ci-dessus. mesh.Draw (); } Base.Draw (gameTime);

•  Collez le code suivant à partir de Microsoft dans la fonction de mise à jour: // permet au jeu de se quitter (GamePad.GetState (PlayerIndex.One) .Buttons.Back == ButtonState.Pressed) this.Exit (); modèle de rotation + = (float) gameTime.ElapsedGameTime.TotalMilliseconds * MathHelper.ToRadians (0.1f); base.Update (gameTime);




        

Publish my comment