_fpeti_ 2012.05.21. 23:19

Repülő npc-k és a Havok

 

Jól elszórakoztam ezzel is, az Intel-es Havok fórumon is tiszteletemet tettem, ahol mondották, hogy hát 100 féle képen meg lehet oldani egy hkpCharacterRigidBody reptetését. 0-ra állítom a gravitciót és wiiiii, már száll is amerre akarom!
Ez igaz, de ha hozzáér bármihez a talpán, akkor odatapad, mert beindul a gyalogló-algoritmus, csúszósíkok számolása, stb. Ráadásul  a hkpCharacterContext::update mindig nullázza az y-t a mozgási irányban, így hiába adunk meg a hkpCharacterInput::m_forward-ban függőleges mozgási irányt, az csak vízszintes síkon hat. Így aztán én inkább kitaláltam magamtól, ahogy szoktam. :)
A megoldás:
ne vegye észre a kontroller, hogy áll valamin, amit ezzel lehet elérni:
hkpCharacterInput::m_surfaceInfo.m_supportedState = hkpSurfaceInfo::UNSUPPORTED;

A kontroller mozgatása ezután már működik, nem a hkpCharacterInput-on keresztül persze, hanem közvetlenül a rigidbody sebességét kell állítani, vagy a gravitációt +- irányba beállítani.

Elsőre furának tűnt egyébként, hogy nincs standard repülő-npc megoldás egy drága 'industry-standard api'- ban, de ez talán nem is olyan meglepő, ha a mai 3d-s játékokat nézzük. Ritkák manapság a repülő szörnyek, maximum helikopterek, azokat meg meg lehet oldani egyszerűbben is. Azok nem szoktak falakról visszapattanni, csúszkálni :3.
 

Szólj hozzá!

A bejegyzés trackback címe:

https://sortagamedev.blog.hu/api/trackback/id/tr564530713

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása