Announcement

Collapse
No announcement yet.

Training Stream - VR Networking and 3D Menu - Sept 8th, 2015

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

    #16
    An other question that just came to my mind:

    Could you maybe explain all the different rotations and relative/absolute locations that are relevant to HMDs? It doesn't seem to be too straight forward to even just get the world location of the HMD:

    Code:
    FVector GetHMDLocation(UWorld *World)
    {
    	FQuat Rotation;
    	FVector Position;
    
    	if(HMDIsAvailable())
    	{
    		GEngine->HMDDevice->GetCurrentOrientationAndPosition(Rotation, Position);
    	}
    	else
    	{
    		Rotation = FRotator::ZeroRotator.Quaternion();
    		Position = FVector::ZeroVector;
    	}
    
    	FTransform Transform = GEngine->GetFirstLocalPlayerController(World)->PlayerCameraManager->GetTransform();
    	const FQuat &RotationInverse = Rotation.Inverse();
    	Position = RotationInverse.RotateVector(Position);
    	FVector HMDPosInWorldSpace = Transform.TransformPosition(Position);
    	return Position;
    }
    Join us on IRC! We are on #unrealengine @ freenode.org

    Comment


      #17
      When is layered rendering due so that I can have VR HUDs tied to the camera which aren't subject to reprojection?

      Comment


        #18
        Could you please upload the stream after? I can't miss this training stream, but I can't make it for the live event. Please hook us up with details!
        vr and new media installations
        www.samuelwalker.xyz

        Comment


          #19
          Originally posted by artoculon View Post
          Could you please upload the stream after? I can't miss this training stream, but I can't make it for the live event. Please hook us up with details!
          All of the livestreams are uploaded to Youtube afterwards, so you don't have to worry
          Broad Strokes | Jan Kaluza | Marketplace Release: 'Over 9000 Swords' Modular Melee Weapon System
          Currently not available for freelance work
          Dev Blog & Tutorials | Twitter

          Comment


            #20
            Ah brilliant brilliant. Thanks for reply Kashaar.

            Here's an annoying little question though: How soon afterward? I'm hoping to pound out some Unreal work tonight based off this tutorial. I hope it's an immediate upload ~_~
            vr and new media installations
            www.samuelwalker.xyz

            Comment


              #21
              takes a bit to upload to youtube usually, but check for past broadcasts on Unreal's twitch page, usually up pretty soon after the broadcast.

              usually!

              Comment


                #22
                Originally posted by JoshieZombie View Post
                Will there be a video up soon after of the stream? I'd love to learn more about VR, but I'm not sure I'll be there for the stream.
                Definitely yes but it would be better if we get an official answer
                voidrunnerthegame.com

                facebook.com/voidrunnergame

                Comment


                  #23
                  Usually the YouTube version does take a couple of days for the upload, but you can check out the Past Broadcasts on the Twitch page and you will be able to see it immediately there.

                  Comment


                    #24
                    Originally posted by Bajee View Post
                    An other question that just came to my mind:

                    Could you maybe explain all the different rotations and relative/absolute locations that are relevant to HMDs? It doesn't seem to be too straight forward to even just get the world location of the HMD:

                    Code:
                    FVector GetHMDLocation(UWorld *World)
                    {
                    	FQuat Rotation;
                    	FVector Position;
                    
                    	if(HMDIsAvailable())
                    	{
                    		GEngine->HMDDevice->GetCurrentOrientationAndPosition(Rotation, Position);
                    	}
                    	else
                    	{
                    		Rotation = FRotator::ZeroRotator.Quaternion();
                    		Position = FVector::ZeroVector;
                    	}
                    
                    	FTransform Transform = GEngine->GetFirstLocalPlayerController(World)->PlayerCameraManager->GetTransform();
                    	const FQuat &RotationInverse = Rotation.Inverse();
                    	Position = RotationInverse.RotateVector(Position);
                    	FVector HMDPosInWorldSpace = Transform.TransformPosition(Position);
                    	return Position;
                    }
                    The first part is removing the HMD rotation from the position (inverse the HMD rotation, then rotate the HMD position by it), then the second bit is transforming the HMD position by the character's transform to get it into world space.
                    Last edited by n00854180t; 09-08-2015, 05:10 PM.
                    Storyteller - An immersive VR audiobook player

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

                    Comment


                      #25
                      This project ever get released?

                      This was posted a long time back and still seems very relevant since trying to launch a Multiplayer game in VR still seems pretty hard in Unreal. The support for the widgets and how they get garbled up in VR mode is hard to deal with.

                      Did you guys ever post the project? The key part seems to be all the magic with setting up the Menu to work via the controls and without using the Widget blueprint (21:00-22:00). It is somewhat glossed over in the video.

                      It seems like just releasing the project seems like it would be very helpful.

                      Comment


                        #26
                        How to get a 3D widget rendered inside the new stereo layer component?

                        Because stereo layers render directly to the headset's compositor and skip world rendering/post processing, stuff inside the stereo layer has a lot of detail. That's especially great for UI's. But how to preserve interactivity of the UI inside a stereo layer?

                        Comment

                        Working...
                        X