physics system

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • physics system

      hi guys,

      I just got done reading the physics chapter.. really helpful for understanding how to get Bullet up and going. The only thing I couldn't find information on was how to get the character controller working. Based on what I've read online, it seems that Bullet's character controller might be a bit buggy or unpolished compared to the rest of the library. Is that true?

      Do you have any sample code on how to set up and work with the character controller? If it's not worth using the Bullet one (too buggy or unstable?), where can I get information on how to write my own?

      Also, regarding physics systems in general. As far as I know, Havok no longer has the "indie developer" program that lets you download and use it in indie games. For indie 3D games, are Bullet and PhysX the main choices that we have as far as polished libraries go?
    • tapirgames.com/blog/open-source-physics-engines
      Here's a nice list of open sourced engines, and yes, currently the best options are either bullet physics or nvidia's physX.

      stackoverflow.com/questions/18…aracter-in-bullet-physics
      I'm not sure i've understood the problem of character controller, physics is a component that governs how you interact with the rest of the world, character controller is a component you have that allows you to control your characters movement. It doesn't belong in the same category.
    • Wolkec wrote:


      I'm not sure i've understood the problem of character controller, physics is a component that governs how you interact with the rest of the world, character controller is a component you have that allows you to control your characters movement. It doesn't belong in the same category.


      Not an expert here, but I think that some physics libraries include a character controller as an extra component. My basic understanding is that, unlike most physics objects in your game which are slaves to the physics system (moved by forces), the character is considered a kinematic body where you are in complete control of movement. With the kinematic body, you only need a way to update your position within the physics system with every movement.

      For PhysX, the documentation appears to be very good:
      docs.nvidia.com/gameworks/cont…CharacterControllers.html

      For Bullet, I haven't found much documentation, but you can see there is a btKinematicCharacterController class:
      github.com/bulletphysics/bulle…/BulletDynamics/Character

      Does anyone have experience using this class? Would you recommend using it in a game?

      In the GCC4 code, I see there is a BulletPhysics::VKinematicMove() function but it says not described in book:
      github.com/MikeMcShaffry/gamec…/GCC4/Physics/Physics.cpp

      Looks like you just manually feed in the model matrix and avoid the character controller altogether. Did you design your own character controller and just call this function every time the player moves?