Announcement

Collapse
No announcement yet.

[Plugin] Leap Motion - Event Driven

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

    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.

    Comment


      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.

      Comment


        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

        Comment


          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.
          Arie Croitoru
          VR Experience Designer
          Israeli Unreal Engine Meetup Organizer

          Comment


            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
            Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

            Comment


              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.

              Comment


                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.

                Comment


                  How to put the reality of hand display

                  Comment


                    anyone update to the last update? break something?
                    pd: excuse my english.

                    lfw/paid modeling, painting, texturing.

                    Comment


                      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?

                      Comment


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

                        Comment


                          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.

                          Comment


                            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...

                            Comment


                              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

                              Comment


                                Hey Getnamo,

                                Thanks for this amazing plugin !

                                Can you tell me how to use it with C++ code ? (Listener with events, Controller...)

                                Cheers,
                                Beunn

                                Comment

                                Working...
                                X