Ragdoll problem with my avatars


#1

@ryan @ozan
I’m having a problem when I turn on raghdoll self collisions with avatars in that i seem to jump up out of my body
The origin point of the rig and mesh is between the feet is that correct?
Its only my avatars seem to do this so I’m sure its something I’m doing or not doing in Blender
Any suggestions would be appreaciated


#2

Doesn’t really matter where the origin of the model is in the FBX – everything should be computed to be relative to the “hips” joint which should be the root joint of the skeleton.

Each parent-child joint pair has their mutual collisions disabled for the ragdoll simulation. In addition, during initialization of the avatar model the skeleton shapes are put into their “default pose” and any shapes that happen to collide in this pose also have their mutual collisions disabled. If this pairwise collision bypass system is not working for your avatar then I could see how it might get chaotic when simulated, since the skeleton constraints will fight with the collision penetrations.

Another problem that I’ve seen on some models is where the model happens to have some extra joints that are not part of the default skeleton (for example, if some lights or other things were left in the FBX file when it was exported). I thought I fixed this problem by ignoring those other joints for the purpose of collisions. Nevertheless, I mention it because it might be a similar problem (some case we’re not yet handling) for your models.

BTW, the reason the thighs have such a large collision shape for most models is due to how the bone radius is computed. It’s a known issue and needs to be fixed or at least reduced.

Send me a link to the avatar model and I’ll try to debug it.


#3

http://public.highfidelity.io/models/skeletons/cgc_character_female_basemesh.fst
Its using the mixamo rig but its been through Blender,
thanks @leviathan


#4

I was able to login with that model. Interestingly the collision shapes are rendered in the correct location while the body mesh itself is offset up. Will try to look at it in more detail.


#5

I did some debugging and looked at the info during the FBX load (in extractFBXGeometry() in FBXReader.cpp) and found that the joint transforms are bad during load. My guess would be that Blender is producing a valid FBX file, but it is using some features that we do not yet support.

FBX is quite featureful – it supports just about every which way you might want to specify a scene, including special flags that indicate that this transform is relative to that one rather than the other one. We don’t yet handle them all.

We do need to enhance our FBX support, but that effort is currently outside the scope of my projects. We’ll have to figure out how to fit it into the schedule.


#6

Well thanks for looking, its not a showstopper. Maybe theirs a way to compare an fbx pre and post blender its fbx support is very much work in progress.If I can narrow it down enough I can ask the Blender Devs.


#7

Aha sorted it I messed with the location of the avatar in Blender and the base of the hipbone needs to be set to set to the center of the grid then it works.
Above it it jumps up below it it jumps down.


#8

HeHe, the ragdoll gives funny results on big voxel floor.