Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

How to get Quaternion Representation of MotionController Rotation Natively?

Hi, I've been trying to grab a FQuat instead of an FRotator from the device-agnostic Motion Controller interface, but I can't get at it. I'm using a Vive, and I ran into floating-point errors with the traditional FRotator representation while trying to make a world-repositioning functionality, also Quats are more intuitive for handling this kind of thing.

In the engine, it appears that for some ungodly reason each headset's (Oculus and Vive's) rotation information gets downconverted from an FQuat to a FRotator inside the plumbing from the headset's plugin out into the device-agnostic interface! Why would this even seem like a good idea? This results in a loss of information along the pipeline! Anyway I've tried to remedy it by attempting to access the value directly from the plugin:

     bool RetVal = false;
     int32 ControllerIndex = 0;
     EControllerHand DeviceHand = EControllerHand::Left;
     FVector OutPosition;
     FQuat DeviceOrientation = FQuat::Identity;
     FSteamVRHMD* SteamVRHMD = GetSteamVRHMD();
     if (SteamVRHMD)
         RetVal = SteamVRHMD->GetControllerHandPositionAndOrientation(ControllerIndex, DeviceHand, OutPosition, DeviceOrientation);

But then I need to:

 #include "SteamVRHMD.h"

Which just doesn't ever want to include, no matter how I specify the file path to it in the #include. I always get some variation on:

 fatal error C1083: Cannot open include file: 'SteamVRHMD.h': No such file or directory

Some help or a bugfix request put in would be absolutely appreciated, this is turning into a huge showstopper in my game.

Product Version: UE 4.11
more ▼

asked Apr 15 '16 at 05:09 AM in C++ Programming

avatar image

57 2 6 13

avatar image ioanb7 Aug 08 '16 at 07:55 PM

Anyone found the fix yet?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

I'm also having this issue would appreciate a fix for this!

more ▼

answered Apr 26 '16 at 01:37 PM

avatar image

222 16 26 48

avatar image spychiatrist Aug 09 '16 at 07:24 PM

So, for now I've been using


on a MotionControllerComponent instantiated like this:

 RightHandComponent = CreateDefaultSubobject<UMotionControllerComponent>(TEXT("RightHand"));
     RightHandComponent->Hand = EControllerHand::Right;
     RightHandComponent->AttachToComponent(VROriginComp, attRules);

And it seems to work pretty well, and I can use it as intended with no issue.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Let me know if this works for you

 #include "..\Plugins\Runtime\Steam\SteamVR\Source\SteamVR\Private\SteamVRHMD.h"

I am a complete noob to the C++ implementation links in UDK for now, but as soon as I find the answer I will edit the question.

more ▼

answered Aug 08 '16 at 03:53 PM

avatar image

0 1 1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question