Miután sikeresen kimerítettem PhysX alatt a lényegesebb megoldási lehetőségeket (NxController, NxUserContactReport, SweepTest) kitaláltam egy PhysX független megoldást.
A szereplő dinamikus fizikai objektum marad és az ütközést is a fizikai engine végzi azonban a kölcsönhatásokat már a játék engine kezeli le. Így megvalósulnak az alábbi követelmények a character controller-rel szemben:
- egyenletes mozgással, adott irányban mozog, gyorsulás/lassulás szabályozható ill. kikapcsolható
- nincs csúszkálás ill. lecsúszás ferde felületről ill. szabályozható, hogy mekkora szögnél csússzon meg
- képes érzékelni ha van a lába alatt talaj és
- csak akkor engedélyez mozgást egyébként a gravitációra reagál
- képes érzékelni a lába alatt mozgó talajt - mind forgatást, mind elmozdulást - és megfelelően viselkedni
- képes érzékelni a lépcsőket ill. ennél általánosabban bármit amire fizikailag lehetséges fellépni
Valószínű a lista nem teljes (pl. létrán mászás, falon mászás, tárgyra felmászás stb) idővel bővülni fog mindenesetre a szereplők vezérlése megoldottnak tekinthető ezzel a változattal. Remélhetőleg Bullet alatt is ugyanezen funkciók megvalósíthatók.