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

Vervoer naar de Irrlicht 3D-engine weet - Collision Detection

Download de demo en broncode

Terug naar de tutorial INDEX

Collision detectie en respons is een essentieel onderdeel van vrijwel elk 3D-spel . Het stopt je karakter lopen door muren of vallen door de grond. Verrassend, vindt u meer dan een 3D-engine vereist dat u uw eigen collision detection systeem te bouwen. Je kan een paar botsing of kruising tests voor eenvoudige vormen, zoals bollen, as uitgelijnd dozen en lijn te krijgen, maar het is aan jou om daadwerkelijk te testen voor botsingen, en dienovereenkomstig reageren.

Gelukkig Irrlicht bevat wel collision detection voor de meeste voorkomende situaties zou je verwachten te vinden in een 3D-spel. In deze tutorial gaan we bouwen van de terrein tutorial en collision detection dat de camera stopt met bewegen door het terrein mesh toe te voegen.

ApplicationManager.h /ApplicationManager.cpp

Met het terrein gemaakt, met behulp van de code van het terrein zelfstudie, dan creëren we een terrein driehoek selector.

Triangle selectors bieden een manier voor een object, zoals een terrein mesh, een 3D-model of een statische niveau, de driehoeken die bestaan ​​in rapport een bepaald gebied. Driehoek selectors worden veel gebruikt in collision detection.

We stellen dan is de driehoek selector we hebben gemaakt als de driehoek selector voor het terrein door te bellen naar de ISceneNode setTriangleSelector funcion. Dit lijkt misschien een beetje overbodig, aangezien hoe we zojuist de selector van de zelfde terrein object hebben we nu het leveren van de kiezer terug naar.

Dit wordt gedaan omdat, terwijl de driehoek selector die we hebben gecreëerd is er een die is geoptimaliseerd voor het werken met terrein mazen, Irrlicht geeft je de mogelijkheid om je eigen aangepaste driehoek selector maken als dat nodig is. In dat geval uw douanedriehoek selector en niet welke door het terrein object zelf, worden toegevoerd aan de setTriangleSelector functie.

Op dit punt van het terrein is een manier om te detecteren welke driehoeken kunnen zijn bij een botsing, maar dit alleen zal de camera stoppen met bewegen doorheen.

Daarvoor maken we een Collision Response Animator. Dit wordt gedaan door het aanroepen van de ISceneManager createCollisionResponseAnimator functie, het leveren van zowel de driehoek selector en de camera.

Standaard wordt de createCollisionResponseAnimator functie zal een ellipsoïde rond de camera, wat betekent dat de camera zal botsen met het terrein alsof creëren Het bezet ong

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.