3D-spelontwikkeling met ShiVa3D Suite de ShiVa-editor

Benieuwd naar 3D-game-ontwikkeling? Nu is het tijd om te leren! Deze vijfdelige tutorialserie laat zien hoe je een eenvoudig spel kunt bouwen met ShiVa3D Suite, een platformonafhankelijke 3D-game-engine en een authoringtool. In dit tweede deel leert u hoe u de ShiVa-editor en Collada-modelbestanden gebruikt.


De ShiVa-editor gebruiken

In deel 1 van deze tutorial hebben we de tutorial applicatie geïntroduceerd, verschillende ShiVa3D concepten besproken en de belangrijkste tools in de ShiVa3D suite. We hebben ook de bestanden uitgelegd in het downloadarchief bij deze zelfstudie. In deel 2 zullen we bespreken hoe we het spel kunnen ontwikkelen met de ShiVa-editor. We zullen de ShiVa Editor-modules introduceren die worden gebruikt bij het ontwikkelen van de zelfstudietoepassing. Vervolgens zullen we het hebben over de Collada-modelbestanden die de hoofdpersonen in de toepassing vertegenwoordigen. Ten slotte bespreken we enkele eerste stappen die zijn gebruikt om de toepassing te maken, zoals het maken van het spel en de scène en het importeren van de Collada-modellen.


ShiVa Editor Modules

Laten we eerst een korte introductie geven van de verschillende modules in de ShiVa-editor. We hebben het grootste deel van deze informatie geleend van de hulpdocumentatie van ShiVa Editor.

Gegevensverkenner is een resource manager die toegang biedt tot verschillende elementen van het spel, inclusief het spel zelf, scènes, AIModels, materialen etc. De gebruikersinterface presenteert die bronnen in een hiërarchische mappenstructuur.

Game-editor is de hoofdmodule van de uitgever die de ontwikkelaar de bron van het spel laat bewerken. Met gameditorontwikkelaar kan bijvoorbeeld de scènes en het AIModel worden gedefinieerd dat aan het spel is gekoppeld.

Scene Viewer stelt de ontwikkelaar in staat om de scènes in het spel en de modellen in die scènes te visualiseren.

Scene Explorer is een afzonderlijke module die onafhankelijk is van de sceneviewer. De ontwikkelaar gebruikt voornamelijk de scènebezoeker om bronnen in een scène te vinden en te beheren.

Attributeneditor wordt gebruikt om verschillende attributen van een object te bewerken. Deze kenmerken omvatten de vertaling, rotatie en schaal van het object, evenals attributen gegroepeerd onder koppen zoals zichtbaarheid, licht, sensor, botsing enz..

Materiaal-editor is een WYSIWYG-editor voor het maken en bewerken van materialen in het spel.

Sfeereditor wordt gebruikt om visuele attributen van een scène zoals kleur, belichting en verschillende visuele effecten te bewerken.

AIModel-editor laat de ontwikkelaar AIModels bewerken. Met de AIModel-editor kunt u variabelen, functies, toestanden en handlers definiëren voor een AIModel.

Scripteditor wordt gebruikt om scripts van een AIModel te bewerken.


Verkrijg de benodigde gamebestanden

Ten eerste hebt u de volgende vier bestanden nodig, die deel uitmaken van de downloads die bij de zelfstudie horen.

  • duck.dae, duckCM.tga: Die bestanden vertegenwoordigen het Collada-model van de eend. Je kunt ook die downloaden van hun oorspronkelijke bron. Klik op de startpagina van de site op de link Modelbank en meld u aan of kies voor anonieme toegang door te klikken op de link 'Klik hier voor anonieme toegang'. Ga dan naar Openbare sectie -> COLLADA 1.4.1 Basisvoorbeelden -> Eend. Duck.dae en duckCM.tga downloaden. (Voor informatie over het grafische formaat van Collada is het bijbehorende Wikipedia-item een ​​goed startpunt.)
  • sphere.dae: dit bestand vertegenwoordigt het Collada-model van het ei. U kunt het downloaden van de Model Bank van zijn oorspronkelijke locatie, vergelijkbaar met hierboven, volgens de openbare sectie -> COLLADA 1.4.1 Basissteekproeven -> Sphere. (Zoals de naam al aangeeft, is dit eigenlijk een bol. We zullen later uitleggen hoe je met zijn afmetingen kunt spelen om er een ei van te maken.)
  • marble.jpg: Dit bestand vertegenwoordigt de achtergrond 'skybox' afbeelding. Het is een gedeelte van een groter bestand, 1213316117-7.jpg, gedownload van http://www.texturewarehouse.com.

Maak het spel en de scène

Start de ShiVa-editor. Selecteer in het menu bovenaan de balk Hoofd -> Projecten -> Toevoegen. Voer een mappad in om je game op te slaan. (We kozen voor D: \ temp \ Duck.)

Figuur 10. Het project maken

Druk op Sluiten. In Gegevensverkenner ziet u nu een map op het hoogste niveau met de naam Eend. Selecteer de map Games en selecteer Create -> Game in het snelmenu. Noem het spel Duck ook.

Figuur 11. Het spel maken

De game moet zichtbaar zijn in Gegevensverkenner wanneer u de map Games selecteert, zoals hieronder wordt weergegeven.

Figuur 12. Game In Data Explorer

Schuif in Gegevensverkenner omlaag om de map Scènes te selecteren. Selecteer Create -> Scene in het snelmenu. Noem het MyScene.

Figuur 13. De scène maken

U moet de nieuw gemaakte scène in de Gegevensverkenner zien wanneer de map Scènes is geselecteerd, zoals hieronder wordt weergegeven.

Figuur 14. Scène In Gegevensverkenner

Modellen importeren en configureren

We importeren nu de modellen voor de eend en het ei. Voor het gemak hebben we alle drie de bestanden duck.dae, sphere.dae en duckCM.tga in dezelfde map D: \ temp \ collada_models geplaatst. Als u in uw omgeving die bestanden op een andere locatie plaatst, moet u de onderstaande instructies dienovereenkomstig vervangen.

Selecteer in Gegevensverkenner Importeren -> Model, zoals hieronder weergegeven.

Figuur 15. Een model importeren

Kies in het dialoogvenster Bestand om tekst te importeren het volledige pad naar duck.dae. Verander niets in het dialoogvenster. Druk op Importeren (zie hieronder).

Figuur 16. Het model voor eend importeren

Nadat het importeren is voltooid, ziet u het bericht Bezig met importeren geslaagd, zoals hieronder wordt weergegeven. Druk op OK om het dialoogvenster te sluiten.

Figuur 17. Volledig dialoogvenster importeren

Herhaal de invoer voor het ei, sphere.dae. Het dialoogvenster voor het importeren van sphere.dae wordt hieronder weergegeven.

Figuur 18. Het model importeren voor ei

Nu zou u de eend en de bol moeten zien in de lijst met modellen wanneer de map Modellen is geselecteerd in Gegevensverkenner. Dit wordt hieronder getoond.

Figuur 19. Modellen in Gegevensverkenner

Vervolgens plaatsen we die modellen in onze scène. Open de Game Editor en de Gegevensverkenner. Dubbelklik in de Gegevensverkenner op Eend onder de map Games. Het spel wordt geladen in de Game-editor. Selecteer het tabblad Scènes in de speleditor. Selecteer in de Gegevensverkenner de map Scènes en sleep MyScene naar het tabblad Scènes in de speleditor (zie hieronder).

Figuur 20. Scene In Game

Breng de Scene Viewer en Gegevensverkenner zij aan zij. Selecteer in de Gegevensverkenner de map Scènes en dubbelklik op MyScene. Selecteer de map Modellen in de Gegevensverkenner. Sleep de eend uit de map Modellen naar de Scene Viewer. Versleep de bol van de map Modellen naar de Scene Viewer.

Nu heeft MyScene beide modellen erin. We moeten echter de locatie en grootte van die modellen aanpassen. Ook zullen we botsingssensoren toevoegen aan de eend en het ei. Breng de Attributes Editor en Scene Explorer naast elkaar. Dubbelklik in Gegevensverkenner op MyScene. In de Scene Explorer, Objects-tab zou je DefaultCamera, duck en sphere moeten zien. Selecteer DefaultCamera in Scene Explorer. Stel in het gedeelte Gemeenschappelijke kenmerken van de editor Attributen de vertaalwaarden in op respectievelijk 6, 7 en 5 voor de X-, Y- en Z-as. (Zie hieronder.)

Figuur 21. Camerokenmerken

Selecteer nu de eend in de Scene Explorer. Stel in het gedeelte Gemeenschappelijke kenmerken van de editor Attributen de vertaalwaarden in op respectievelijk 2, 3 en 2 voor de X-, Y- en Z-as. Stel ook Schaalwaarden in op 0,01, 0,01 en 0,01 voor alle drie de assen, zoals hieronder weergegeven.

Figuur 22. Attributen voor Duck

Selecteer vervolgens in de Scene Explorer de duck en klik met de rechtermuisknop op het menu, Attributes -> Sensor -> Voeg een bolsensor toe zoals hieronder getoond.

Figuur 23. Sensor aan eend toevoegen

Selecteer in de Scene Explorer het gedeelte Sensoreigenschappen. Definieer de offsetwaarden als 0, 55, 0 en Size = 75. Dit wordt hieronder weergegeven.

Figuur 24. Sensor voor eend configureren

Selecteer de bol in de Scene Explorer. Stel in het gedeelte Gemeenschappelijke kenmerken van de editor Attributen de vertaalwaarden in op respectievelijk 0, 3 en 0 voor de X-, Y- en Z-as. Stel ook Schaalwaarden in op 0,4, 0,4 en 0,5, zoals hieronder weergegeven. (We verdraaien de z-schaal een beetje, om een ​​eivorm aan het bolvormige model te geven.)

Figuur 25. Attributen voor ei

Selecteer nu in de Scene Explorer de sfeer en in het menu met de rechtermuisknop, Attributes -> Sensor -> Voeg een sfeersensor toe. Selecteer in de Scene Explorer het gedeelte Sensoreigenschappen. Definieer de offsetwaarden als 0, 0, 0 en Size = 1.1.

Figuur 26. Sensor voor ei configureren

Materiaal bewerken voor de eend en het ei

We gaan nu de materialen voor de eend en het ei bewerken. Breng de Materiaaleditor en Gegevensverkenner zij aan zij en selecteer de map Materialen in de Gegevensverkenner. Dubbelklik op het materiaal met de bestandsnaam duck_blinn3, zoals hieronder getoond.

Figuur 27. Materiaalbewerker voor Duck

Controleer Statische belichting, per vertex in de sectie Materiaaleditor, Verlichting. Controleer onder Schaduw Cast-statische schaduwen casten. Pas Ambient-kleur aan zodat deze puur wit wordt. Dit wordt hieronder getoond.

Figuur 28. Verlichting voor eend

Pas bij verlichting ook Diffuse volledig zwart aan en stel Shininess in op 0,22.

Figuur 29. Verdere verlichtingsaanpassingen voor Duck

Stel in het gedeelte Geavanceerde effecten Intensiteit: 120 in.

Figuur 30. Geavanceerde effecten voor Duck

Bewerk op dezelfde manier het materiaal met de naam sphere_lambert1 in de Materials Editor. Controleer in de sectie Verlichting Statische verlichting ontvangen, per vertex. Controleer onder Schaduw Cast-statische schaduwen casten. Pas Ambient-kleur aan zodat deze puur wit wordt.

Figuur 31. Verlichting voor ei

Pas Diffuse aan om helemaal zwart te zijn en zorg ervoor dat Shininess op 0.5 staat, zoals hieronder getoond.

Figuur 32. Verdere verlichtingsaanpassingen voor ei

Stel tot slot in de sectie Geavanceerde effecten de Intensiteit in op 120.


Slotopmerkingen voor deel 2

In deel 2 zijn we begonnen met het beschrijven van hoe het spel te ontwikkelen met ShiVa Editor. We hebben de ShiVa Editor-modules geïntroduceerd die worden gebruikt bij het ontwikkelen van de zelfstudietoepassing. Vervolgens hebben we gesproken over de Collada-modelbestanden die de hoofdpersonen in de toepassing vertegenwoordigen. We hebben ook enkele eerste stappen besproken om de toepassing te maken, zoals het maken van het spel en de scène en het importeren van de Collada-modellen. In deel 3 zullen we laten zien hoe we de scène van onze applicatie kunnen bewerken. We beginnen ook met het invoeren van de code voor de AIModels van het spel. In het bijzonder zullen we de code voor de DuckAI invoeren.