Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Hey Mordentral, have you thought about implementing a way to load a custom SteamVR skybox? It seems like this is the way to do it in C++:

    Quoted from: https://forums.unrealengine.com/show...ion-of-SteamVR

    "I was just looking into this recently. You can do it in C++:

    Code:

    /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough)
    * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format.
    If two are passed, it is assumed a lat-long stereo pair. /
    virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0;

    /* Resets compositor skybox back to defaults. /
    virtual void ClearSkyboxOverride() = 0;


    https://github.com/ValveSoftware/ope...aders/openvr.h"

    Edit: Thanks for implementing GrippableSkeletalMeshComponent.cpp!
    Last edited by Fantasifall; 11-21-2016, 05:29 PM.

    Comment


      Originally posted by Fantasifall View Post
      Hey Mordentral, have you thought about implementing a way to load a custom SteamVR skybox? It seems like this is the way to do it in C++:

      Quoted from: https://forums.unrealengine.com/show...ion-of-SteamVR

      "I was just looking into this recently. You can do it in C++:

      Code:

      /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough)
      * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format.
      If two are passed, it is assumed a lat-long stereo pair. /
      virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0;

      /* Resets compositor skybox back to defaults. /
      virtual void ClearSkyboxOverride() = 0;


      https://github.com/ValveSoftware/ope...aders/openvr.h"

      Edit: Thanks for implementing GrippableSkeletalMeshComponent.cpp!
      I haven't tested it yet but I am pretty sure that epic took care of that in 4.14.

      NEW: VR LOADING MOVIES

      The engine now supports loading movies on Oculus, GearVR, SteamVR, and PSVR. These run on the rendering thread, and can mask framerate hiccups as you load up your content. To use the splash screen, you can set a texture using the "Set Splash Screen" node, or choose to automatically have it appear when you load a map with the “Enable Auto Loading Splash Screen” node.
      I'll be doing some additions and fixes tomorrow and starting to look into starting the multiplayer. Will be at reduced free time for a bit due to the holidays.


      Consider supporting me on patreon

      My Open source tools and plugins
      Advanced Sessions Plugin
      VR Expansion Plugin

      Comment


        Hi again mordentral and others,

        I am curious as to any recommendation on how to best toggle to a Seated Experience for a Vive UE4 project. I'd like to add an HMD offset which could be toggled so the game can be accessible to those who will play seated. The game I am working on has a long play time and is semi-open world, so I expect people to perhaps switch between sitting and standing. Any other ideas on how to make VR with the Vive more accessible would be nice as well.

        Thank you,

        Comment


          Not sure if I'm overlooking something, but I installed the plugin and set up the VRCharacter, the way I have it set up is when you press up on the touchpad the character should start walking toward the forward vector of the controller, but when I give it input to walk, it moves like a cm then stops, any idea why?

          Comment


            Originally posted by mordentral View Post
            In the player there is a OnPossesed node path that downloads the controllers from steam, just unlink those nodes and the default template hands are there (I hide them for the controllers).

            Teleport distance can be set in the TeleportController blueprint that is spawned in to control Epics teleportation system.

            *Edit* You would want to adjust the collision spheres attached to each hand, their location defines the sphere trace for gripping, they are currently set up to feel most natural with controller models.
            Yeah I figured thats how you would do it for the default meshes of the hands but it does not play the animation while gripping. I think it's due to using "MotionController (L) & (R) Trigger Nodes. Those override the default animation of epic's template. I notice in the defaulted template if you use the MotionController (L) & (R) anywhere else it doesn't play the animation.

            Comment


              Originally posted by Gnaw View Post
              Yeah I figured thats how you would do it for the default meshes of the hands but it does not play the animation while gripping. I think it's due to using "MotionController (L) & (R) Trigger Nodes. Those override the default animation of epic's template. I notice in the defaulted template if you use the MotionController (L) & (R) anywhere else it doesn't play the animation.
              Nevermind I don't think I even see the animation code in there now. LOL. Oops

              Comment


                I'm taking one of the items off of my "Revisit this" list this holiday weekend and remaking the VRCharacter (or at least an alternative one). The current one is based around the VRRootComponent which I made specifically to slot into standard pawns. Since the VRCharacter isn't a standard pawn then it is faaaaar more complicated than it needs to be for its functions, I intend to make a simple version that if stable enough will fully replace it. Due to how VRRootComponent works I had to re-write most of the character movement component to support it, the new version would take a mostly stock character movement component instead.

                We'll see how it pans out, but early testing feels pretty good, and if it works as I intend then upgrading the plugin to keep up with new engine versions would be 100x easier.


                Originally posted by Hafgren View Post
                Not sure if I'm overlooking something, but I installed the plugin and set up the VRCharacter, the way I have it set up is when you press up on the touchpad the character should start walking toward the forward vector of the controller, but when I give it input to walk, it moves like a cm then stops, any idea why?
                You either need to loop it on tick, or use an input event that is called every frame it is active. It sounds like you are firing it once.
                Last edited by mordentral; 11-23-2016, 08:24 PM.


                Consider supporting me on patreon

                My Open source tools and plugins
                Advanced Sessions Plugin
                VR Expansion Plugin

                Comment


                  Okay, I hooked it up to the tick and it works now, don't know why I didn't try that earlier.

                  Comment


                    Originally posted by Hafgren View Post
                    Okay, I hooked it up to the tick and it works now, don't know why I didn't try that earlier.
                    I would suggest doing it like a normal character and using an input event instead so it can be rebound.


                    Consider supporting me on patreon

                    My Open source tools and plugins
                    Advanced Sessions Plugin
                    VR Expansion Plugin

                    Comment


                      When you work on multiplayer stuff, are you going to work on basic necessities like proximity voice, and a server browser?

                      Comment


                        Originally posted by Resolve View Post
                        When you work on multiplayer stuff, are you going to work on basic necessities like proximity voice, and a server browser?
                        Server browser yes, proximity voice on the other hand not only isn't a necessity but I have been asked about before for my networking plugin and I haven't actually found a way for it to work through a plugin. The audio components for players are not publicly accessible and I haven't been able to match them up to specific owners either as the identifiers are also not publicly available, I DO know how I would do it with an engine build however.

                        I may take another look at it again just in case.


                        Consider supporting me on patreon

                        My Open source tools and plugins
                        Advanced Sessions Plugin
                        VR Expansion Plugin

                        Comment


                          Originally posted by mordentral View Post
                          Server browser yes, proximity voice on the other hand not only isn't a necessity but I have been asked about before for my networking plugin and I haven't actually found a way for it to work through a plugin. The audio components for players are not publicly accessible and I haven't been able to match them up to specific owners either as the identifiers are also not publicly available, I DO know how I would do it with an engine build however.

                          I may take another look at it again just in case.
                          Cool. I assume the server browser will include the ability to host games with certain parameters (like amount of players, mainly)?

                          and that's a bummer with the proximity voice. I'm sure there's a way around it?

                          Also, if I were to start working with your template/plugins, how easy is it to update/add new plugins? Relatively speaking of course. Is it as easy as plug and play?

                          Comment


                            Mordentral, thanks a ton for building this. It's a great set of tools for getting started with VR. There is one little issue I am running into that others may have too:

                            If I make a blueprint that references a class from VR-Expansion-Plugin and then save the project, the next time I open the project and try to open that blueprint, the editor crashes.

                            [2016.11.25-17.49.47:165][838]LogWindows:Error: Fatal error: [File:\Build\++UE4+Release-4.14+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\Templates\Casts.cpp] [Line: 11]
                            [2016.11.25-17.49.47:165][838]LogWindows:Error: Cast of LinkerPlaceholderExportObject /Game/Blueprints/VR_Character.VR_Character_C:LeftHand_GEN_VARIABLE.LeftHand_GEN_VARIABLE_BP_HandController_C_CAT to Actor failed
                            This happened because I have a vr character that has a child actor blueprint for the hand. Here's a related problem on answers, but I'm not sure if they are using your plugin. But I'm getting the same type of error: https://answers.unrealengine.com/que...sh-ue-414.html

                            Turning the plugin off lets me open the blueprints without crash...but obviously that's not a good solution

                            Comment


                              Originally posted by pushmatrix View Post
                              Mordentral, thanks a ton for building this. It's a great set of tools for getting started with VR. There is one little issue I am running into that others may have too:

                              If I make a blueprint that references a class from VR-Expansion-Plugin and then save the project, the next time I open the project and try to open that blueprint, the editor crashes.



                              This happened because I have a vr character that has a child actor blueprint for the hand. Here's a related problem on answers, but I'm not sure if they are using your plugin. But I'm getting the same type of error: https://answers.unrealengine.com/que...sh-ue-414.html

                              Turning the plugin off lets me open the blueprints without crash...but obviously that's not a good solution

                              https://issues.unrealengine.com/issue/UE-38690

                              Looks like it has already been fixed and is slated for 4.14.1?


                              Consider supporting me on patreon

                              My Open source tools and plugins
                              Advanced Sessions Plugin
                              VR Expansion Plugin

                              Comment


                                First off, thanks mordentral for making this plugin!

                                I have a bit of a problem though and I am hoping someone can help me out.

                                I am trying to make a multiplayer game and testing with two players. The player can possess a new spawned character and I am calling "Set Tracking Origin" and "Reset Orientation and Position" so that the VR camera is in the correct spot when possessed.

                                It works great for the Server player, but when I try to do it on the client it is the Server character that gets affected by those origin and orientation functions and not the client.

                                I have tried running the functions through a "Is locally controlled" branch but it still doesn't work.

                                Any ideas? Really pulling my hair out on this one...

                                Thanks!
                                http://www.fusionlabz.com

                                Comment

                                Working...
                                X