Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Visual Βασικά Προγραμματισμός

XNA Tutorial για Περιστροφή 3D Μοντέλο

XNA Studio της Microsoft είναι ένα ισχυρό και σχετικά εύκολο να προγραμματίσετε σουίτα σχεδιαστεί για να παρέχουν μία διεπαφή για τη δημιουργία παιχνιδιών για Windows , υπολογιστές, κονσόλες Xbox και ακόμα και τα Windows 7 τηλέφωνα . Χρησιμοποιώντας αυτό το πρόγραμμα , σε συνδυασμό με την δωρεάν έκδοση του Microsoft Visual Studio , μπορεί να δημιουργηθεί τόσο 2D και 3D παιχνίδια . Ένας καλός τρόπος για να ξεκινήσετε με το XNA 3D προγραμματισμού του παιχνιδιού είναι να τοποθετήσετε και να περιστρέψετε ένα μοντέλο 3D . Οδηγίες
Η

1 Δημιουργήστε ένα νέο έργο στο Microsoft XNA Studio κάνοντας κλικ στο " Αρχείο" και " New Project" και επιλέγοντας " παιχνιδιών των Windows . " 2

δεξί κλικ στο φάκελο " περιεχόμενο " στο " Λύσεις Explorer " και επιλέξτε "Προσθήκη" και "Νέος φάκελος ". Ονομάστε το " Models ".
Εικόνων 3

Επαναλάβετε το βήμα 2 , αλλά αυτή τη φορά το όνομα του φακέλου " υφές . "
Η

4 Κάντε δεξί κλικ σε κάθε φάκελο που μόλις δημιουργήσατε και επιλέξτε "Add Existing Item ". Προσθέστε ένα υπάρχον μοντέλο 3D και την υφή του στους κατάλληλους φακέλους . Αν δεν έχετε ένα 3D μοντέλο , μπορείτε να την κατεβάσετε από την ιστοσελίδα της Microsoft ( βλ. Πόρων ) .
5

Αντιγράψτε τις ακόλουθες νέες μεταβλητές στο πλαίσιο του πηγαίου κώδικα , ακριβώς κάτω από τη γραμμή " δημόσια τάξη Game" :

επιπλέουν aspectRatio ?

Μοντέλο myModel ?

Vector3 modelPosition = Vector3.Zero ?

επιπλέουν modelRotation = 0.0f ?

Vector3 cameraPosition = νέα Vector3 ( 0.0f , 50.0f , 5000.0f ) ?
Η 6

Επικολλήστε τον ακόλουθο κώδικα στη λειτουργία " LoadContent » που δημιουργήθηκε για σας όταν δημιούργησε το έργο σας :

myModel = Content.Load ( « Μοντέλα \\ \\ p1_wedge.fbx ")?

aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio ?

Αυτό χρησιμοποιεί το μοντέλο δωρεάν δείγμα " . p1_wedge.fbx " που παρέχεται από τη Microsoft
Η 7

Επικολλήστε τον ακόλουθο κώδικα από τη Microsoft στο πλαίσιο της λειτουργίας " Ισοπαλία" :

graphics.GraphicsDevice.Clear ( Color.CornflowerBlue ) ?

//Αντιγραφή κάθε γονέας μετατρέπει

Matrix [ ] μετασχηματισμών = νέα Matrix [ myModel.Bones.Count ] ? .

myModel.CopyAbsoluteBoneTransformsTo ( μετασχηματισμών ) ?

//Ισοπαλία το μοντέλο . Ένα μοντέλο μπορεί να έχει πολλαπλά πλέγματα , έτσι βρόχο .

Foreach ( ModelMesh συρματόπλεγμα σε myModel.Meshes )

{

//Αυτό είναι όπου βρίσκεται ο προσανατολισμός των ματιών , όπως και

//η κάμερα και προβολής μας

foreach ( αποτέλεσμα BasicEffect σε mesh.Effects )

{

effect.EnableDefaultLighting ( ) ? .

effect.World = μετατρέπει [ 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,0 στ ) , aspectRatio , πώληση

1.0f , 10000.0f ) ?

}

//Ισοπαλία το πλέγμα , χρησιμοποιώντας τα αποτελέσματα που παραπάνω

ματιών . . Draw ( ) ? }


base.Draw ( Gametime ) ?
8

Επικολλήστε τον παρακάτω κώδικα από τη Microsoft στη λειτουργία Update :

//επιτρέπει το παιχνίδι για να βγείτε

αν ( GamePad.GetState ( PlayerIndex.One ) . Buttons.Back ==

ButtonState.Pressed )

this.Exit ( ) ?

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

MathHelper.ToRadians ( 0.1f ) ?

base.Update ( GAMETIME ) ?


Η

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα