Bullet "half" softbody

Hi there! :slight_smile:

This time I have a question about bullet physics: What is the method to set a certain model (say, a dress) as softbody but just a part of it?

Example: Let’s say that I have a full body dress, but the upper part of the dress respond to a skeleton deformation, and the bottom part respond to normal physics as a softbody: How can I achieve that? :question: :question: :question:

I’ve read the Bullet section of the manual, and looked in the samples provided by enn0x; but all the geometry used in these samples are generated using Bullet tools like “makePatch” (or at least, that is what it looks like), and I’d like to know how to set a model (or a part of it) as a softbody.

Thanks in advance!! :slight_smile: :slight_smile:
and sorry for my lack of knowledge :frowning: :frowning:

EDIT: Looking in the Bullet section of the Panda3DAPI, i’ve found the method linkGeom(Geom geom), i think that it’s for adding custom geometry to a BulletNode, but still it’s not clear to me how I can achieve “half-softbody” :frowning:

There is no such method, because it is not possible. A body is either a rigid body, or a soft body, or a ghost. It’s the same as for example you can’t have a point light which is also a little bit ambient. But you can have a point light AND an ambient light.

So make a rigid body for the part of your model which is rigid, and a soft body for the part of the model which is soft.

Thanks for the reply! :slight_smile: :slight_smile:

So, the answer is different parts for different behaviours. . . but, when I set a certain part of model as a softbody, how can I attach some of it’s vertices to the rigid part of the model? Example: I have a flag, which is a soft body, but two of it’s vertices (or maybe more) are attached to a pole.

Thanks in advance!! :slight_smile: :slight_smile:

By using the soft body method appendAnchor. you can specify a pivor point to use, and the last parameter disables collision between the two linked bodies, which is recommended in your case.