3D Model einbinden mit C# und XNA

Wer bereits Erfahrungen mit C# und Visual Studio hat, und schon immer ein kleines Programm schreiben wollte, in dem sein eigenes 3D Model sich dreht, der dürfte mit XNA 4.0, schnell zu einem Erfolg kommen. Mein Artikel beschreibt eine in Kurzfassung, was ich brauche und die Codezeilen. Warum, es gibt leider relative wenige Seiten die dieses beschreiben oder ich habe vielleicht nach den falschen Begriffen gesucht.
Eine lange Fassung findet ihr für gewöhnlich auf der MSDN oder AppHub Seite, in denen auch die einzelnen Schritten genauer erklärt werden, anhand von Tutorials.

Also, was benötige ich:

  • Visual Studio 2010 C# Express
  • XNA 4.0 SDK


Wir beginnen mit Visual Studio C# Express und legen ein neues Projekt an:
XNA_und_CSharp_01

Nach dem Erstellen, dürfte euch gleich die Hauptseite geöffnet vorliegen. Standard mäßig ist das hier die Game1.cs:

XNA_und_CSharp_02

Als erstes tragen wir die erforderlichen Members ein:

XNA_und_CSharp_03

Nun zum Constructor “Game1()”. Da benötigen wir nur den TimerSpan einrichten.
XNA_und_CSharp_04

In unseren LoadContent() wird unser Model im .X Format geladen und wir legen das Seitenverhältnis fest.

XNA_und_CSharp_05

Über “Update(GameTime gameTime)” können wir Veränderungen eingeben, die zur Laufzeit gerendert werden soll. Hier verändern wir die Rotation des Objektes.

XNA_und_CSharp_06

So, letzte Methode ist “Draw(GameTime gameTime)”. Mit der foreach Schleife werden die Parameter festgelegt, die später gerendert wird pro Durchgang.

XNA_und_CSharp_07

Zu guter Letzt, darf das Model nicht fehlen. Einfach in den WindowsGame1Content hinzufügen.

XNA_und_CSharp_08

Fertig. Drücke dann F5 und wir können uns freuen.

XNA_und_CSharp_09


So, dazu muss ich noch hinzufügen, dass leider mein Model nicht ganz richtig dargestellt wird. Ein Teil des Rumpfes wird von der Innenseite gerendert. Aber vielleicht erkennt es der eine oder andere ja, aus welchen Spiel ich das Model nach gebaut habe als Low Polygone Model Zwinkerndes Smiley.

Kommentare

Beliebte Posts aus diesem Blog

Arduino Control (Teil 5) - PWM Signal einlesen

Angular auf dem Raspberry Pi

RC Fahrtenregler für Lego Kettenfahrzeug