*   >> lukeminen koulutus Artikkelit >> science >> programming

Tutustuminen Irrlicht 3D-moottori - Collision Detection

Lataa demo ja lähdekoodi

TAKAISIN TUTORIAL INDEX

törmäystunnistin ja vastaus on tärkeä osa melko paljon mitään 3D-peli . Se pysähtyy hahmosi kävely läpi seinien tai putoamisen maahan. Yllättäen, löydät enemmän kuin yksi 3D-moottori vaatii sinua rakentaa oman törmäysten havaitseminen järjestelmä. Saatat saada muutama törmäyksen tai risteyksen testit yksinkertaisia ​​muotoja, kuten palloja, akseli linjassa laatikot ja linja, mutta se on jopa voit todella testata törmäyksiä, ja reagoivat sen mukaisesti.


Onneksi Irrlicht se sisältää törmäyksen tunnistus Useimpien yhteisten tilanteissa voit odottaa löytävänsä 3D-peli. Tässä opetusohjelmassa me rakennamme pois maastosta opetusohjelma ja lisää törmäysten havaitseminen, joka pysäyttää kameran liikkeen kautta maastoon mesh.

ApplicationManager.h /ApplicationManager.cpp

maasto luotu käyttämällä koodi maastosta opetusohjelma, me sitten luoda maastoon kolmio valitsin.


Triangle valitsimet aikaan keino objektin, kuten maastoon mesh, 3D-malli tai staattinen tasolla, ilmoittamaan kolmioita, joita esiintyy tietyllä alueella. Kolmio valitsimet käytetään laajasti törmäysten havaitseminen.

aseta kolmion valitsin olemme luoneet koska kolmio valitsin maasto soittamalla ISceneNode setTriangleSelector funcion. Tämä saattaa tuntua hieman tarpeeton, kun huomataan miten me juuri luotu valitsin aivan samassa maastossa esine nyt toimittaa valitsin takaisin.

Tämä johtuu siitä, kun kolmion valitsin olemme luoneet on yksi, joka on optimoitu kanssa maasto silmien, Irrlicht ei anna sinulle mahdollisuuden luoda omia kolmio valitsin, jos haluat. Tällöin omia kolmio valitsin, eikä yksi luotu maasto kappale itsessään, olisi toimitettava setTriangleSelector toiminto.

Tässä vaiheessa maasto on tapa tunnistaa mikä kolmiot voi olla mukana törmäys, mutta tämä yksin ei pysäytä kamera ei liiku läpi. Sillä, että luomme Collision vastaus Animator.

Tämä tapahtuu kutsumalla ISceneManager createCollisionResponseAnimator toiminto, toimittaa sekä kolmion valitsin ja kamera.

Oletuksena createCollisionResponseAnimator toiminto luo ellipsoidi ympäri kamera, mikä tarkoittaa, että kamera törmää maastoon jos se miehitetty suunnilleen samaan tilaan kuin humanoidi merkki.

määritä animaattori kameraan soittamalla ISceneNode addAnimator toiminto.

Lopuksi sekä animaattori ja valitsin pudotetaan.


Nyt kun kamera näet, että se seuraa maasto, jopa pudottamalla

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.