Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Nozioni di base di Visual Programming >> .

XNA Tutorial per Rotazione di un modello 3D

di Microsoft XNA Studio è una suite potente e relativamente facile da programma progettato per fornire una interfaccia per la creazione di giochi per PC Windows , console Xbox e persino telefoni di Windows 7 . Utilizzando questo programma , in collaborazione con la versione gratuita di Microsoft Visual Studio , è possibile creare entrambi i giochi in 2D e 3D . Un buon modo per iniziare con XNA programmazione del gioco 3D è quello di caricare e ruotare un modello 3D . Istruzioni
1

Creare un nuovo progetto in Microsoft XNA Studio facendo clic su "File" e " Nuovo progetto " e selezionando " Windows Game ".

2 Fare clic con il cartella " Content" in " Esplora soluzioni " e scegliere " Aggiungi " e " Nuova cartella ". Il nome " modelle ".

3 Ripetere il punto 2 , ma questo nome volta la cartella " Textures ".
4

destro clic su ogni cartella appena creato e selezionare " Aggiungi elemento esistente. " Aggiungere un modello 3D esistente e la sua consistenza nelle cartelle appropriate . Se non si dispone di un modello 3D , è possibile scaricare dal sito Web di Microsoft ( vedi Risorse ) .
5

Incollare le seguenti nuove variabili all'interno del codice sorgente , appena sotto il "Gioco public class " linea :

galleggiante aspectRatio ;

Modello MyModel ;

Vector3 modelPosition = Vector3.Zero ;

float modelRotation = 0.0f ;

Vector3 cameraPosition = new Vector3 ( 0.0f , 50.0F , 5000.0f ) ;
6

Incollare il seguente codice nella funzione " LoadContent " che è stato creato per te quando hai creato il tuo progetto :

MyModel = Content.Load ( "Modelli \\ \\ p1_wedge.fbx ");

aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio ;

Questo utilizza il modello campione gratuito " . p1_wedge.fbx " fornito da Microsoft
7

Incollare il seguente codice da Microsoft all'interno della funzione " Draw " :

graphics.GraphicsDevice.Clear ( Color.CornflowerBlue ) ;

//copiare qualsiasi genitore trasforma

Matrix [ ] trasforma = new Matrix [ myModel.Bones.Count ] ; .

myModel.CopyAbsoluteBoneTransformsTo ( trasformazioni ) ;

//Disegna il modello . Un modello può avere più maglie , in modo loop.

Foreach ( ModelMesh maglia in myModel.Meshes ) per

{

//Questo è dove l' orientamento delle maglie è impostata , come ben

//come la nostra macchina fotografica e la proiezione

foreach ( effetto BasicEffect in mesh.Effects ) per

{

effect.EnableDefaultLighting ( ) .

effect.World = trasformate [ mesh.ParentBone.Index ] *

Matrix.CreateRotationY ( modelRotation ) per

* Matrix.CreateTranslation ( modelPosition ) ;

effect.View = Matrix.CreateLookAt ( cameraPosition , Stati

Vector3.Zero , Vector3.Up ) ;

effect.Projection = Matrix.CreatePerspectiveFieldOfView (

MathHelper.ToRadians ( 45,0 f ) , aspectRatio , Stati

1.0f , 10000.0f ) ;

}

//Disegna la maglia , con gli effetti di cui sopra

maglia . . Draw (); }


base.Draw ( GameTime ) ;
8

Incollare il seguente codice di Microsoft nella funzione aggiornamento:

//permette al gioco di uscire

se ( GamePad.GetState ( PlayerIndex.One ) . Buttons.Back ==

ButtonState.Pressed ) per

this.Exit ();

modelRotation + = ( float) gameTime.ElapsedGameTime.TotalMilliseconds *

MathHelper.ToRadians ( 0.1f ) ;

base.Update ( GameTime ) ;

 

Programmazione © www.354353.com