For support and quicker response, please contact me via e-mail: firstname.lastname@example.org
Thread for feedback, questions, support, suggestions and rage.
Since 2021/06, the plugin contains two independent solvers.
- Original VRIKBody+VRIKSkeletalMeshTranslator. It’s simplier (not in setup) and works in Android.
- New Ynnk VR-Avatar component. Based on neural net. Setup process is simplier, but only works in Windows.
Both are replicated, but Ynnk VR-Avatar wasn’t deeply tested yet. Description below is for VRIKBody+VRIKSkeletalMeshTranslator.
Note 1: for better results you need to adjust settings in VRIKBody / Body Params rollout for your skeletal mesh. Most of them are overwritten by body calibration though, but not all.
Note 2: legs animation works atop of strafe blendspace which you need to setup manually for your skeletal mesh. If you don’t have walking animations, you can remove this part from animation blueprint. But default walking cycle (inside of PoseSnapshot object) doesn’t look very good.
Note 3: I update the plugin often for three lastest version of the engine (it’s Marketplace limitation), so older versions have some already fixed bugs and don’t include newer features.
Video Tutorial for VRIKBody+VRIKSkeletalMeshTranslator: VR IK Body - Setup - YouTube
Video tutorial for Ynnk VR-Avatar: VR IK Body Plugin Update: Ynnk VR-Avatar tutorial - YouTube
Older Example Projects
4.20+ old project (with multiplayer map): https://drive.google.com/file/d/1IDD…-ZZmoMWVPKdlUr
4.24 old project (with multiplayer map): VRIKBody_ProjectOLD_424.zip - Google Drive
4.20-4.22 default project: https://drive.google.com/file/d/16bT…w8is0S5A7/view
- Skeletal mesh remains in T-pose.
- Make sure that PoseSnapshot node in the animation blueprint has Mode = “Snapshot Pin”
- If player actor is placed at the level (auto-possessed), make sure that its skeletal mesh component has correct animation blueprint.
- Elbows bended in a wrong direction.
- Set “Invert Elvows” property in the VR IK Skeletal Mesh Translator component.
- Hands can’t reach controllers when hands are stretched up/down.
- Modify “Spine Vertical Offset” in the VR IK Skeletal Mesh Translator component.
- Legs aren’t animated.
- Make sure that “Compute Legs IK” adnd “Compute Hands IK” are checked in the VR IK Body settings.
- If animation blueprint was retargeted from the sample project mannequin blueprint, check the follow animation nodes: “Layered Blend per Bone” and “Blend Bone by Channel”. Retargeting manager doesn’t update names of bones in this nodes, so you need to do it manually.
- Wrists have wrong position relative to motion controllers.
- Modify “Right Palm Offset” and “Left Palm Offset” propertis of the VR IK Body component.
- Plugin don’t work in packaged project.
- Add “Delay” node in BeginPlay event before initialization of the plugin’s components. [planned to fix]
Setting Up Custom Mesh
These additional steps will help you to adjust all settings and get an accurate result:
Uncheck VRIKBody → Calibrate Ribcage at T-Pose
Measure offsets (vector) from chest to first neck bone and from neck to face/eyes. You can add three Arrow Components, approximately at desired locations, measure offsets and then delete them. Fill results to:
VRIKBody → RibcageToNeckOffset
VRIKBody → NeckToHeadsetOffset
Launch VR Preview, calibrate, take T-pose and check if hands can reach motion controllers. If not, adjust VRIKBody → CalibrationArmSpanAdjustment value.
Launch VR Preview, calibrate, stretch hands up and down. If hands can’t reach controllers in one position and bended at the other, adjust VRIKSkeletalMeshTranslator → SpineVerticalOffset.
Launch again, take a look at feet. a. Can’t they reach ground? Increase VRIKSkeletalMeshTranslator → ScaleMultiplierVertical.
b. Feet are above ground, but legs are bended? Change VRIKBody → FootOffsetToGround.
Launch again and make sure everything works fine. Adjust ScaleMultiplierVertical и ScaleMultiplierHorizontal if needed.