Announcement

Collapse
No announcement yet.

[Plugin] Myo

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

    #31
    Right, 4.7 then... for me it happens with or without things connected to it, then again this is a project I've shepherded along for a couple of versions of unreal, and who knows what legacy **** the older nodes bring with them.
    If I get some time I'll re-create my broken blueprint, zip it up and send you a link, if it doesn't break on your machine, then I have to talk to my sys-admins again and see what crazy registry or other restrictions I have on my box...

    -Derek

    Comment


      #32
      Unreal 4.7 Update

      Hi Everyone,

      I'm a new user of Unreal Engine because of the recent price change and because I found this really cool Myo plugin. I am having some issues installing the plugin in Unreal Engine 4.7 and I was wondering if someone could help me update the library. I am running Myo Connect 0.9.1 and Myo Firmware Version 1.2.955. I did successfully get the plugin installed on Unreal Engine 4.6.1, but I was not able to receive Myo data. In addition, it crashed on me a few times. Hopefully a 4.7 could be a quick fix.

      When I follow the installation instructions on the GitHub page, when I reach step 8 I receive the error dialoge
      The following modules are missing or built with a different engine version:
      UE4Editor-MyoPlugin.dll
      Would you like to rebuild them now?
      When I rebuild it always fails and responds:
      {Project Name} could not be compiled. Try rebuilding from source manually.
      Let me know if there is anything else I can do that might help update this. I've had some development experience, so if I end up diving deeper into Unreal and Myo I'd love to help out.

      Thanks,
      James

      Comment


        #33
        4.7 version should be available this weekend, I've been running behind for this release =/
        Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

        Comment


          #34
          Thanks a ton! I can't wait to try it out.

          Comment


            #35
            Problem with C++

            Heyho,

            first of all thank you for all the work! i am having quite the trouble with the C++ classes. My current setup:

            Unreal Engine 4.6.1
            Myo Connect 0.8.1
            Firmware 1.1.755
            All this should work with newest version in the git repository. In fact it does work when i am following the installation steps and set the default input mappings to the myo events. With that i was able to control the ball in the rolling template just with the help of the myo armband what was actually quite nice. I tried to follow your instructions for the c++ version but i can't find a way to compile a successfull project. Here is what i have done:

            1. creating a basic c++ template project.
            2. close the project and copy the myo stuff into it.
            3. fix the error DCrosby talked about (TArray to FMyoEmgData). The project now compiles without errors and i see some myo stuff in the console. looks good so far.
            4. start the debug game editor and see that the plugin is enabled. Go to Window -> Developer Tools -> Class Viewer and search for MyoPluginActor. Right click and Create new C++ class.
            5. Inside visual studio there is now a new class and the Plugins folder with the myo plugin inside.
            6. Compiling the project now gives the error: Fehler 1 error C1083: Datei (Include) kann nicht geöffnet werden: "MyoPluginActor.h": No such file or directory d:\unreal projects\myotestproject\source\myotestproject\MyMyoActor.h 5 1 MyoTestProject
            7. I add "MyoPlugin" to the PublicDependencyModuleNames. The error is now gone but a new one appears. see screenshot:
            here is another one with my header class shown:

            I also tried to extend my own actor with all the steps you have shown in the git documentation. But in the end I am getting the same error. I hope it is just a stupid error on my side.

            Greetings
            Tobias

            UPDATE: i was able to fix the problem. i am now able to read the data in c++ with the help of the plugin. i just had to add the MyoDelegate.cpp into my source project and make some header adjustments. i found the solution while watching your youtube video about implementing the hydra plugin in c++ where you are doing just the same thing.

            https://www.youtube.com/watch?v=zRURG4Zp0Zo&t=731

            i hope this helps some other people.
            Last edited by gritob; 03-18-2015, 01:33 PM. Reason: update

            Comment


              #36
              Originally posted by gritob View Post
              ...
              UPDATE: i was able to fix the problem. i am now able to read the data in c++ with the help of the plugin. i just had to add the MyoDelegate.cpp into my source project and make some header adjustments. i found the solution while watching your youtube video about implementing the hydra plugin in c++ where you are doing just the same thing.

              https://www.youtube.com/watch?v=zRURG4Zp0Zo&t=731

              i hope this helps some other people.
              Thanks for linking the solution. The C++ bind isn't as clean as I would've liked it but unfortunately the plugin and the game code targets are different so you need the cpp. Note that when you build for package or shipping you will have to remove the duplicate file. Will hope to revisit this some day; if any of you UE C++ experts out there can simplify this, please advise

              Originally posted by jjallen37 View Post
              Thanks a ton! I can't wait to try it out.
              Plugin update to 0.7.8
              -updated binary for UE 4.7
              -moved convenience content into the plugin, delete if you do not want to
              use it and wish to save space.
              -updated myo sdk bind to 0.8.1

              Grab the latest release here.

              Note that this is an early release to provide the convenience binaries, planning on adding joint prediction before 4.8 and maybe a rigged skeleton if the prediction works reliably enough!
              Last edited by getnamo; 03-23-2015, 04:04 PM.
              Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

              Comment


                #37
                Hello!
                Thanks for the work, I am beginning to use this plugin with UE 4.7.4 and it crash when put the component folowing steps with the rolling template...

                The message is:

                MachineId:A6280501428EFC7AF9A98A8BAE0F36EB
                EpicAccountId:44b3283f76a4470f878e0ab424c090f3

                C++ EH exception - code e06d7363 (first/second chance not available)

                KERNELBASE + 37901 bytes
                msvcr120 + 388963 bytes
                UE4Editor_MyoPlugin + 14140 bytes
                UE4Editor_MyoPlugin + 20710 bytes
                UE4Editor_MyoPlugin + 19322 bytes
                UE4Editor_MyoPlugin + 45520 bytes
                UE4Editor_MyoPlugin + 49927 bytes
                UE4Editor_Engine!UActorComponent::ExecuteRegisterEvents() + 48 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\actorcomponent.cpp:945]
                UE4Editor_Engine!UActorComponent::RegisterComponentWithWorld() + 942 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\actorcomponent.cpp:749]
                UE4Editor_Engine!AActor::AddComponent() + 393 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\actorconstruction.cpp:702]
                UE4Editor_Engine!AActor::execAddComponent() + 423 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\classes\gameframework\actor.h:70]
                UE4Editor_CoreUObject!UFunction::Invoke() + 180 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\class.cpp:3713]
                UE4Editor_CoreUObject!UObject::CallFunction() + 1112 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:395]
                UE4Editor_CoreUObject!UObject::execLetObj() + 430 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1292]
                UE4Editor_CoreUObject!UObject::ProcessInternal() + 1644 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:602]
                UE4Editor_CoreUObject!UObject::CallFunction() + 2707 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:516]
                UE4Editor_CoreUObject!UObject::ProcessInternal() + 1644 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:602]
                UE4Editor_CoreUObject!UFunction::Invoke() + 180 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\class.cpp:3713]
                UE4Editor_CoreUObject!UObject::ProcessEvent() + 3036 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:924]
                UE4Editor_Engine!AActor::ProcessEvent() + 259 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\actor.cpp:529]
                UE4Editor_Engine!AWorldSettings::NotifyBeginPlay() + 342 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\worldsettings.cpp:119]
                UE4Editor_Engine!AGameMode::HandleMatchHasStarted() + 426 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\gamemode.cpp:602]
                UE4Editor_Engine!AGameMode::SetMatchState() + 141 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\gamemode.cpp:711]
                UE4Editor_Engine!AGameMode::StartMatch() + 83 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\gamemode.cpp:579]
                UE4Editor_Engine!UGameInstance::StartPIEGameInstance() + 1545 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\gameinstance.cpp:218]
                UE4Editor_UnrealEd!UEditorEngine::CreatePIEGameInstance() + 8708 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\playlevel.cpp:2861]
                UE4Editor_UnrealEd!UEditorEngine::PlayInEditor() + 7184 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\playlevel.cpp:2212]
                UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlayMapRequest() + 643 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\playlevel.cpp:974]
                UE4Editor_UnrealEd!UEditorEngine::Tick() + 3604 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\editor.cpp:1226]
                UE4Editor_UnrealEd!UUnrealEdEngine::Tick() + 22 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\unrealedengine.cpp:347]
                UE4Editor!FEngineLoop::Tick() + 4179 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launchengineloop.cpp:2257]
                UE4Editor!GuardedMain() + 1404 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launch.cpp:142]
                UE4Editor!GuardedMainWrapper() + 26 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
                UE4Editor!WinMain() + 249 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
                UE4Editor!__tmainCRTStartup() + 329 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]

                Thaks so much for your help

                Comment


                  #38
                  Hey viky-

                  We would like to investigate and track the crash you reported. Could you make a post on the AnswerHub (http://answers.unrealengine.com/) with any information related to the crash such as the call stack you posted here as well as any log files from the crash and what you were doing when the crash happened.

                  Thanks

                  Doug

                  Comment


                    #39
                    Originally posted by viky View Post
                    Hello!
                    Thanks for the work, I am beginning to use this plugin with UE 4.7.4 and it crash when put the component folowing steps with the rolling template...

                    The message is:

                    MachineId:A6280501428EFC7AF9A98A8BAE0F36EB
                    EpicAccountId:44b3283f76a4470f878e0ab424c090f3

                    C++ EH exception - code e06d7363 (first/second chance not available)

                    KERNELBASE + 37901 bytes
                    msvcr120 + 388963 bytes
                    UE4Editor_MyoPlugin + 14140 bytes
                    UE4Editor_MyoPlugin + 20710 bytes
                    UE4Editor_MyoPlugin + 19322 bytes
                    UE4Editor_MyoPlugin + 45520 bytes
                    UE4Editor_MyoPlugin + 49927 bytes
                    UE4Editor_Engine!UActorComponent::ExecuteRegisterEvents() + 48 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\actorcomponent.cpp:945]
                    UE4Editor_Engine!UActorComponent::RegisterComponentWithWorld() + 942 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\actorcomponent.cpp:749]
                    UE4Editor_Engine!AActor::AddComponent() + 393 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\engine\private\actorconstruction.cpp:702]
                    ...
                    Thaks so much for your help
                    This may be related to the fact that the Myo SDK throws exceptions at start if you do not have Myo Connect running. It is something that I'm working to get around and should be fixed in the next release.


                    I recently answered a pm regarding how to check which arm you have, figured this should be posted here to be helpful for others looking for the same answer.

                    Originally posted by PM Snippet
                    ...
                    How do i tell the UE on wich arm i wear the Myo? It doesn't figure it out by itselfe. To be exact, i got two Myo's and of course I want to handle them seperated from each other.
                    ...
                    The myo can distinguish your arms after you've done the sync gesture. There are two methods used in the plugin to get your arm possession.

                    One, you can get the arm possession by dragging off the myo controller pointer you get from an event such as OnPair or OnPose.

                    For Example if you had a pose and you wanted it to only affect a particular arm you could do something like this



                    Two, if you want a reference to specific arms outside an event, you can get them by dragging off of the myo component and using any of the convenience functions



                    Remember that all the available functions/properties relevant to the myo are easily searched by dragging off of the Myo Controller or Myo Component and typing 'myo'. This will limit your functions only to the ones relevant to the plugin. Hope this helps!

                    Edit: this section been added to the github documentation.
                    Last edited by getnamo; 04-19-2015, 09:05 AM.
                    Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                    Comment


                      #40
                      Update to 0.7.9
                      -Added a work around that fixes the UE editor crash if you do not have Myo Connect running when you begin play. This will allow for safe integration of myo with multiple other plugins.

                      Let me know if you still have crashes after this fix. This also means that if you do not see your plugin working you can confirm its because of Myo Connect failure by checking your logs

                      e.g.
                      Click image for larger version

Name:	Redm6ly.png
Views:	1
Size:	39.0 KB
ID:	1074745

                      Simply relaunching myo connect and restarting your game will make it initialize correctly. Note that you can have the myo connect running but no hub connected in which case you will also not have myo control, but you should be able to hot plug the hub in that instance.
                      Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                      Comment


                        #41
                        Thank you so much Gentamo!

                        I want to get Myo's pitch, roll and yaw but I couldn't do it yet.

                        This is what I've done so

                        Click image for larger version

Name:	Sin título.png
Views:	1
Size:	102.3 KB
ID:	1074934

                        Sadly, it doesn't do anything.

                        Thank you all

                        Comment


                          #42
                          Originally posted by viky View Post
                          Thank you so much Gentamo!

                          I want to get Myo's pitch, roll and yaw but I couldn't do it yet.

                          This is what I've done so

                          [ATTACH=CONFIG]36094[/ATTACH]

                          Sadly, it doesn't do anything.

                          Thank you all
                          I suspect you're missing a myo component. In order to use input mapping you need to have a Myo Component attached to something that is placed in the map. Typically the easiest place to add it is to your pawn/character. After you've done that your input mapping events will work. You should also attach the interface so that the plugin won't warn you about lack of interface bind (used for non-IM blueprint events)

                          Here is a quick video on how to add myo support to the rolling template in under 60 seconds.



                          Edit:

                          Thalmic Labs have posted a page outlining the steps in a simple format, highly recommended for concise instructions:
                          http://developerblog.myo.com/myo-unl...unreal-engine/
                          Last edited by getnamo; 05-25-2015, 06:13 AM.
                          Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                          Comment


                            #43
                            Update to 0.7.10
                            -Updated SDK to Myo 0.9

                            Update to 0.7.11
                            -Updated to UE4.8

                            grab the latest zip at the github repo for the updates.
                            Plugins: Node.js - TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense

                            Comment


                              #44
                              Thanks for wrapping this!

                              Unfortunately I'm getting crashes that seem pretty inconsistent.
                              But more importantly, here is the data I'm getting from EventOnOrientationData: Current value =(Pitch=-90.0, Yaw=-1.#IND00,Roll=1.#QNAN0)
                              Event OnAccellerometerData seems to be working fine

                              Any ideas?

                              Thanks very much for your help!

                              Comment


                                #45
                                Hey I installed the plugin as mentioned but the editor crashes every time I want to compile a BP which uses the Myo component. Do you have any suggestions?

                                Comment

                                Working...
                                X