Ultima Underworld VR Remake

Mrob76u and others, maybe you can help and all Hydra devs can benefit from it with an example of how to easily set up the Hydra for hand control.

So I set up my Hydra last night so I can stand in approximately the same pose as my character (neutral standing pose) with the Hydra in hand. When you press select, it stores the transform of the controller and sets a bool that tells the animation blueprint to turn on the IK.

In the anim BP I do to get the position into world space:

  • Get the current rot/pos for the controller.
  • Multiply the current transform by the inverse of the stored transform from when the user pressed select to get the relative offset.
  • Get the actor-space transform of the hand.
  • Multiply the offset transform from step 2 with the actor-space hand bone transform to offset it in actor-space.
  • Convert the actor-space transform to world space by multiplying it by the actor world transform.

I’m not sure why that doesn’t work, though.

Hey man, I realized something after I found the Transform To/From Bone Space nodes, which is that using those it should be fairly easy to figure out the world space position of the controller:

  • Have it set up so that the game tells the player to match the character’s pose and then press a button (select on the Hydra is a good one).

Then do when the button is pressed:

  • Store the controller position (acts as an offset to the base).
  • Get the hand bone position in bone-space.
  • Subtract out the controller position from the hand position in bone-space - is now the bone-space position of the base station. part is the key.

Once you have that, when the controller moves, all you need to do is

  • Add in the controller position to the bone-space base-station position.
  • Transform from bone space to world space!

I haven’t tested yet, but it should work quite handily (no pun intended).

Edit: Of course, if you set the effector target for your arm IK to use bone-space positions, you can skip the final step.

Also if anyone sees something wrong with my logic there, please let me know and provide a correction if possible!

OK so I just integrated my DK2 into my game. It now uses the positional tracking so you can lean round corners. I also used the info from the couch knights demo to make the upper body track the position of the camera so when you lean the upper body follows and bends in that direction. Needs a little tweaking for camera height but seems OK. I have an issue where I can’t seem to record the screen of the rift so I can’t make any videos of it in action right now. Anyone know the best way to get to work?

Try OBS (Open Broadcast Software): https://obsproject.com/

You should be able to set it to show the display from the Rift, and then just screen record.

Thanks man I will try that out and put up a video.

Awesome!

If you have a GPU that supports ShadowPlay, you can use that for the screen recording to capture the OBS window.

I have a 780ti. I tried shadowplay direct on the oculus but it wouldn’t work so I will try it on the OBS window see which gives me better results. Thanks for the info.