
Inside the Skeleton Editor, you can add Virtual Bones to the existing skeleton of your mesh using the Skeleton Tree. These serve to help improve iteration time by enabling you to change your target joint hierarchy for aiming or IK (inverse kinematics) from inside the Editor. Before this was possible, you would have to add these bones in your 3D modeling software outside of the Editor and then reimport all the animations to fix the animation data with the new joints included.
Virtual Bones, by their very nature, are not skinnable and are constrained between two existing bones in the skeleton hierarchy and they automatically generate data for each animation. For example, you can add a joint that is a child of the hand but is constrained to the palm joint. Unlike sockets, this joint can be used in Animation Blueprints as a target, such an IK target or "look at" target. These could even be modified in an Animation Blueprint for later use.
Adding Virtual Bones
To add a Virtual Bone to your Skeletal Mesh's skeleton tree, perform the following actions:
-
Use the Skeleton Tree window, select any bone you want to be the first connection point.
Click image for full size.
-
Right-click to bring up the context menu and select Add Virtual Bone from the list, and then in the expanded Pick Target Bone... select the bone you want to connect.
Click image for full size.
You can enable your skeleton hierarchy to always be visible by going to the viewport and selecting Show > Bone > All Hierarchy.
-
Now, you'll see the listed Virtual Bone in the Skeleton Tree hierarchy with the pre-fix VB.
When you select it from the list, you will see it highlighted in the Skeleton Editor viewport.
Click image for full size.
When you play an animation with the Virtual Bone selected, you can see that it animates and updates accordingly.
Deleting Virtual Bones
To delete an added Virtual Bone from your Skeletal Mesh's skeleton tree, perform the following actions:
-
In the Skelton Tree window, select any Virtual Bone.
Click image for full size.
-
Right-click to bring up the context menu and select Delete from the list.
Renaming Virtual Bones
To rename a Virtual Bone in your Skeletal Mesh's skeleton tree, perform the following actions:
-
In the Skeleton Tree window, select any Virtual Bone.
Click image for full size.
-
There are three ways you can rename a Virtual Bone:
-
Right-click and select Rename Virtual Bone from the context menu
- With the Virtual Bone selected, press F2.
- Or double-click on the name of the Virtual Bone.
-
Additional Resources
For additional information and suggestions for practical usage of Virtual Bones, like how they have been used to make retargeting easier, to change reference frames for controllers, for orientation, and slope warping.