Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to match softbody to the non zero position and rotation skinned mesh model
#1
I have difficulty in matching the softbody to the skinned mesh model when the mesh's position and rotation is not in zero. Here is my situation:

I created a softbody blueprint with the skeleton. 
   

Back to the scene, the skeleton is matching the model, but the mesh is rotated 90 degrees.
   

When i move the leg joint, only the skeleton and mesh will move accordingly, the softbody remains the same.
   

As the "_body_summer" object rotation is -90, so i rotated 270 when doing the blueprint.
   

Back to the scene, now both skeleton and softbody match with the model. However, when i move the leg joint, the softbody still no response.
   

The upper case is only having the rotation issue, but i had another model that the mesh is in different position and the softbody will shifted. But in the blueprint inspector, i can't adjust the mesh position. Therefore, is that i have to change the mesh position to zero?
Reply
#2
(12-04-2022, 06:27 AM)debbie Wrote: I have difficulty in matching the softbody to the skinned mesh model when the mesh's position and rotation is not in zero.

Hi!

Meshes don't have position or rotation, transforms do. Mesh vertices are expressed in object space, in which the mesh's pivot is always at the origin (0,0,0).

When you create a blueprint, you do so for a mesh, no transform hierarchy involved. So when you later apply the blueprint to a softbody in the scene, which does have a transform hierarchy applied to it, its mesh will be rotated/translated/scaled post-simulation.

(12-04-2022, 06:27 AM)debbie Wrote: Back to the scene, now both skeleton and softbody match with the model. However, when i move the leg joint, the softbody still no response.

Is this is play mode? In-editor, the simulation is not performed.
Also, did you skin the mesh to the softbody? (pressed the ObiSoftbodySkinner's "bind skin" button)?

(12-04-2022, 06:27 AM)debbie Wrote: The upper case is only having the rotation issue, but i had another model that the mesh is in different position and the softbody will shifted. But in the blueprint inspector, i can't adjust the mesh position. Therefore, is that i have to change the mesh position to zero?

Typically, you want meshes to be modeled in a way such that they don't have to be rotated, scaled or translated just to look the intended way. Having random transforms values just for the mesh to look right isn't great (for instance, the scale of the object be 12.3 and its translation -11.8 just for it to look normal). You will have to compensate for these values in the blueprint, which allows to set the mesh scale and rotation for convenience. Translation isn't allowed, since the pivot of the mesh is always at zero in object space.

If you have rotated/translated/scaled your transforms in order to adjust how the mesh looks in your modeling program, you have to apply these to the mesh. Most modeling packages have an "Apply" or "Freeze" tool that does this for you. For instance in Blender, it's Object->Apply. This will reset your transform to the identity (zero translation, zero rotation, unit scale) while keeping the mesh intact.

We have a video on this subject, that might be helpful: https://www.youtube.com/watch?v=5j7k_tJUSJc

let me know if I can be of further help.
Reply