Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to use one softbody with separated skinned meshes
#1
Hi! My objects have separated skinned meshes instead of just one. How do I use one softbody for all the softbody skinners? Do I have to bake the mesh before using it?
Reply
#2
(13-11-2019, 01:48 PM)manurocker95 Wrote: Hi! My objects have separated skinned meshes instead of just one. How do I use one softbody for all the softbody skinners? Do I have to bake the mesh before using it?

Hi,

Simply use the same softbody for the "source softbody" slot of all the skinners. Then hit "Bind skin" for each one.

kind regards,
Reply
#3
(13-11-2019, 02:38 PM)josemendez Wrote: Hi,

Simply use the same softbody for the "source softbody" slot of all the skinners. Then hit "Bind skin" for each one.

kind regards,

But I can't initialize the particles because there are multiple meshes. How do I do it?
Reply
#4
(14-11-2019, 09:27 AM)manurocker95 Wrote: But I can't initialize the particles because there are multiple meshes. How do I do it?

You need to have a single source mesh that defines the overall shape of the entire softbody. Then, attach each individual skinned mesh renderer to it.

This approach is very powerful, because it allows you to completely decouple simulation and rendering: you can generate the softbody particles using one mesh, then attach any other meshes (that might be completely different in size and shape) to it.

For instance, think about a car model: you have the entire car made out of multiple meshes (wheels, glass panes, interior, chassis..). Then you have one single, simpler mesh that defines the overall car shape, from which you generate the softbody. Then skin all individual pieces to it, and you end up having a single softbody simulation driving the deformation of multiple objects.
Reply
#5
(14-11-2019, 10:23 AM)josemendez Wrote: You need to have a single source mesh that defines the overall shape of the entire softbody. Then, attach each individual skinned mesh renderer to it.

This approach is very powerful, because it allows you to completely decouple simulation and rendering: you can generate the softbody particles using one mesh, then attach any other meshes (that might be completely different in size and shape) to it.

For instance, think about a car model: you have the entire car made out of multiple meshes (wheels, glass panes, interior, chassis..). Then you have one single, simpler mesh that defines the overall car shape, from which you generate the softbody. Then skin all individual pieces to it, and you end up having a single softbody simulation driving the deformation of multiple objects.

Okay, as I don't have just one mesh but multiple meshes, then i must bake it into one, right?

The problem is here: Even if I have the body mesh, my mesh is compound by multiple meshes, not just one. 

[Image: J6B4Xkp.png]
Reply
#6
(14-11-2019, 10:27 AM)manurocker95 Wrote: Okay, as I don't have just one mesh but multiple meshes, then i must bake it into one, right?

The problem is here: Even if I have the body mesh, my mesh is compound by multiple meshes, not just one. 

[Image: J6B4Xkp.png]

Hi,

I see in the screenshot that your renderer has an animator. If you're using an animator to animate the mesh, it will override the softbody simulation entirely. Maybe you misunderstood the principle behind skinned meshes?  Indeciso

Softbody deformation works by skinning the mesh to the softbody particles. So your mesh vertices are either skinned to a particle, or skinned to a regular bone, cannot be skinned to both!

You could have part of your Rayquaza simulated, and part animated (like the ElasticCharacter sample scene, that has its arms simulated and the rest of its body animated). But you cannot have the entirety of the mesh both animated and simulated! Drop me a PM if you want to explain your use case in more detail, maybe I can help with it Sonrisa.

Answering your original question: you'd need to have a cylindrical-ish mesh that approximates the shape of  Rayquaza. Generate a softbody from it, then bind all individual skinned mesh renderers to the softbody.
Reply
#7
(14-11-2019, 10:49 AM)josemendez Wrote: Hi,

I see in the screenshot that your renderer has an animator. If you're using an animator to animate the mesh, it will override the softbody simulation entirely. Maybe you misunderstood the principle behind skinned meshes?  Indeciso

Softbody deformation works by skinning the mesh to the softbody particles. So your mesh vertices are either skinned to a particle, or skinned to a regular bone, cannot be skinned to both!

You could have part of your Rayquaza simulated, and part animated (like the ElasticCharacter sample scene, that has its arms simulated and the rest of its body animated). But you cannot have the entirety of the mesh both animated and simulated! Drop me a PM if you want to explain your use case in more detail, maybe I can help with it Sonrisa.

Answering your original question: you'd need to have a cylindrical-ish mesh that approximates the shape of  Rayquaza. Generate a softbody from it, then bind all individual skinned mesh renderers to the softbody.

I don't have any animator assigned so it should not override anything...
Reply