Moving a kinematic object

jduran
Posts: 11
Joined: Sat Aug 13, 2011 2:55 pm

Moving a kinematic object

Post by jduran »

Dear all,

In my application I've a kinematic object with dynamic objects on top of it. The problem appears when the kinematic object is moved very fast that look like dynamics objects doesn't detect the objects and traverse it. This doesn't if kinematic object is moved slowly.

This looks like when moving the kinematic object from A to B, it disappears from A and appears on B. Is it possible to simulate that the movement of a kinematic object is continuous?

Thanks and Best Regards,
Joaquim Duran
MaxDZ8
Posts: 149
Joined: Fri Jun 24, 2011 8:53 am

Re: Moving a kinematic object

Post by MaxDZ8 »

jduran wrote:This looks like when moving the kinematic object from A to B, it disappears from A and appears on B.
It is my understanding this is the intended behaviour ie. kinematic objects move by "warping" rather than a real movement and have 0 speed by default.
I'm replying mostly to track this thread.
Nonetheless, btRigidBody has a m_linearVelocity field. Perhaps using the setLinearVelocity function would result in compatible behaviour?
jduran
Posts: 11
Joined: Sat Aug 13, 2011 2:55 pm

Re: Moving a kinematic object

Post by jduran »

Max,

Thanks for your answer.

> Nonetheless, btRigidBody has a m_linearVelocity field. Perhaps using the setLinearVelocity function would result in compatible behaviour?

Then, I should define the objects as dynamic, to let Bullet to calculate the position of the object. OK, I see.

Thanks and Best Regards,
Joaquim Duran
MaxDZ8
Posts: 149
Joined: Fri Jun 24, 2011 8:53 am

Re: Moving a kinematic object

Post by MaxDZ8 »

jduran wrote:Then, I should define the objects as dynamic, to let Bullet to calculate the position of the object.
No, that's not what I intended.
I elaborated on the needs of DYN vs KIN objects in a specific thread about a month ago: Getting the rid of kinematic objects. Here, I consider the need to "hybridize" a kinematic object with some dynamic object behaviour and come to the conclusion that KIN objects are not intended to be the solution for that specific usage.

Whatever you have the same need is unclear to me.

I cannot really tell if Bullet is going to compute the position according to velocity but I expect it won't - kinematic objects are considered static AFAIK (with the exception to have their transforms updated; only if not sleeping) - what I expect is it will pull out the velocity vector for energy transfer computations. The object will still not move but hopefully it will push stuff around much more.
But that's just speculation.

Of course, if you can get the rid of the KIN object that would be just fine. There are a few cases in which this is not advisable nor viable.
AndrewK
Posts: 3
Joined: Sat Jun 02, 2012 6:42 pm

Re: Moving a kinematic object

Post by AndrewK »

Hi,

I am new to Bullet and I can not find informations I need. The problem is about moving kinematic object, so I write in here.
I just want to do 2 things:

1> I have kinematic object and I want to rotate that object to specific quaternion rotation in the next frame. Of course, I do not want to teleport this, but make physic's interpolated move to this rotation (because I have dynamic objects working with that kinematic).
2> I have kinematic object and I want to move that object to specific vector location.

I suspect I have to use btDefaultMotionState somehow in this situation, but I do not know exactly how to do this (tutorial example are using Ogre which I do not use, I use SIO2, but clear Bullet code also will help me much).

So, could someone help me with this trouble?