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
Criando um jogo de plataforma flash com Flixel e Flex - Powerup Blocks
- Detectando Cores Imagens
- Compreender Jogo Programming
- Como centro de uma mensagem de uma linha em um C ++ program
- Armazenamento Duração em C ++
- Noções básicas de Janela Classes
- Referência Perl para uma sub-rotina Anonymous
- Variáveis de swap Valores em PHP
- Html5 pode fazer como Flash e Silverlight
- Regex Agrupamentos Perl
- Mysql Sql Programming