*   >> Lectura Educación Artículos >> science >> programación

Hacer un juego en 3D con Ogre - Carga de un Scene

descargar la demo y el código fuente [LINUX]

descargar la demo y el código fuente [Windows]

VOLVER AL ÍNDICE TUTORIAL

Ahora que hemos inicializado el motor de Ogre 3D es el momento de empezar a mostrar algunos objetos 3D. Una de las preguntas que los desarrolladores tienen que abordar es cómo se define y se carga en el motor Ogre un nivel. La forma más fácil, al menos inicialmente, es código simplemente difícil la creación de un nivel en C ++.

Todas las muestras que vienen con el disco de código Ogre SDK 3D la lógica de la creación de un terreno, que muestra un objeto 3D, la creación de un palco, etc, por lo que se tiene la tentación de combinar el código de todas estas muestras para hacer un nivel completo.

Hay varios grandes inconvenientes a la definición de un nivel de esta manera.

1. Cada pequeño cambio en el nivel requiere la aplicación para volver a compilar (y que se consume mucho tiempo).

2. Es casi imposible para cualquier persona que no sea el desarrollador para crear niveles.

3.

Esto significa que usted no puede utilizar herramientas de 3 ª parte para crear un mundo, porque ninguna utilidad de creación de mundo que conozco de salidas código C ++.

La alternativa es definir un nivel en un archivo externo. Mientras Ogre no tiene soporte nativo para esto, una iniciativa llamada dotscene hace especificar un formato XML que se puede utilizar para configurar rápidamente una escena o nivel. El formato también es algo de un estándar dentro de Ogre, y un buen número de herramientas de 3 ª parte admite el formato.


Por desgracia la iniciativa dotscene no es tan completa de funciones como se podría esperar. Sí Dotscene simplemente especifica el formato y sale de la aplicación real a los demás. Ha habido muchos intentos de implementar la especificación, pero todos parecen tener sus defectos. Afortunadamente la última versión, conocida como la "Nueva DotScene Loader" en el Ogre Wiki, no aplicar la mayor parte de lo que necesitamos

.

Nuestro juego utilizará la clase DotSceneLoader, y por ahora vamos a extenderlo a apoyar inicialización gerentes escena terreno.

Más adelante vamos a dar la clase DotSceneLoader la capacidad de cargar objetos específicos de nuestro juego, que se desvían de la norma oficial, pero que está muy bien para nuestros propósitos.

DotSceneLoader.h

 #ifndef DOT_SCENELOADER_H # define DOT_SCENELOADER_H 

//Incluye # incluyen

Page   <<       [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.