Page 1 of 1

What exactly is a kinematic object?

Posted: Sun Jan 18, 2015 11:41 pm
by pixartist
Does it collide ? Can it have velocity ? How does it differ from a static object ?

Re: What exactly is a kinematic object?

Posted: Mon Jan 19, 2015 2:04 am
by Basroil
pixartist wrote:Does it collide ? Can it have velocity ? How does it differ from a static object ?
Kinematic objects are just as the name implies, they interact with the world, but the world doesn't interact with them. If a kinematic object pushes a dynamic one, the dynamic object will move but kinematic one will be unaffected. You can basically think of them as objects of infinite mass with user defined velocity and position (much like a static object is of infinite mass with zero velocity at a fixed position). As such, you can get collision data and dynamic-kinematic collisions are easy, but the collision of two kinematic objects is up to you.

Re: What exactly is a kinematic object?

Posted: Mon Jan 19, 2015 2:43 am
by pixartist
Basroil wrote:
pixartist wrote:Does it collide ? Can it have velocity ? How does it differ from a static object ?
Kinematic objects are just as the name implies, they interact with the world, but the world doesn't interact with them. If a kinematic object pushes a dynamic one, the dynamic object will move but kinematic one will be unaffected. You can basically think of them as objects of infinite mass with user defined velocity and position (much like a static object is of infinite mass with zero velocity at a fixed position). As such, you can get collision data and dynamic-kinematic collisions are easy, but the collision of two kinematic objects is up to you.
So making a kinematic player controller requires to create custom physical interaction between the controller and static objects ?

Re: What exactly is a kinematic object?

Posted: Mon Jan 19, 2015 3:35 am
by drleviathan
So making a kinematic player controller requires to create custom physical interaction between the controller and static objects ?
Yes maybe...

If you just want to walk around on terrain, up ramps, down steps, and slide against walls then the btKinematicCharacterController may provide for all your needs *. But if you want your character to be able to stumble when running into a wall too fast or when bumped by a moving object then yes, you would have to track collisions and write code to handle such special cases.

* This is my understanding after reading its API and having worked with CharacterControllers in other physics engines. I haven't actually used Bullet's yet.