Access Joints of Character in C++

There are no such things as joints. Skeletons are made of Bones.

In order to directly manipulate the location or rotation of individual bones, you need to use a UPoseableMesh, rather than a USkeletalMesh. USkeletalMesh bone transforms can only be set by applying an existing animation.

See:

  1. UPoseableMeshComponent
  2. UPoseableMeshComponent::GetBoneLocationByName
  3. UPoseableMeshComponent::GetBoneRotationByName
  4. UPoseableMeshComponent::SetBoneLocationByName
  5. UPoseableMeshComponent::SetBoneRotationByName
  6. EBoneSpaces - “EBoneSpaces” is an enum indicating if you are setting the location/rotation is WorldSpace or in the Bone’s local ComponentSpace. You set pass the proper value entering the ENumName::ValueName, e.g. “EBonesSpaces::ComponentSpace”

You may find some more help here:

“How can I rotate Bones purely in C++?”

1 Like