I'm currently working on a game engine, and earlier I tried to get soft bodies working to a manageable level for the 3rd time. A good ~14 hours of work over the last 3 days(60+ hours over all 3 attempts), and I am now firmly thinking that soft bodies are just not usable for any purpose aside from bullet's own demo's. The amount of rules, degree of complexity, and COMPLETE lack of documentation makes it a practice in futility.
I could go into detail about the issues I've had, in one such case I've already posted about it and not gotten any help, but I'll refrain from that for now unless requested otherwise.
What I want to know is with all the work being put into the soft body solvers for OpenCL are there also plans to refactor the soft body class/code any time soon(for bullet 3 at least?) so that it is less annoying? Or even more useful? Or are you just accelerating a frustrating/useless feature?
Upgrades to Soft Bodies on the horizon?
-
- Posts: 171
- Joined: Sun Jan 17, 2010 4:47 am
-
- Posts: 237
- Joined: Tue Jun 29, 2010 10:27 pm
Re: Upgrades to Soft Bodies on the horizon?
I just recently managed to get soft body dynamics integrated into my lab's simulations. And I feel your frustration. I spent a while going over the Bullet demos, the source code, the forums, what little is in the manual, and much trial and error to get it working satisfactorily. Actually, much of my problem involved trying to synchronize the physics and graphics (Ogre, in my case) meshes using btOgre. Anyway if you are still having problems with it, I might be able to help.
[Edit]: Huh...scratch that. I just checked out your old posts you linked to to see what issues you were having. In my simulation I never moved static objects, so never encountered that problem. After trying it out, I get no collisions between moved static objects and soft bodies. But then, come to think of it, I do recall reading that static bodies should - and are expected to - never be moved. If I am understanding your problem, I believe what you want is a kinematic - rather than static - body.
[Edit]: Huh...scratch that. I just checked out your old posts you linked to to see what issues you were having. In my simulation I never moved static objects, so never encountered that problem. After trying it out, I get no collisions between moved static objects and soft bodies. But then, come to think of it, I do recall reading that static bodies should - and are expected to - never be moved. If I am understanding your problem, I believe what you want is a kinematic - rather than static - body.
-
- Posts: 171
- Joined: Sun Jan 17, 2010 4:47 am
Re: Upgrades to Soft Bodies on the horizon?
It's not that the static body is being moved in the simulation, I'm just not using the motion state to set it's initial transform. When I do make the motion state I set it to the origin(0,0,0), and then I set the location as I see fit with getWorldTransform().setOrigin(). All this happens before the object enters the world, and it never changes after that point. So the terrain isn't actually moving.
I first stumbled onto the issue when trying to make my terrain be just btCollisionObject's instead of rigid bodies thinking that would be more performant, but soft bodies don't seem to want to collide with them at all. So I made them rigid bodies and ran into that issue. They collide when the transform is set in the motion state(and passed into to construct the rigid body) and it's never altered again, otherwise it won't.
As a side note I'm using Ogre for rendering as well.
I first stumbled onto the issue when trying to make my terrain be just btCollisionObject's instead of rigid bodies thinking that would be more performant, but soft bodies don't seem to want to collide with them at all. So I made them rigid bodies and ran into that issue. They collide when the transform is set in the motion state(and passed into to construct the rigid body) and it's never altered again, otherwise it won't.
As a side note I'm using Ogre for rendering as well.
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
Re: Upgrades to Soft Bodies on the horizon?
There is currently no-one working on improving the soft body/cloth work in Bullet, but with a bit of luck we get a chance to hire someone to make improvement in this area (not just GPU optimizations).
Can you create a reproduction case of your issue in the Bullet/Demos/SoftBody and file it in the issue tracker?
http://code.google.com/p/bullet/issues/list
Thanks!
Erwin
Can you create a reproduction case of your issue in the Bullet/Demos/SoftBody and file it in the issue tracker?
http://code.google.com/p/bullet/issues/list
Thanks!
Erwin
-
- Posts: 171
- Joined: Sun Jan 17, 2010 4:47 am
Re: Upgrades to Soft Bodies on the horizon?
I finally had some time to try and reproduce the issue in the demo today, and I couldn't find where in the softbody demo you create the terrain. I saw where all the other rigid bodies in the simulation are created, and I saw where the collision shapes for the terrain is made, but not where the terrain itself is made. Where does this occur in the demo?
-
- Posts: 32
- Joined: Tue Feb 22, 2011 1:00 pm
Re: Upgrades to Soft Bodies on the horizon?
Reading this topic, I understood why I have so many problems with soft bodies. Well, I knew about them, but I thought that this is due to the lack of experience in the field. Currently I must create a Serious game with physical engine, and soft bodies, and I find it very difficult, because of the reasons stated in the title post. Also there are many things that are implemented for the rigid bodies, and not for the soft ones. This screwed up the project that I wanted to do, and right now I'm stuck, thinking if I choose well the physical engine.