Gesture Tracker VR Help and Feature Requests

Hey Hunter,

thanks for the reply. Is there a way to try this out before committing to a purchase? Or does Epic offer Marketplace refunding if it will not work properly for me?

I’ve had one refund request, which was from someone in China who did not properly understand the purpose of the plugin when they purchased it. In this case Epic contacted me and gave me the choice to approve or deny it (I approved it). If you find the plugin isn’t what you expected and doesn’t work for your needs and you ask Epic for a refund I assume it will go through the same process, in which case I will grant the refund. I’m not certain about the details of when a refund is allowed though so I don’t want to guarantee anything (in case they flat out say no and I’m not involved in the decision).

hi. trying to install the unreal game engine with hi. using a screen reader jaws for windows, and cannot install the launcher. i am logged in via the site and then asks me to login in the launcher installer, and cannot install. any help.

Sounds great! I’ll give it a go then :slight_smile:

Hey Hunter,

I just purchased it but it seems that the only way to recieve the plugin is through the epic games launcher using the “install into engine” procedure. Clicking the button won’t do anything though, i guess that’s because i’m on MacOS. Is there another way to download and install the plugin manually?

Hey @a_prototype,

I’m sorry about that! I just updated the settings on my product page for the 4.18 version to include Mac in the supported versions so give the install another shot and see if it works this time. If you’re using an earlier version than 4.18 let me know which one.

For now you’ll also need to recompile the plugin since it’s compiled for Windows. Move the GestureTrackerVR folder from Engine/Plugins/Marketplace to [YourProject]/Plugins to do this. Also you’ll need to add “Mac” to the list of Whitelisted Platforms in GestureTrackerVR.uplugin to make sure it packages with your game when you build (I’ll add this myself in the next update so you won’t have to deal with it in future versions). If for whatever reason you still can’t install it shoot me an email and I’ll send you a download link until I work out with with Epic how to fix installing through the launcher.

I’ve submitted an update with Mac added to the whitelisted platforms to Epic and indicated that they should add Mac binaries so you should be able to download everything through the launcher without any hassle within a day or two.

It works through the Marketplace now. Thanks a lot for your support!

Hii Hunter,

I am working on a VR Project which is entirely designed on Unreal Engine 4.12.5. I want to use your plugin in our project and implement it in the environment. So, I found out that Unreal Engine 4.12 doesn’t contain the VR Template. VR Template has been made available from Unreal engine 4.12. So, can you please help me with the further process to use the GestureTrackerVR plugin in our project.
Looking forward for a possitive response from your side.

Regards,
mnrmja

Hi @mnrmja

The VR template isn’t necessary to use the plugin, I was just demonstrating how it’s setup in the most basic environment. I assume your VR project has some hand actor (like BPMotionController in the VR template) that includes a MotionControllerComponent, just attach the GestureTracker component to it and do the same setup as I did in the video.

Thank you very much it worked!!

Hi, I’m having trouble finding where tolerances can be adjusted. Can anyone point me in the right direction?

Thanks!

Hello Hunter,

I am interested in using your plugin. Is it possible to use two hands to create one gesture ID? Could I make a gesture only activate if both hands create circles? If that is possible, do they have to be done at the same time or could they be done a specific order? An example would be creating a circle with my left hand then pushing through it with my right.

Hi @ForwardXPDev,

Check the details panel for the GestureTracker component and find Parameters > Recognition. You’ll want to tweak acceptable similarity (above which the gesture path progresses, this is the main one you’ll want to tweak) and unacceptable similarity (below which the gesture will be ruled out for recognition). You can also change the Completion Percentage if you want to allow recognition earlier on in the gestures (so you only have to do the first 90% of it for example. assuming the gestures aren’t distinguished by that last 10%).

HAH! I would’ve sworn I checked there. Thanks for the help!

Hi @quickflint,

I decided to leave that kind of functionality up to manual setup by users. You can just set up a gesture tracker on each hand, record your circle gesture with id 0 for each of them, and then check if they happen in the right order and time frame. So I when the left hand circle is recognized I would record a timestamp using GetWorldTimeSeconds, and whenever the right hand push is recognized I would check if (GetWorldTimeSeconds - CircleGestureTimestamp) < TimeWindow, where TimeWindow is something like 1 or 2 seconds that you have between drawing the cirlce and pushing through it.

Thank you! That is awesome!
I will be grabbing the plugin. Really happy to see you are still active in the support forum. Thank you very much for your response.

Hi, I’m trying to save and use gestures for both controllers simultaneously (UE 4.19.2). I’m hitting a few different snags on this.

  1. I can’t successfully save both sets. Some gestures will show up in one file but not the other. Some don’t save at all. Here’s my record/save/load set up:
    image_140558.jpg I’ve also tried using one each of the Start/Finish Recording nodes with both trackers plugged in as the target. I get the same result either way.

  2. I don’t know how to get the below nodes created. I assume I need one to recognize the Left controller but I can’t find how to create these nodes. They do not show up in the right-click menu.
    image_140558.jpg

Thanks!

Hi @ForwardXPDev ,

  1. Each tracker saves its own set of gestures so you shouldn’t expect any from one file to show up in the other. Based on your setup my best guess for why some gestures are disappearing is that maybe you’re recording to the same Id multiple times, which overwrites the gesture previously recorded to that Id. Also, gesture recording fails when the recorded gesture’s length is greater than the maximum allowed length (you can tweak this in the tracker’s details panel), so I suppose it’s possible you’re recording very long gestures sometimes and they’re failing. Your setup looks right (although the delay between saves is probably unnecessary) so I’m not sure what the issue would be otherwise.

  2. If you click on one of the GestureTracker components and look at the bottom of the details panel you’ll see some events with ‘+’ symbols next to them. Click these to create the events shown above. Alternatively you can drag a pin off a tracker and call BindToGestureRecognized, then drag off the resulting bind node’s delegate pin and create a custom event (this will auto generate an event with the proper signature, or inputs).

Can u get the speed of how fast the tracker completes the pattern? or if it only completes 50%?

Hi @calvin019,

The Recognition Duration output on the gesture recognized event tells you how long it took (see ForwardXPDev’s images above).

If you want to recognize gestures at 50% you can lower the Completion Percentage parameter on the GestureTracker to .5. I may add support for setting individualized completion updates in the future (e.g. have the tracker tell you when a specific gesture id has reached a specific percentage such as 50%). As an alternative for now you could record a gesture that’s the 50% version of the full gesture and then check for that from the GestureRecognized event, which will fire for both the 50% gesture and the 100% gesture if both are performed during recognition (instead of just using the result from FinishRecognition, which only cares about the final gesture you performed and doesn’t fire until user input tells it that the gesture is done being performed).