Announcement

Collapse
No announcement yet.

Razer Hydra Plugin

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

    Yea I've been stuck on this problem for a bit and my game relies on multiplayer with hand controls :/

    Comment


      Hey, just want to start by saying thank you for making this plugin, it is pretty darn convenient and has worked well -so far :P

      I'm having a packaging problem. I have never successfully packaged a project with working hydra stuff. I've started a new project to make sure it's nothing else. The project packages fine when the hydraplugin-containing actor is not in the level, but as soon as I add one, the program starts crashing on start, giving nothing but an empty UE crash reporter (another project gives an empty "Fatal error!", though it is maybe-possible that that is due to something other than hydra).

      I've done the "compile with an empty class" and "add the dll to Binaries/Win64" thing. Any suggestions?
      Last edited by hamishtodd1; 02-02-2016, 05:16 AM.

      Comment


        Originally posted by Lasyavez View Post
        Yea I've been stuck on this problem for a bit and my game relies on multiplayer with hand controls :/
        Getnamo mentioned today on the Twitch chat that you should be able to fix it by checking authority (switch has authority) where you're doing input. For the actual motion controller component's movement, this might mean having to set a var on tick or something instead of using them directly, though.
        Storyteller - An immersive VR audiobook player

        Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

        Comment


          When I try to launch a standalone player I get this

          Access violation - code c0000005 (first/second chance not available)

          ""

          UE4Editor_HydraPlugin_9096!FHydraPlugin:ataDelegate() [c:\unreal\secondexperimentbackup\plugins\hydraplugin\source\hydraplugin\private\fhydraplugin.cpp:854]
          UE4Editor_HydraPlugin_9096!UHydraPluginComponent::InitializeComponent() [c:\unreal\secondexperimentbackup\plugins\hydraplugin\source\hydraplugin\private\hydracomponent.cpp:21]
          UE4Editor_Engine!AActor::InitializeComponents() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\actor.cpp:3743]
          UE4Editor_Engine!AActor::PostActorConstruction() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\actor.cpp:2599]
          UE4Editor_Engine!AActor::FinishSpawning() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\actor.cpp:2578]
          UE4Editor_Engine!AActor::PostSpawnInitialize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\actor.cpp:2534]
          UE4Editor_Engine!UWorld::SpawnActor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\levelactor.cpp:430]
          UE4Editor_Engine!UWorld::SpawnActor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\levelactor.cpp:267]
          UE4Editor_Engine!AGameMode::SpawnDefaultPawnFor_Implementation() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\gamemode.cpp:1272]
          UE4Editor_Engine!AGameMode::execSpawnDefaultPawnFor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\classes\gameframework\gamemode.h:67]
          UE4Editor_CoreUObject!UFunction::Invoke() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\coreuobject\private\uobject\class.cpp:4195]
          UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1046]
          UE4Editor_Engine!AActor::ProcessEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\actor.cpp:580]
          UE4Editor_Engine!AGameMode::SpawnDefaultPawnFor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\intermediate\build\win64\ue4editor\inc\engine\engine.generated.1.cpp:4659]
          UE4Editor_Engine!AGameMode::RestartPlayer() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\gamemode.cpp:461]
          UE4Editor_Engine!AGameMode::HandleMatchHasStarted() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\gamemode.cpp:589]
          UE4Editor_Engine!AGameMode::SetMatchState() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\gamemode.cpp:721]
          UE4Editor_Engine!AGameMode::StartMatch() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\gamemode.cpp:582]
          UE4Editor_Engine!UWorld::BeginPlay() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\world.cpp:3050]
          UE4Editor_Engine!UEngine::LoadMap() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\unrealengine.cpp:9667]
          UE4Editor_Engine!UEngine::Browse() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\unrealengine.cpp:8742]
          UE4Editor_Engine!UGameInstance::StartGameInstance() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\gameinstance.cpp:321]
          UE4Editor_Engine!UGameEngine::Init() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\engine\private\gameengine.cpp:503]
          UE4Editor!FEngineLoop::Init() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\launchengineloop.cpp:2095]
          UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\launch.cpp:136]
          UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
          UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

          Comment


            Originally posted by hamishtodd1 View Post
            When I try to launch a standalone player I get this

            Access violation - code c0000005 (first/second chance not available)
            I'm working on debugging this today. I see you are running 4.9, i had made some the last couple of pull requests to solve some of the errors in the 4.9 branch for 4.10. However, there are still issues with standalone. Mainly they seem to stem from the input devices being created *after* BeginMatch() is called. I'll report back if I find anything
            VR R&D @Shopify

            Comment


              So I seemed to have solved my problem without any code changes to the current github plugin. Essentially CreateInputDevice is not called until after BeginMatch() happens, so in my case I was setting a base offset for the hydra off a blueprint Pawn BeginMatch event which caused a crash. By moving the offset into tick (with a branch making sure its only called the first tick()), things in my project worked, even in shipped/cooked configs.
              VR R&D @Shopify

              Comment


                Is there a 4.11 version yet? They finally fixed the bug that has kept my game in single player purgatory!!!

                Comment


                  Hi I have some question about packaged.

                  When I packaged to project with hydra plugin. I get PackagingResults:Error: Unknown Error.
                  I'm using Unreal Engine4.10.2
                  How to fix this problem?

                  Comment


                    Originally posted by Lasyavez View Post
                    Is there a 4.11 version yet? They finally fixed the bug that has kept my game in single player purgatory!!!
                    Once the launcher version goes from preview to release. You have source so you can recompile the plugin at any time, just add code to your project and hit compile.

                    Originally posted by rinonakamura View Post
                    Hi I have some question about packaged.

                    When I packaged to project with hydra plugin. I get PackagingResults:Error: Unknown Error.
                    I'm using Unreal Engine4.10.2
                    How to fix this problem?
                    PM me your logs, will need more information.
                    Plugins: TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense - CIM

                    Comment


                      When i use 4.11p5 build the plugin,there is some error:

                      1>D:\ue4\project\jgj\Plugins\HydraPlugin\Source\HydraPlugin\Private\FHydraPlugin.cpp(852): error C2259: 'FHydraController': cannot instantiate abstract class
                      1> D:\ue4\project\jgj\Plugins\HydraPlugin\Source\HydraPlugin\Private\FHydraPlugin.cpp(852): note: due to following members:
                      1> D:\ue4\project\jgj\Plugins\HydraPlugin\Source\HydraPlugin\Private\FHydraPlugin.cpp(852): note: 'ETrackingStatus IMotionController::GetControllerTrackingStatus(const int32,const EControllerHand) const': is abstract
                      1> D:\ue4\4.11\Engine\Source\Runtime\HeadMountedDisplay\Public\IMotionController.h(47): note: see declaration of 'IMotionController::GetControllerTrackingStatus'

                      Comment


                        Originally posted by ayconanw View Post
                        When i use 4.11p5 build the plugin,there is some error:

                        1>D:\ue4\project\jgj\Plugins\HydraPlugin\Source\HydraPlugin\Private\FHydraPlugin.cpp(852): error C2259: 'FHydraController': cannot instantiate abstract class
                        1> D:\ue4\project\jgj\Plugins\HydraPlugin\Source\HydraPlugin\Private\FHydraPlugin.cpp(852): note: due to following members:
                        1> D:\ue4\project\jgj\Plugins\HydraPlugin\Source\HydraPlugin\Private\FHydraPlugin.cpp(852): note: 'ETrackingStatus IMotionController::GetControllerTrackingStatus(const int32,const EControllerHand) const': is abstract
                        1> D:\ue4\4.11\Engine\Source\Runtime\HeadMountedDisplay\Public\IMotionController.h(47): note: see declaration of 'IMotionController::GetControllerTrackingStatus'
                        Looks like 4.11 added an extra method for Motion Controllers. I'll add the fix when 4.11 lands.
                        Plugins: TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense - CIM

                        Comment


                          Originally posted by getnamo View Post
                          Looks like 4.11 added an extra method for Motion Controllers. I'll add the fix when 4.11 lands.
                          Hello getnamo,
                          I just successfully updated my project and your plugin from unreal engine 4.7 to the latest preview of 4.11, but i can't get the Hydra to work, i can see the plugin is getting hydra values right (_sixenseAllControllerDataUE is filled), but the virtual methods of HydraDataDelegate implemented in my code don't get called anymore, because i'm not able to set my class as the plugin's delegate instance.
                          In 4.7 i use to call HydraStartup() which did:
                          "IHydraPlugin::Get().SetDelegate((HydraDelegate*)this)"
                          so that my HydraDelegate derived class was used to receive the calls instead of the default virtual HydraDataDelegate, but i can't find that method anymore, it just doesn't seem to be implemented, i don't want to add a component in BP, i'd like to do everything from c++ like it once was.

                          Also, in public classed of your plugin, i can't include the private ones,
                          e.g. in HydraComponent.h i have to change
                          #include "HydraPluginPrivatePCH.h" to #include "../Private/HydraPluginPrivatePCH.h"
                          to compile; i might be retarded but i can't find any solution to this.

                          Comment


                            Hi there getnamo !

                            I just wanted to pop by and see if you've got plans to update the plugin to compile for the VR Editor that's on Github.
                            It'd sure help out those of us who have a DK2 and Hydra's

                            Best Regards
                            MrNexy

                            Comment


                              Originally posted by MrNexy View Post
                              Hi there getnamo !

                              I just wanted to pop by and see if you've got plans to update the plugin to compile for the VR Editor that's on Github.
                              It'd sure help out those of us who have a DK2 and Hydra's

                              Best Regards
                              MrNexy
                              Released a first workable pass!

                              Grab it and instructions at: https://github.com/getnamo/hydra-ue4/tree/vr-editor

                              Steps
                              1. Clone the VREditor branch
                              2. Download VREditor hydra plugin release
                              3. Browse to your cloned engine root folder. Drag and drop Engine which contains the plugin there.
                              4. Compile and run the editor! (watch an episode of gdc or House of Cards, this will take a while)


                              Then just do this and have fun!



                              Originally posted by Filoppi View Post
                              Hello getnamo,
                              I just successfully updated my project and your plugin from unreal engine 4.7 to the latest preview of 4.11, but i can't get the Hydra to work, i can see the plugin is getting hydra values right (_sixenseAllControllerDataUE is filled), but the virtual methods of HydraDataDelegate implemented in my code don't get called anymore, because i'm not able to set my class as the plugin's delegate instance.
                              In 4.7 i use to call HydraStartup() which did:
                              "IHydraPlugin::Get().SetDelegate((HydraDelegate*)this)"
                              so that my HydraDelegate derived class was used to receive the calls instead of the default virtual HydraDataDelegate, but i can't find that method anymore, it just doesn't seem to be implemented, i don't want to add a component in BP, i'd like to do everything from c++ like it once was.

                              Also, in public classed of your plugin, i can't include the private ones,
                              e.g. in HydraComponent.h i have to change
                              #include "HydraPluginPrivatePCH.h" to #include "../Private/HydraPluginPrivatePCH.h"
                              to compile; i might be retarded but i can't find any solution to this.
                              I normally don't do this but, check out the plugin github releases for 4.11 VR preview version of the plugin. You should be able to use the 4.11 version in C++ since it has the correct HYDRAPLUGIN_API definitions. Just include it as a dependency in your project build.cs
                              Last edited by getnamo; 03-17-2016, 08:34 PM.
                              Plugins: TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense - CIM

                              Comment


                                Thank you getnamo !

                                Edit: I got it sorted , you're awesome !
                                Last edited by MrNexy; 03-18-2016, 08:24 PM.

                                Comment

                                Working...
                                X