Announcement

Collapse
No announcement yet.

[Plugin] Leap Motion - Event Driven

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

    Originally posted by ipas View Post
    I just want to build for development or shipping. I followed the instructions on the github post. I have a character class blueprint with leap motion events. What else do I need to do. I dont understand this : "Projects require code, if you are using blueprint only add an empty class and compile your project module". Why do I need a empty class, and what kind of class is this ?
    Thank you.
    Do File->Add code to the project. It doesn't matter what class you add as it is not going to be used, but you have to do it so that the project converts to a C++ project and the plugin gets included in the packaged/shipping build. So usually I just pick None->Create Class and then it will ask you to open visual studio where you just hit compile (Build solution, Ctrl+Shift+B).

    If you haven't added code before follow the unreal engine programing Quick Start guide. Essentially it boils down to downloading the free Visual Studio community and changing a few small configs.

    It seems epic is working on removing this requirement, possibly in 4.7.

    Edit:
    Updated the github readme shipping instructions to contain more verbose instructions as this seems to be a FAQ.
    Last edited by getnamo; 11-18-2014, 10:52 AM.
    Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

    Comment


      Awesome! That worked. Thanks man!

      Comment


        Thanks for your hard work on this,
        I'd like to know how the rigged hand control is going. I'd really love to use this as I am way more efficient in UE4 vs Unity. I plan on creating a similar version of the ironman ui thats part of the leap widgets example for unity on leapmotion.com
        Twitter: https://twitter.com/a_carter1182

        Comment


          Originally posted by a.carter1182 View Post
          Thanks for your hard work on this,
          I'd like to know how the rigged hand control is going. I'd really love to use this as I am way more efficient in UE4 vs Unity. I plan on creating a similar version of the ironman ui thats part of the leap widgets example for unity on leapmotion.com
          The UI sounds very cool and would be very useful! Regarding the rigged hands, I should have something pushed to the repo by 1st of December, maybe a bit earlier but no guarantees; unfortunately currently swamped with projects leaving me less time for plugins.
          Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

          Comment


            I completely understand,
            I have a cyber security visualization (which is what I'd like to use the ironman ui for) and another project for virtual training, and well.......to say the least I understand multi-tasking projects . Anyhow thanks again for all your hard work and I look forward to working with your plugin.
            Twitter: https://twitter.com/a_carter1182

            Comment


              First off, thank you for all of your work, the plugin is absolutely fantastic.

              I just have one question - Every time I use a "Set Timer" node, various errors similar to this are thrown

              LogScript:Warning: Attempt to assign variable through None
              CarriageCharacter_C /Game/Maps/UEDPIE_0_Level_ver1.Level_ver1:PersistentLevel.CarriageCharacter_C_29
              Function /Game/Blueprints/CarriageCharacter.CarriageCharacter_C:ExecuteUbergraph_CarriageCharacter:110E
              PIE:Error: Error Attempt to assign variable through None from node Set ReinsGestureDetected in blueprint CarriageCharacter
              LogScript:Warning: Accessed None 'K2Node_Event_hand'
              CarriageCharacter_C /Game/Maps/UEDPIE_0_Level_ver1.Level_ver1:PersistentLevel.CarriageCharacter_C_0
              Function /Game/Blueprints/CarriageCharacter.CarriageCharacter_C:ExecuteUbergraph_CarriageCharacter:0941
              PIE:Error: Error Accessed None 'K2Node_Event_hand' from node Play in blueprint CarriageCharacter
              It directs me to nodes in the functions I set up in my timers - and if I leave the functions empty, directly to the function call. Have you encountered this or know why this would happen? Thank you!

              Comment


                Originally posted by a.carter1182 View Post
                I completely understand,
                I have a cyber security visualization (which is what I'd like to use the ironman ui for) and another project for virtual training, and well.......to say the least I understand multi-tasking projects . Anyhow thanks again for all your hard work and I look forward to working with your plugin.
                Pushed an update to 0.8
                -Basic Rigged leap character added. Works like the LeapDebugCharacter,
                change your player controller to VRPlayercontroller and pawn to
                LeapRiggedCharacter
                -Updated bind to Leap SDK 2.2.0
                -Ensured consistency by prepending leap to all classes, this will likely
                break compatibility with old blueprints.
                -Fixed dynamic object allocation architecture
                -Added basic AnimBody, Hand, Finger, and Bone for convenient animation
                state and basis conversion.


                To use the rigged character set your PlayerController to VRPlayerController and your pawn to LeapRiggedCharacter. Please note that this is a preliminary support for rigging and there will likely be bugs. Also it is important to note that the namespace update for the classes will likely break compatibility with your old blueprint setups.

                Will provide more documentation sometime after the jam.


                Originally posted by Tarwine View Post
                First off, thank you for all of your work, the plugin is absolutely fantastic.

                I just have one question - Every time I use a "Set Timer" node, various errors similar to this are thrown
                ...
                It directs me to nodes in the functions I set up in my timers - and if I leave the functions empty, directly to the function call. Have you encountered this or know why this would happen? Thank you!
                Seems like some of the nodes are returning null objects (none), identify the culprit and do a cast or != none check to suppress the warning.
                Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                Comment


                  Awesome getnamo,
                  Thanks again for this. I'll have this up and running for testing soon. Looking forward to it
                  Twitter: https://twitter.com/a_carter1182

                  Comment


                    Hi getnamo,

                    Firstly, cheers for all the work you've been doing and all the support you provide. Thanks for my entire team.

                    I'm having a few issues with the plug-in though. The main one at this time is the plug-in seems to partially cut out after 60 seconds of play.

                    I currently have 2 custom gestures built into my game, one based off the circle gesture event and one that uses polling to find finger data at a given time. The game starts fine but after 60 seconds, no matter how I preform the circle gesture, the event stops firing. If I try the polling gesture after that time, the engine tends to crash straight away or when I end the game. The game cant seem to find the functions after his point.

                    I also have some character look code that is based off the players hand position. This works no matter how long the game runs.

                    I was initially using 0.7.11 and updated to 0.8 today (didn't fix it) but for some reason the engine still says 0.7.11 . From reading this thread, this has been an issue before. Something to do with garbage collection and the plug-in variables, but this had been fixed. Any ideas on what could be causing this?

                    Comment


                      Originally posted by Mega Future Games View Post
                      Hi getnamo,

                      Firstly, cheers for all the work you've been doing and all the support you provide. Thanks for my entire team.

                      I'm having a few issues with the plug-in though. The main one at this time is the plug-in seems to partially cut out after 60 seconds of play.

                      I currently have 2 custom gestures built into my game, one based off the circle gesture event and one that uses polling to find finger data at a given time. The game starts fine but after 60 seconds, no matter how I preform the circle gesture, the event stops firing. If I try the polling gesture after that time, the engine tends to crash straight away or when I end the game. The game cant seem to find the functions after his point.

                      I also have some character look code that is based off the players hand position. This works no matter how long the game runs.

                      I was initially using 0.7.11 and updated to 0.8 today (didn't fix it) but for some reason the engine still says 0.7.11 . From reading this thread, this has been an issue before. Something to do with garbage collection and the plug-in variables, but this had been fixed. Any ideas on what could be causing this?
                      I spotted a few more incorrect garbage collection links and all of those should be fixed in 0.8. The plugin version definitely says 0.8 so you may not have correctly replaced the plugin. Remember that you need to delete the old plugin content/plugin source to replace it as some classes have been removed.

                      If you're still getting an issue, try to narrow the function call as much as you can. I believe yours seems to be due to the controller->frame releasing the object early which should have been fixed in the last update.

                      I've been using the 0.8 version in the leapjam and it's been stable while using the circle gesture detection for quite some time, way beyond the GC interval. Let me know how it goes!

                      Originally posted by a.carter1182 View Post
                      Awesome getnamo,
                      Thanks again for this. I'll have this up and running for testing soon. Looking forward to it
                      Great, looking forward to the feedback
                      Last edited by getnamo; 12-02-2014, 06:15 PM.
                      Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                      Comment


                        Thanks for getting back to me so quick.

                        I did as you suggested and deleted the plugin completely and re-added the newer version. Now the engine sees it as ver. 0.8. I reimplemented my code with the updated functions from the new version.

                        It hasn't seemed to help unfortunately. Ive made a short screen cast showing the problem: https://www.youtube.com/watch?v=g7pu...ature=youtu.be
                        In the video, the circle gesture event fires repeatedly (each time it changes the colour of the block on the table, has a 1.5 second cool down, then fires again). Once the time hits one minute, it stops firing. Although you cant see my hand, it still preforms the circle gesture after the minute mark.

                        I assume the same root cause is whats causing the polling gesture to crash as well so I've not yet tested that with the update (that's next on the to do list while I wait a reply). Im sure its something simple I'm just not noticing.

                        Edit: I tested the Polled Gesture and it did go well either. It goes past the minute marker and still regression the gesture though.The game exits fine with the code as is, if you don't preform the gesture. If you do preform it at least once, the game carries on fine but when you go to exit the game it crashes. It gives different reasons for doing so in the crash report each time.

                        Still, just letting everyone know. One problem at a time, I guess.
                        Last edited by Mega Future Games; 12-02-2014, 09:58 PM.

                        Comment


                          Originally posted by Mega Future Games View Post
                          Thanks for getting back to me so quick.

                          I did as you suggested and deleted the plugin completely and re-added the newer version. Now the engine sees it as ver. 0.8. I reimplemented my code with the updated functions from the new version.

                          It hasn't seemed to help unfortunately. Ive made a short screen cast showing the problem: https://www.youtube.com/watch?v=g7pu...ature=youtu.be
                          In the video, the circle gesture event fires repeatedly (each time it changes the colour of the block on the table, has a 1.5 second cool down, then fires again). Once the time hits one minute, it stops firing. Although you cant see my hand, it still preforms the circle gesture after the minute mark.

                          I assume the same root cause is whats causing the polling gesture to crash as well so I've not yet tested that with the update (that's next on the to do list while I wait a reply). Im sure its something simple I'm just not noticing.

                          Edit: I tested the Polled Gesture and it did go well either. It goes past the minute marker and still regression the gesture though.The game exits fine with the code as is, if you don't preform the gesture. If you do preform it at least once, the game carries on fine but when you go to exit the game it crashes. It gives different reasons for doing so in the crash report each time.

                          Still, just letting everyone know. One problem at a time, I guess.
                          One thing off of the top of my head: when you added a leap component to your blueprint, did you use the direct method or event graph method? The reason I ask is that sometimes people make the mistake of doing both, which will duplicate the component, its supposed to be either one or the other, never both. Your log will output a warning any time you have more than one leap component registered (note that while in the editor, it may report a false positive due to the editor adding an extra component during component preview).

                          If that doesn't solve it, pm me some of your recent logs found in Saved/Logs, any logs which resulted in a crash caused by this would be most helpful in finding the root cause.
                          Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                          Comment


                            Originally posted by getnamo View Post
                            One thing off of the top of my head: when you added a leap component to your blueprint, did you use the direct method or event graph method? The reason I ask is that sometimes people make the mistake of doing both, which will duplicate the component, its supposed to be either one or the other, never both. Your log will output a warning any time you have more than one leap component registered (note that while in the editor, it may report a false positive due to the editor adding an extra component during component preview).

                            If that doesn't solve it, pm me some of your recent logs found in Saved/Logs, any logs which resulted in a crash caused by this would be most helpful in finding the root cause.
                            With the logs sent from Mega Future Games I was able to identify the memory leaks that were causing this and I pushed an update with these fixes, as well as other API that was missing from LeapFrame.

                            Update to 0.8.1
                            -Fixed Memory leaks which would cause crash around 60second mark (GC
                            interval) for list-based objects using extended and append
                            -Added appendTools and appendFingers to pointableList
                            -LeapFrame got its API updated to include all of the missing functions,
                            should now reflect the leap api nearly completely (except 64bit values
                            in blueprint that are not supported)
                            -Added log entry with plugin version at game start for easier debugging

                            Also added some simple setup gifs to show how easy it is to use the basic rigged setup:
                            Setting your character


                            Play Test
                            Last edited by getnamo; 12-04-2014, 01:12 PM.
                            Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                            Comment


                              You'r Fantasticcccccccc
                              Thank youu *

                              Comment


                                Maybe Im going about this the wrong way.....but I cant figure out how to make collisions happen with the hands/fingers. The body was already colliding but no setups/checkboxes etc. have seemed to work. Could you provide me with a bit of knowledge please sir.........also quick question, more towards your work with hydra plugin.....but I and most likely others.....havent been able to purchase a hydra system. No telling when STEM is coming out, but I know at some point somebody was using your work I think to attempt the same result with the PS Move. He/She got close but I believe it was some camera drivers or something that stopped it. Anyhow wondering if a PS Move plugin might be a project you might startup one day. Would be nice as I have no solution for shooting in VR that is not immersion breaking yet.....as in I dont want a xbox controller......at least some sort of gun like device the Move does and not really sure if the Hydra has one. Either way great work sir I wish I could get my programming skills up enough that I could contribute to the VR community.
                                Twitter: https://twitter.com/a_carter1182

                                Comment

                                Working...
                                X