*   >> Leitura Educação Artigos >> science >> programação

Fazendo um jogo 3D com Ogre - Carregando um Scene

o download do demo e código fonte [LINUX]

o download do demo e código fonte [Windows]

VOLTAR À TUTORIAL INDEX

Agora que temos iniciado o motor Ogre 3D é hora de começar a exibir alguns objetos 3D. Uma das perguntas que os desenvolvedores têm que enfrentar é como um nível será definido e carregado para dentro do motor Ogre. A maneira mais fácil, pelo menos inicialmente, para o código é simplesmente difícil a criação de um nível em C ++.

Todas as amostras que vêm com o código rígido Ogre 3D SDK a lógica para a criação de um terreno, mostrando um objeto 3D, a criação de um camarote etc, por isso é tentador para combinar o código de todas essas amostras para fazer um nível completo.

Há vários grandes desvantagens para a definição de um nível desta forma.

1. Cada pequena mudança ao nível requer a aplicação de ser recompilados (e que fica muito demorado).

2. É quase impossível para qualquer outra pessoa que o desenvolvedor para criar níveis.

3.

Isso significa que você não pode usar ferramentas de 3 para criar um mundo, porque nenhum utilitário de criação de mundo que eu conheço de saídas de código C ++.

A alternativa é definir um nível em um arquivo externo. Enquanto Ogre não tem suporte nativo para isso, uma iniciativa chamada dotscene faz especificar um formato XML que pode ser usado para configurar rapidamente uma cena ou nível. O formato também é algo de um padrão dentro de Ogre, e algumas ferramentas de 3 suporta o formato.


Infelizmente a iniciativa dotscene não é tão completo de recursos como você poderia esperar. Si Dotscene apenas especifica o formato e deixa a sua execução propriamente dita para os outros. Tem havido muitas tentativas de implementar a especificação, mas todos parecem ter suas deficiências. Felizmente a mais recente implementação, referido como o "New DotScene Loader" no Ogre Wiki, não implementar mais do que precisamos.

Nosso jogo vai usar a classe DotSceneLoader, e por enquanto vamos estendê-lo para apoiar inicializar gestores cena terreno.

Mais tarde, vamos dar a classe DotSceneLoader a capacidade de carregar objetos específicos para o nosso jogo, que vai desviar-se do padrão oficial, mas que é bom para os nossos propósitos.

DotSceneLoader.h

 #ifndef DOT_SCENELOADER_H # definir DOT_SCENELOADER_H 

//Inclui # incluem "OgreString.h" #include "OgreVector3.h" #include "OgreQuaternion.h" #include "vector"

//Atacante

Page   <<       [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.