*   >> Lezen Onderwijs artikelen >> science >> programming

Het maken van een 3D-spel met Ogre - Laden van een Scene

Download de demo en de broncode [LINUX]

Download de demo en de broncode [WINDOWS]

Terug naar de tutorial INDEX

Nu we de Ogre 3D-engine is het tijd om te beginnen met een aantal 3D-objecten tonen van zijn geïnitialiseerd. Een van de vragen die ontwikkelaars moeten aanpakken is hoe een niveau zal worden bepaald en in de Ogre engine geladen. De gemakkelijkste manier, althans in het begin, is om gewoon de harde code het creëren van een level in C ++.

Alle van de monsters die bij de Ogre 3D SDK harde code de logica voor het maken van een terrein, het weergeven van een 3D-object, het opzetten van een skybox etc, dus het is verleidelijk om de code te combineren van al deze monsters tot een complete niveau.

Er zijn verschillende grote nadelen aan het definiëren van een level op deze manier.

1. Elke kleine verandering in het niveau vereist de toepassing te worden gecompileerd (en dat wordt erg tijdrovend).

2. Het is bijna onmogelijk voor iemand anders dan de ontwikkelaar om levels te creëren.

3.

Het betekent dat je niet 3rd party tools kunnen gebruiken om een ​​wereld te creëren, omdat er geen nut wereldcreatie Ik weet van de uitgangen C ++ code.

Het alternatief is om een ​​level in een extern bestand te definiëren. Terwijl Ogre heeft geen native ondersteuning voor deze, een initiatief genaamd dotscene doet geeft u een XML-formaat dat kan worden gebruikt om snel opstelling een scène of niveau. Het formaat is ook iets van een standaard binnen Ogre, en een flink aantal 3rd party tools ondersteunen het formaat.

Helaas is het dotscene initiatief is niet zo functie compleet als je zou verwachten. Dotscene zelf bepaalt alleen het formaat en laat de concrete uitvoering aan anderen. Er zijn vele pogingen om de specificatie voeren, maar lijken hun tekortkomingen. Gelukkig is de meest recente implementatie, aangeduid als de "Nieuwe DotScene Loader" op de Ogre Wiki, is de uitvoering van de meeste van wat we nodig hebben.

Ons spel zal de klasse DotSceneLoader gebruiken, en nu zullen we het uit te breiden tot ondersteuning initialiseren terrein scene managers.

Later zullen we de DotSceneLoader klasse de mogelijkheid om te laden geven objecten die specifiek zijn voor ons spel, die zal afwijken van de officiële standaard, maar dat is prima voor onze doeleinden.

DotSceneLoader.h

 # ifndef DOT_SCENELOADER_H # definiëren DOT_SCENELOADER_H 

//Inclusief # include "OgreString.h" #include "OgreVector3.h" #includ

Page   <<       [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.