When i call HideBone to term bodies collison, i found the collision won’t be able to re-init when unhidden, the specific code in the engine is as follows
//@TODO: If unhiding the child of a still hidden bone (coming in, BoneVisibilityStates(RefSkel(BoneIndex).ParentIndex) != BVS_Visible),
// should we be re-enabling collision bodies?
// Setting visible to true here is OK in either case as it will be reset to BVS_HiddenByParent in RecalcRequiredBones later if needed.
and
if (BoneIndex >= 0 && GetNumBones() > BoneIndex)
{
bRequiredBonesUpToDate = false;
//FName HideBoneName = SkeletalMesh->RefSkeleton.GetBoneName(BoneIndex);
// It's okay to turn this on for terminated bodies
// It won't do any if BodyData isn't found
// @JTODO
//SetCollisionBelow(true, HideBoneName);
}
All I need is a bone reconstruction without child nodes. How to realize the SetCollisionBelow?