Announcement

Collapse
No announcement yet.

[Plugin] Leap Motion - Event Driven

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Hey Getnamo,

    I just wanted to see if you could give me some direction on what I'm trying to do with your plug in. I want to assign custom functions to basic gestures. I.E. Swiping and rotating an object, pinching to zoom, or controlling the translation of an object by forming a fist and moving it. The goal is to utlize leap motion in showcasing products and having customers interact with it.

    I don't know if there are readily available sources for this, and as a beginner, I sometimes get extremely confused. How should I go about doing this? Where do I start experimenting? Which blueprint are the edits supposed to be done under? If you could give me your opinion as to how to do something similar and tell me the logic behind it I would really be grateful.

    Amazing job as always!
    Cheers,
    Artun

    Leave a comment:


  • replied
    Originally posted by Rasa View Post
    Hi Getnamo,

    Awesome Plugin, I got it works well and what I'm trying to do is ' walk through by hand gestures[Palm Pitch and Yaw] in Leap Motion' ,
    Now grab the Physics object using hand fingers and Placing it in desired position.
    Is there any reference to this or give some suggestions to do this. I'm Totally newbie to Unreal and blueprint
    Hi Getnamo.

    Finally I did some what with the help of this link now I can control Plus symbol[Mouse pointer] by left hand and pick the Physics object by LeapLeftPinch and Walkthrough is controlled by right hand. It is very difficult that picking the Physics object at the same time controlling the mouse pointer[Leap Yaw and Pinch gesture] in same left hand. So I planned if that mouse pointer is facing to down direction and it will move automatically if hand will move, is very easy to move on after picking the object.

    What I did is
    Click image for larger version

Name:	HP.jpg
Views:	1
Size:	258.1 KB
ID:	1065462
    I'm expecting
    Click image for larger version

Name:	MP.jpg
Views:	1
Size:	444.6 KB
ID:	1065463
    Needed your help how could I convert that mouse pointer to down direction and also I don't want camera to follow that mouse pointer
    How could we do that Hand alone[Without character attached] for Leap motion.

    Cheers...

    Leave a comment:


  • replied
    Originally posted by knack View Post
    anyone update to the last update? break something?
    Originally posted by Lord_Pall View Post
    Well, in 4.7 it doesn't compile .
    c:\projects\unrealengine\engine\intermediate\build\win64\inc\plugins\leapmotion\LeapHand.generated.h(18): error C4099: 'FMatrix' : type name first seen using 'class' now seen using 'struct'C:\projects\UnrealEngine\Engine\Intermediate\Build\Win64\Inc\Plugins\LeapMotion\LeapHand.generated.h(18) : error C4099: 'FMatrix' : type name first seen using 'class' now seen using 'struct'
    Originally posted by iparra View Post
    Lord_Pall, you can compile it, simply replace FMatrix as a class.
    To elaborate a little more on what iparra said...

    The first time you try to compile for a new target it will generate the headers, and the generated headers have the error. You can simply edit the generated headers and change the word "struct" to "class" on the problematic line. However, this does not work if you are packaging from within the editor because the headers are generated anew every time.

    This error comes from the implementation of
    Code:
    FMatrix ULeapHand::RotationMatrix(const ULeapFrame *frame)
    in
    Code:
    Plugins\LeapMotion\Source\LeapMotion\Private\LeapHand.cpp
    If you comment out that whole function, and the function declaration in the header (i.e. Public\LeapHand.h), then the error goes away. Of course that also means you can't access the hand's RotationMatrix anymore. For me this is OK (I only want position), but I guess this would be unacceptable for most.

    Leave a comment:


  • replied
    Lord_Pall, you can compile it, simply replace FMatrix as a class.

    Leave a comment:


  • replied
    Well, in 4.7 it doesn't compile .

    c:\projects\unrealengine\engine\intermediate\build\win64\inc\plugins\leapmotion\LeapHand.generated.h(18): error C4099: 'FMatrix' : type name first seen using 'class' now seen using 'struct'C:\projects\UnrealEngine\Engine\Intermediate\Build\Win64\Inc\Plugins\LeapMotion\LeapHand.generated.h(18) : error C4099: 'FMatrix' : type name first seen using 'class' now seen using 'struct'
    1>
    1> c:\projects\unrealengine\engine\source\runtime\core\public\math\Matrix.h(13) : see declaration of 'FMatrix'
    1> c:\projects\unrealengine\engine\source\runtime\core\public\math\Matrix.h(13) : see declaration of 'FMatrix'

    Strange error too. Matrix.h didn't change. Could be something honked on my end. Any ideas?

    Leave a comment:


  • replied
    anyone update to the last update? break something?

    Leave a comment:


  • replied
    How to put the reality of hand display

    Leave a comment:


  • replied
    Yes, I'm doing this on two separate computers. Two of everything, connecting over LAN. Movements are replicated properly, meaning Player 1 can move and Player 2 sees the him move. I'll keep digging but it sounds like this *should* work. Have you tested this scenario yourself? Or anybody else tried this? Perhaps I'm missing some configuration.

    Leave a comment:


  • replied
    Originally posted by getnamo View Post
    Thanks for the heads up. XCode seems to like a stricter definition of C++ so some forward declarations may need to be modified in some cases, will take a look at this come 4.7.
    Actually, I'm getting the same error in Windows too. There's another error that I just encountered when I attempt to build shipping (whether from Windows visual studio, XCode, or packaging from within Unreal Editor), I get the following:
    Code:
    Error	1	error C2719: 'in': formal parameter with __declspec(align('16')) won't be alignedd:\development\ue4projects\secondcentreout\plugins\leapmotion\source\leapmotion\public\animbody\AnimBone.h(31) : error C2719: 'in': formal parameter with __declspec(align('16')) won't be aligned	d:\development\ue4projects\secondcentreout\plugins\leapmotion\source\leapmotion\public\animbody\AnimBone.h	31	1	SecondCentreOut
    I hope whatever's causing these errors will fix itself by 4.7's official release, but if not, then I hope this at least a little helpful.

    Leave a comment:


  • replied
    Originally posted by mankindforward View Post
    So...over the network, Player 1's hand movements affects both character models on my client but not Player 2's. When Player 2 move their hands, they affect the movement of both characters on their client. Essentially the clients are separate but on the client, both models are being controlled by the same hand. I think the ideal behavior is to have the movements replicated between clients.
    Are you testing this on two separate computers? I don't think leap motion supports multiple devices on a single computer yet.

    Originally posted by bullale View Post
    Hi Getnamo,

    Thanks so much for getting this working in OS X.

    When I tried to compile the plugin in OS X, and in Windows too, using Unreal Engine 4.7 preview 3, I ran into the following error:

    Simply commenting out that line allows it to build.

    I know 4.7 preview 3 is not a build you're targeting; I don't expect you to resolve this. I just thought I'd bring it to your attention.
    Thanks for the heads up. XCode seems to like a stricter definition of C++ so some forward declarations may need to be modified in some cases, will take a look at this come 4.7.

    Originally posted by Rasa View Post
    Hi Getnamo,

    Awesome Plugin, I got it works well and what I'm trying to do is ' walk through by hand gestures[Palm Pitch and Yaw] in Leap Motion' ,
    Now grab the Physics object using hand fingers and Placing it in desired position.
    Is there any reference to this or give some suggestions to do this. I'm Totally newbie to Unreal and blueprint
    There are a couple of ways to do this. If you want to use a rigged model, you can attach collision boxes/capsules to finger/hand bones or sockets. Another way would be to use custom part meshes (with collision assets) of a hand and attaching them to bone positions reported by leap, this is how the non-rigged leap hands are done in Unity.

    Then you can cheat a bit by checking if your thumb and index finger are close to each other when you are close to an object and attach that object to the midpoint of those to have a more robust 'pick up and place' mechanism.

    Ideally for physical collisions though you should use bone/joint velocities instead of directly using positions as otherwise you may apply more force to the interactive objects than you intend to. I haven't had the chance to implement any collisions assets yet and it may take some time before I have time to do so.

    Originally posted by ArieCrow View Post
    Hey Getnamo
    Really enjoying your plugin. Great work there in updating and taking the time to get us through the motions (pun intended
    Have you had a chance to take a look at the new widgets leap has added to their sdk? They are for Unity right now, but do you think that can be applied to UE4 too? They are really cool and really practical for handling inventory or buttons.
    Would love your input on that.
    Glad your enjoying it!

    Widgets would require some assets which would have to be release essentially under MIT and we currently don't have any of those. All the tools are there to be able to implement it though and if you make some, make a pull request and they'll be included in the plugin; simply don't have the resources to cover everything myself

    Leave a comment:


  • replied
    Hey Getnamo
    Really enjoying your plugin. Great work there in updating and taking the time to get us through the motions (pun intended
    Have you had a chance to take a look at the new widgets leap has added to their sdk? They are for Unity right now, but do you think that can be applied to UE4 too? They are really cool and really practical for handling inventory or buttons.
    Would love your input on that.

    Leave a comment:


  • replied
    Hi Getnamo,

    Awesome Plugin, I got it works well and what I'm trying to do is ' walk through by hand gestures[Palm Pitch and Yaw] in Leap Motion' ,
    Now grab the Physics object using hand fingers and Placing it in desired position.
    Is there any reference to this or give some suggestions to do this. I'm Totally newbie to Unreal and blueprint

    Leave a comment:


  • replied
    Hi Getnamo,

    Thanks so much for getting this working in OS X.

    When I tried to compile the plugin in OS X, and in Windows too, using Unreal Engine 4.7 preview 3, I ran into the following error:
    Error 1 error C4099: 'FMatrix' : type name first seen using 'class' now seen using 'struct' D:\Development\UE4Projects\SecondCentreOut\Intermediate\Build\Win64\Inc\Plugins\LeapMotion\LeapHand.generated.h 18 1 SecondCentreOut
    Simply commenting out that line allows it to build.

    I know 4.7 preview 3 is not a build you're targeting; I don't expect you to resolve this. I just thought I'd bring it to your attention.

    Leave a comment:


  • replied
    So...over the network, Player 1's hand movements affects both character models on my client but not Player 2's. When Player 2 move their hands, they affect the movement of both characters on their client. Essentially the clients are separate but on the client, both models are being controlled by the same hand. I think the ideal behavior is to have the movements replicated between clients.

    Leave a comment:


  • replied
    So sorry getnamo, I was a bit hastened when I tried this yesterday and didn't read properly.
    Thanks a lot for a great plugin and the help!

    Leave a comment:

Working...
X