Bullet physics: Rotating ground plane

Hello there,
I am currently looking into bullet physics and struggle with getting this scenario to work:
I have a couple of boxes that are created sitting on a plane (which is actually a dynamic big, flat box). I am then rotating that ‘plane’ with SetPose, which works fine, except that all the boxes on top do not move with it. Is this expected behaviour?
I was aiming to create a rotating disc that the boxes would fall off of, when rotated. What would be the best way to achieve this effect?

Cheers!

hey veevee, as far as i know, setpose is more like a “reset to position”, leading to physics not working properly. applyTorque or applyforce with a contrained box should work better.

Cool, thanks. I will try that! :)

hmmm… any hints on how to use constraints? I went through your tutorial but couldn’t find the answer. My wanna-be-plane just slides off in some direction :-/

maybe the hinge contrain can help. check the helpfile.

1 Like

Thanks, that works fine.
But to sum up: It is not possible to control one bodies position precisely (i.e. via an external input) and expect it to behave in a physically correct way with other objects, right? But how does bo’s example work then?

@veevee, setpose is definetely not the way to interfere with the physics simulation and expect it to behave correctly, since you can make harsh changes (from frame to frame) to objects which the simulation can not predict. in the end, 60 fps is not much resolution to simulate objects.

if you want to manipulate the physics world from outside, you usually use contrains, bind your mouse via an elastic contrain to your object of interest, to pull and push it in physics space. and here we have the big problem, we only have a fraction of the possible bullet engine contrains available. this is something i miss badly.

@bo27, maybe you can give veevee a hint. is this done with setpose and since the fingertip boxes may appear inside the game cube, they sort of push it in a certain direction ?

1 Like

i think you might want to look at kinematic bodies? you can take kinematic body, animate it with hard values and have it interact with world around. I was making a patch that basically shoots out kinematic bodies at a model, and the moment they collide they are replaced with dynamic body.
Also if you really want to do more complex physics i would suggest unity

1 Like

@StiX, you are right, forgot about them

Yea that’s sounds right…I think you have this type of objects and kinematic is like train…

Yeeeeeeeha, kinematic objects it is! Thanks a lot :D

Another unrelated question (now that I have all the pros gathered here): How do I manage to build a huge tower (lets say 30 boxes sitting exactly on top of each other) without it falling apart on startup? I tried to fiddle with restitution and friction but it’s impossible to not make them bounce off of each other on creation :-/ Any ideas?

Btw. would it make sense to do all that stuff in VL like joreg demonstrated?

@veevee
isAwake

set isAwake to false on creation, once the “sleeping” tower objects hit a moving “awake” object, they wake up. you can test this with my jenga example (node17) workshop.

thing is, once the objects are simulated, the tower gets unstable. it looks like this is part of the bullet engine since this can be seen in official bullet demos as well.

and regarding joregs VL demo, i guess you can use it but this is obviously just the starting point and you need to do a lot of stuff which is already working in the plugin version.

1 Like

Hmmm… I see. It works as expected, but only for so long :-/
Thanks a lot!

Be vary of scale, mass, etc. It is possible you can tweak it to make it stable

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.