I have a multi part skeletal mesh, consisting of body and various cloth parts. I have imported them all to UE and combined them in my character BP. In the construction script I use “set master pose” component to make all parts follow the animation.
This works as expected - but not for my trenchcoat. it does follow animation but the bottom part of the coat is curved and I have honestly no idea why that is.
I attached two screenshots. On the first you see Persona with a walking animation applied to the coat. On the secondyou see all the meshes combined in the character BP with the same animation applied. Here you see the strange bending of the bottom part of the trenchcoat…basically my char is standing on his coat
Has anybody encountered such an issue before and can give me a hint what has gone wrong here?
Okay, this is strange. When I use the trenchcoat as the main mesh (new master bone component input in construction blueprint) and add the head as an additional skeletal mesh that follows master pose it works fine. But when I do it the other way around, which would be more intuitive for me, the trenchcoat gets bended at the bottom as you see in the picture above. Except the trenchcoat all other skeletal meshes work fine and they are all rigged to the same skeleton.
I think I missed something in the general concept here how this should work. Can somebody please help and explain why this happens? That would be much appreciated.
Can someone please help? I attached new screenshots that show the mesh deformation better and also a screenshot of the construction script of my character BP. Why is the trenchcoat so deformed at the bottom. It works fine when I use the trenchcoat as the main mesh and make the other meshes follow by using set master pose component.
I just commented on your AnswerHub post with the description of a similar problem I’m having. Does your trench coat mesh have additional bones relative to your base skeleton?
Florian, I’m glad you were able to solve your problem. This afternoon, I found this, which I think is the formal answer to this issue: weird-set-master-pose-behaviour
EDIT. While I appreciate the staff explanation in the AnswerHub post I mentioned, I don’t think it’s a skinning issue. I think the extra bones for the slave component - in my case, a link of 3 joints for pony tail appended to the head joint which is at the end of bone hierarchy - just don’t get transformed correctly relative to the parent head joint. I see the following messages in the log for the 3 added bones repeatedly:
LogSkinnedMeshComp:Warning: GetBoneTransform : ParentBoneIndex(7) out of range of MasterPoseComponent->SpaceBases
It looks like the additional joints transform to near the root bone location and the verts follow and stretch to the floor after SetMasterPoseComponent is executed from the Character BP on Begin Play. I used GetAllSocketNames and GetSocketLocation do dump all the bone names and locations of the slave component to the log. Before SetMasterPoseComponent, the additional bones returned their locations. After SetMasterPoseComponent, the 3 additional bones locations simply returned {0,0,0}
Hopefully, I’ll learn something when I can spend some more time on it. As I’m a noob hobbyist, I hope I can find some correctly working examples we can learn from where slave components require additional bones.