So this issue has been solved now! The problem can be solved as follow:
Go into the cpp file in getnamos plugin called LeapInterfaceUtility.cpp and scroll down to the function called “convertAndScaleLeapToUE”.
In this function you have to add the following:
float w2m = GWorld->GetWorldSettings()->AWorldSettings::WorldToMeters / 100.0f;
FVector vect = FVector(-leapVector.z * LEAP_TO_UE_SCALE * w2m, leapVector.x * LEAP_TO_UE_SCALE * w2m, leapVector.y * LEAP_TO_UE_SCALE * w2m);
This will make the leap hands take w2m into account and the jittering/delayed movement issue I experienced was removed. However the size of the hands does not get scaled which means you must do it manually.
To scale the hands manually I did the following:
- export the “hands_lo” blueprint located in “LeapMotion Content/character/echo” as fbx file.
- import the fbx file into blender and scale the skeleton with w2m (worldtometers/100).
- then apply the scale and location of the skeleton and also apply for the mesh
- select both of the skeleton and mesh and then export as .fbx , choose FBX 7.6 binary, check selected objects, check only armat, mesh and other (no idea if this stuff matters)
- import the new fbx file to ue4 and make sure import as skeletal and import mesh is checked. Also make sure Use TOAs Ref Pose is checked (i got a strange orientation error when i didnt check it).
- At last just delete the old hands_lo and its skeleton blueprint and force replace them with your new modified blueprints!