The current plugin found at GitHub - leapmotion/LeapUnreal: Leap Motion SDK for the Unreal Engine. should work both as project plugin and engine plugin as it detects it’s environment. The general way to rebuild the plugin is to include it in e.g. a ue4 C++ project under plugins and regenerating your .sln then recompiling, the plugin will recompile with it.
The same process is used for engine plugins except that you replace the plugin found under e.g.
and you copy your third party includes to
and dlls to
I’m hoping we will have an updated leap motion plugin for 4.22 which should eliminate the engine plugin workaround, but can give no guarantees at this time.
I’m trying to map just the right hand of a model (the model itself is a complete skeleton). Firstly the mapping is quite distorted, especially the thumb which seems to be flipped around. How should I be adjusting this exactly? I couldn’t figure it out from the documentation. Secondly the hand sometimes flips - from left to right. Is there any way to let the plugin know that I’m only ever dealing with a right hand so that this doesn’t happen? The project will form part of a public interactive installation, so the more solid the results the better.
Inside your anim instance class defaults, Ensure automap target is HAND RIGHT for your case. Also below that section is a structure called mapped bone list open it up you can see Pre-base rotation and offset transform, these will apply to the entire mapped bone list. Pre-base rotation will apply rotation before your values (akin to changing the basis of your input) where as offset transform applies after your input has been fed. If you’re moving your hand/fingers and they bend in a wrong axis e.g. they yaw when they should pitch, you will need to adjust the pre-base rotation, typically in some combination of 90 degrees. These will typically be different for each hand if your mesh is rigged like animators typically do with positive rotation closing your fist. In the low poly hands it uses a pre base of -90 for left and 90,0 180 for right.
That said it looks like your thumb might be in a different space than the rest of your hand and you may need to remove it from the auto mapping list and feed the rigging directly, or go back and adjust your model in your software. If it’s just a fixed offset difference however, you can just add a standard Transform (Modify) Bone node and adjust the offset there after the Modify Mapped Bones node.
Thanks so much for this info! I’ve fixed the thumb - I’m not sure what was causing it, but restarted from scratch and it’s fine now. I have the right hand automap target and it’s now mostly working fine but everything is a little off.
The mapping looks ok to me. Maybe I should give up with this model and use something that’s based on the epic skeleton - is that likely to give better results?
As far as the flipping is concerned it seems to be happening in the Orion software - sometimes it’s fine and completely solid, other times it there is flipping I guess as you say to due to the chirality detection. I’m not sure quite why it occurs, the environment and location of the sensor is always pretty much the same and the lens is clean. vid here Screen capture - 6572b1d4d08805fd898de4646ed31f9a - Gyazo
For this to work your model should have it’s bones placed/closely weighted as the low poly hand does so that the hand correctly stretches to fit the user’s real hand data. If you don’t mind some tip misalignment or your model doesn’t support deformation (e.g. ue4 mannequin model) then untick this option and it will apply rotations only to the hand which works far more universally.
For hand chirality, are you using this attached to a VR headset or is it e.g. on a table facing up? If it’s the latter, you’ll need to call SetLeapMode (https://github.com/leapmotion/leapunreal#set-leap-mode) in e.g. your begin play and set it to LEAP_MODE_DESKTOP this should ensure the tracking software expects the correct chirality based on it’s orientation. The example LeapDesktopActor has this call, open the blueprint to see where the calls are done.
Actually I already turned off the deformation, so I guess it’s not that. Not quite sure why it’s so far from where it ought to be because the hand rig looks fairly conventional to me. There were some UE hands/arms for Leap Motion around before, but they don’t seem to be included in the current plugin. Are they still available and is the rigging still suitable for the latest version of the software?
Setting it to desktop mode seems to have solved the flipping thanks! Also great to have the option for more smooth input, it was a bit jittery before.
Afraid it looks like the flipping still hasn’t gone away totally - for a while it seems really solid and then sometimes it comes back and sticks around. This happens both in UE and the visualizer, as seen here:
Are there any things that could lead to this do you know? Should I try getting another sensor or might it be something to do with the conditions it’s used in? It seems similar to the issue here:
If there were a way to let it know that it would only ever be looking at a right hand then this would presumably solve it - but I don’t know if there is?
ty for your plugin. I am trying to get the camera image of the LeapMotion Controller to do some processing with OpenCV.
I have added LeapMotion to my modules and I can compile.
But I found this here
/** Enable or disable image streaming from the device*/
//UPROPERTY(BlueprintReadWrite, Category = "Leap Options") //disabled for now, current version doesn't actually support image streaming
Is there any way to get images or frames to use OpenCV on it?
I hope that you are not getting overwhelmed with this question but do you have any idea on when a 4.22 plugin might be available? Even a work around would be great. My team is eager to move forward with ray-tracing but we would really hate to have to go back to using controllers.
It’s already in the engine (it has finally been updated to the modern architecture!), remove the project plugin and enable the engine version. There will be a project version release available within a week of when 4.22 releases.