Buscar en bzk Gaming

Cargando...
sábado 14 de agosto de 2010
Tutorial Sistemas de Coordenadas y cámaras en XNA (tutoriales en : bzkgaming)

Hola bueno siguiendo con la introducción a la lógica de los juegos 3D necesitamos saber más de estos. En este post veremos el sistema de coordenadas que usa XNA y la importancia de las cámaras.

Antes de imaginarnos las coordenadas en 3D imaginemos en 2D, que tenemos, pues X y Y, donde podemos ubicar un punto en el espacio digamos en (0,0) o en (10,5) o en (-5,-3) etc. Pues bien ahora que tenemos ese concepto necesitamos saber que para manejar 3D necesitamos una coordenada más la cual es Z la cual punta hacia nosotros en un esquema se verían así


XNA

Donde tenemos objetos tridimensionales y Z aumenta hacia nosotros y disminuye cuando se aleja.

Vectores

Para manejar posiciones en XNA usamos vectores, y si usaremos mucho las matemáticas y algo de física aquí, así que si has tomado clases de Calculo Vectorial o aun que sea has visto vectores te va servir mucho. Tendremos vectores de posición de velocidad, de aceleración, etc. Pero no se desanimen solo será lo más básico, como suma de vectores. Para usar vectores en XNA tendremos que usar la Estructura Vector3, (si ya llevaste un curso de XNA en 2D veras que también hay Vector2).

El constructor de esta clase recibe, en el caso más común, tres parámetros 3 Flotantes que representan X, Y e Z respectivamente.

Cámara

La cámara es un objeto de vital importancia en el mundo 3D ya que con ella se muestra al usuario un vista 2D del mundo 3D, pero que significa esto. Significa que con la cámara “tomamos” un video del mundo el cual se representa en la pantalla de 2D .

XNA nos provee un método para poder visualizar en nuestra PC o Xbox lo que está capturando una cámara en un momento. El método se llama CreateLookAt que es un miembro estático de la clase Matrix (hablaremos más tarde de esta clase), los parámetros que recibe son: la posición de la cámara, el objetivo de la cámara, y la posición a la cual se requiere como arriba. Para estos tres parámetros utiliza Vectores, por ejemplo se puede enviar siempre el Vector3.Up (que representa un vector que siempre apunta al cielo) para decirle a la cámara donde es arriba.

Además contamos con un método estático para poder lograr perspectivas.

CreatePerspectiveFieldOfView este método recibe como parámetros: campo de visión, relación de aspecto, tope cercano y tope lejano.


camara XNA


Como indica la imagen la cámara necesita capturar los objetos en el mundo. Los topes cercano y lejano sirven para indicar que objetos si van a ser dibujados en la pantalla y cuáles no. Por ejemplo si pusiéramos como valores para tope cercano 100 y lejano 1000 solo los objetos que estan a esta distancia podrán ser mostrados, y si tenemos un objeto a una distancia de 1200 no será mostrado en la pantalla.


Bien ya ha sido mucha teoría para el siguiente post dibujaremos nuestro primer modelo en 3D.

Saludos y no se olviden de comentar.

4 comentarios:

Anónimo dijo...

Buenas,

enorabuena por decidirte a escribir un tutorial de xna en 3d.
Ya estoy familiarizado con C# y xna en 2d, llevo un par de días con 3d en xna y voy bastante perdido con lo de las camaras, modelos, bones, etc...
así que te seguiré de cerca.

Saludos.

Bazookao dijo...

muchas gracias, espero que le sirva a mucha gente.

WebMaster dijo...

sigue haciendo tutos ;).... son muy buenos.. espero puedas incluir imagenes, tambien para que se vean y se entendian mejor ;).. me ha ayudado tengo 2 dias en Xna pero ya le agarre la onda :p.

Bazookao dijo...

gracias por leer el blog y por comentar, si es buena la sugerencia tratare de subir mas imagenes en los tutoriales, y claro seguire subiendo tutoriales de XNA

Saludos

Entradas populares en este Mes

Entradas populares Siempre

Comparte este Blog

Subscribe via email

Enter your email address:

Delivered by FeedBurner

Seguidores

FeedBurner FeedCount