In case anyone needs this, here is how I figured out to rotate my “hands” correctly when using the hydra joystick to rotate the first person character:
[=DeathTempler;288494]
…
For some reason it doesn’t draw the spheres and I can’t tell if it’s tracking then
[/]
Couple of things. I’m assuming you’re following the video? video was made back in 4.0 before a lot of best practices were established so it contains outdated ideas.
Why your example didn’t work:
- you’re multiplying the value from the trigger change by 0, so the spheres will always be 0!
- the position as you have it will show the hydra movements relative to absolute (map) 0,0,0 position which you may not see! You should add an actor position to that in order to have it relative to the actor location.
What you should be doing (assumes the 3rd person template):
1a) Attach a hydra component to your chosen pawn/character blueprint
1b) Add a hydra interface
2) Right click in your blueprint and add the following graph to see your hydra position in a basic form
3) Use input mapping for joystick movements e.g.
will give you the following in the 3rd person template
Where the left joystick was used to move the character and the right was used to look around with hydra right button 1 used for jumping.
In addition to that whenever the hydras are undocked you see a 10x10x10 cube shown for each hand with the position and orientation shown relative to the actor center.
If you want 1:1 calibrated input you should follow the guide in page 3 of thread.
Hope example helps!
[=JaeYoo;277377]
Hi, ,
I am getting error below.
I have created a ‘A’ class that is derrived from UOBject and FTickableObject.
and I created a ‘B’ class that is derrived from the ‘A’ and HydraDelegate.
Compile is working, date is all working good but somehow after around 20 seconds or so, it crashes with below messages.
MachineId:9EB1563042CDEFB5797C6DA20F58A34C
Access violation - code c0000005 (first/second not available)
UE4Editor_HydraPlugin!FHydraPlugin::DelegateUpdateAllData() + 34 bytes [c: rees\rs1\shootergame\plugins\hydraplugin\source\hydraplugin\private\fhydraplugin.cpp:277]
UE4Editor_HydraPlugin!FHydraPlugin::DelegateTick() + 87 bytes [c: rees\rs1\shootergame\plugins\hydraplugin\source\hydraplugin\private\fhydraplugin.cpp:327]
UE4Editor_HydraPlugin!FHydraPlugin::HydraTick() + 243 bytes [c: rees\rs1\shootergame\plugins\hydraplugin\source\hydraplugin\private\fhydraplugin.cpp:271]
UE4Editor_ShooterGame!HydraDelegate::HydraTick() + 146 bytes [c: rees\rs1\shootergame\source\shootergame\private\motionsensor\hydra\hydradelegate.cpp:136]
UE4Editor_ShooterGame!UShooterMotionCaptureHydra::Tick() + 50 bytes [c: rees\rs1\shootergame\source\shootergame\private\motionsensor\shootermotioncapturehydra.cpp:42]
UE4Editor_Engine!UWorld::Tick() + 4464 bytes [c: rees\rs1\engine\source\runtime\engine\private\leveltick.cpp:1171]
UE4Editor_UnrealEd!UEditorEngine::Tick() + 5618 bytes [c: rees\rs1\engine\source\editor\unrealed\private\editor.cpp:1329]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() + 22 bytes [c: rees\rs1\engine\source\editor\unrealed\private\unrealedengine.cpp:347]
UE4Editor!FEngineLoop::Tick() + 4179 bytes [c: rees\rs1\engine\source\runtime\launch\private\launchengineloop.cpp:2257]
UE4Editor!GuardedMain() + 1404 bytes [c: rees\rs1\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() + 26 bytes [c: rees\rs1\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() + 249 bytes [c: rees\rs1\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor!__tmainCRTStartup() + 329 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
[/]
sounds like garbage collection is releasing your references. I recommend using blueprint binds as it will be easier without custom memory management. You can still have your class be in C++, but I would bind the hydra actions in blueprint and forward relevant data to data structures you need access to in C++.
[=DeathTempler;288494]
For some reason it doesn’t draw the spheres and I can’t tell if it’s tracking then
[/]
Adding a hydra component directly to the chosen pawn/character blueprint did not work for me.
Option 2 from the post #133](Plugin - C++ - Epic Developer Community Forums) on page 4 did the trick.
Hi .
Very new to UE4 been trying to follow the guides etc on how to setup the controllers but each example shown seems to have different nodes (older versions?). Like a couple of the other guys in here I’m having trouble filtering the results from “Event hydra controller moved”. In the 0.7 guide to filter it suggests using ‘Is left/right hand’ function but I can’t seem to find the function in blue prints (latest engine and plugin).
P.s thanks for the guides and info!
Scratch that, I’ve worked it out by sheer luck.
Cheers again.
Hello, i just wanted to share what i have done with UE4 and and thanks for his plugin.
Hi
That’s really awesome. I like your calibration process. Can you tell us a bit about how that calibration was done in blue prints? Thanks
[=Mrob76u;305629]
Hi
That’s really awesome. I like your calibration process. Can you tell us a bit about how that calibration was done in blue prints? Thanks
[/]
Yeah sure. No blueprints scripting was used in the project.
I wanted the gameplay to be the same for , independently from your arms length or body height.
So, i ask the player to press start with the hydras in front of their eyes and then with their arms extended;
way i can calculate the player approximate height and arms length, and standardize their movement with a multiplier that multiplies the hydra position.
Every player can reach the same distance inside the game when they extend their arms.
The multiplier is a FVector that directly multiplies the hydra position i get from the hydra plugin,
in addition to that, i store the centre of the hydras (average of both hydras x y and z), so if a player moves his chair or walks away from the hydra base, he can just do a quick recalibration that just changes the stored centre. the centre is subtracted from the hydra position.
I guess that is everything you need to know.
i thought about the calibration process a lot and was the best solution i could come up with.
i also tried to make the hydra base rotation independent from the hydra controllers rotation, but it turned out to be too complicated and i abandoned, but i think it is possible and would be amazingly comfortable.
What are you developing anyway?
[=;305686]
Yeah sure. No blueprints scripting was used in the project.
I wanted the gameplay to be the same for , independently from your arms length or body height.
So, i ask the player to press start with the hydras in front of their eyes and then with their arms extended;
way i can calculate the player approximate height and arms length, and standardize their movement with a multiplier that multiplies the hydra position.
Every player can reach the same distance inside the game when they extend their arms.
The multiplier is a FVector that directly multiplies the hydra position i get from the hydra plugin,
in addition to that, i store the centre of the hydras (average of both hydras x y and z), so if a player moves his chair or walks away from the hydra base, he can just do a quick recalibration that just changes the stored centre. the centre is subtracted from the hydra position.
I guess that is everything you need to know.
i thought about the calibration process a lot and was the best solution i could come up with.
i also tried to make the hydra base rotation independent from the hydra controllers rotation, but it turned out to be too complicated and i abandoned, but i think it is possible and would be amazingly comfortable.
What are you developing anyway?
[/]
Just wanted to say that I think you’ve done a great job, looks like quite a lot of fun. Just needs some out of the box thinking puzzles and you have a winner on your hands
Also interesting calibration process you’ve chosen, I should try it out as it seems to be very quick. That said… having something like the leap motion attached to your oculus might allow for some automagic calibration… More on that later on!
[=;305845]
Just wanted to say that I think you’ve done a great job, looks like quite a lot of fun. Just needs some out of the box thinking puzzles and you have a winner on your hands
Also interesting calibration process you’ve chosen, I should try it out as it seems to be very quick. That said… having something like the leap motion attached to your oculus might allow for some automagic calibration… More on that later on!
[/]
Thanks. I’ll be uploading it shortly on some websites so you can play it if you want.
i just have to fix a few things to make it playable by . Unfortunately i do not have the hydra anymore as it belonged to my professor (it was a University project) but i guess i’ll buy a new one as soon as i can. means that temporarily i cannot work on the level design, but the technical side and the hydra mechanics are pretty advanced so i’m confident i’m publishing as an alpha somewhere, also to get some feedback.
Hi
Will you be doing a 4.8 version here or will you try and get all you plugins into the new plugins section in the market? thanks
[=Mrob76u;312610]
Hi
Will you be doing a 4.8 version here or will you try and get all you plugins into the new plugins section in the market? thanks
[/]
I don’t think my plugins would be really eligible for the market so until I know more, they’re going to remain linked here and on github as a primary location.
Update to 0.7.8
-Updated to UE4.8
grab the latest zip at the usual place.
Thanks for the update . Much appreciated.
Hi
Thanks for the great plugin. I am not sure if I am doing something wrong but when I create a blueprint that inherits from actor. Even though I add the hydra component and implement the interface I cannot get any of the hydra events to work (even though I can use them in the blueprint). If the blueprint is a pawn then they work fine.
Any help appreciated.
EDIT. Found a work around. I used event dispatchers from my character BP and hooked them up into my actor (which is a 3D button with rollover events etc). It would be handy to get at the hydra stuff in an Actor but I’m sure there must be a reason why you can’t!
thanks
[=mattratcliffe;317150]
Hi
Thanks for the great plugin. I am not sure if I am doing something wrong but when I create a blueprint that inherits from actor. Even though I add the hydra component and implement the interface I cannot get any of the hydra events to work (even though I can use them in the blueprint). If the blueprint is a pawn then they work fine.
Any help appreciated.
EDIT. Found a work around. I used event dispatchers from my character BP and hooked them up into my actor (which is a 3D button with rollover events etc). It would be handy to get at the hydra stuff in an Actor but I’m sure there must be a reason why you can’t!
thanks
[/]
should work. Couple of things to check:
-Is your actor instantiated in the scene? E.g. do you have it placed in the map or used as the default pawn/etc
-Are you adding the right component/interface?
-What engine version are you using?
If the top two are still correct, show me a screenshot of your blueprint with the relevant hydra parts, perhaps we will be able to break down whats missing:). There is also a convenience HydraPluginActor you can sub-class instead of the component which has everything hooked up (no interface needed).
Managed to get the hydras integrated and it works great. Just wondering has anyone setup a template which has the Player pawn move around based purely on the HMD position and orientation for yaw? I tried and came up against a number of problems, i.e the positional tracking of the HMD getting added twice, once to the camera and once to the position of the pawn.
Cheers again !
[=devbeatz;320058]
Managed to get the hydras integrated and it works great. Just wondering has anyone setup a template which has the Player pawn move around based purely on the HMD position and orientation for yaw? I tried and came up against a number of problems, i.e the positional tracking of the HMD getting added twice, once to the camera and once to the position of the pawn.
Cheers again !
[/]
Patimpatam came up with a pretty cool method using the hydras and yaw/leaning to move around. With some tweaks it could be very compelling.
Regarding positional tracking, you have to take into account that by default the UE camera adds Oculus yaw to controller yaw and you should separate those values in order to have a decoupled viewing experience ( you can then add the right level of intended yaw to your input ).
Hi , thanks for developing plugin, it’s great and it’s really helpful.
Anyway, i have a question for you.
I’m trying to rig the arms of a 3D character with Hydra.
I have linked the wrist joints to the hydra controllers, but I would like to get the local rotation instead of the global rotation.
Is there a way to get it?
Any help appreciated.