Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Originally posted by mordentral View Post
    I can't host the binaries and intermediate files as well on the repository, they are too large, so yes.

    I did upload a demo of the template today if you are just curious about it.


    Well I was trying to mess around with the template . So i could better understand how everything works. but it doesn't seem to want to work for me. Sorry if I'm missing something simple but i just keep getting same error I've followed the instructions and the plugin is working just cant seem to get the template to work

    EDIT: I ended up reinstalling and everything worked up until I tried to run the template and i get "UE4Editor-OpenVRExpansionPlugin.dll" is missing or build in wrong engine and it refuses to compile or convert it or do whatever it needs to do to that one file.
    Last edited by Onlygolden1; 05-31-2017, 01:45 AM.

    Comment


      Hi Mordentral,

      i am on 4.16. Using teleportation, the blue indicators are rotated by 180 degrees, this makes it hard to see the final destination before teleporting. Any body else having this issue?Click image for larger version

Name:	Screenshot 2017-05-31 13.43.58.png
Views:	1
Size:	247.6 KB
ID:	1128893

      I do also miss the hands, instead i see the controlers in play in vr. I can see them shortly at the beginning but then they disappear.
      How can i fix this easily?

      Edit: adding the hand/controler issue
      Last edited by showpixel; 05-31-2017, 08:05 AM.

      Comment


        Originally posted by Onlygolden1 View Post
        Well I was trying to mess around with the template . So i could better understand how everything works. but it doesn't seem to want to work for me. Sorry if I'm missing something simple but i just keep getting same error I've followed the instructions and the plugin is working just cant seem to get the template to work

        EDIT: I ended up reinstalling and everything worked up until I tried to run the template and i get "UE4Editor-OpenVRExpansionPlugin.dll" is missing or build in wrong engine and it refuses to compile or convert it or do whatever it needs to do to that one file.
        Hmmm, the openVR module didn't compile for you? Even after compiling it through visual studio? Because the launch through the UProject won't re-compile plugins sadly, it has to be done manually.

        You can download the pre-compiled binary and source package from the OP and replace the files in the plugins folder with that if all else fails, it should let you launch then. If you try and compile through visual studio again though, copy the output window text at the end and paste it in a code block or PM it to me so I can see if something went wrong for you specifically.


        Consider supporting me on patreon

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

        Comment


          Originally posted by showpixel View Post
          Hi Mordentral,

          i am on 4.16. Using teleportation, the blue indicators are rotated by 180 degrees, this makes it hard to see the final destination before teleporting. Any body else having this issue?

          I do also miss the hands, instead i see the controlers in play in vr. I can see them shortly at the beginning but then they disappear.
          How can i fix this easily?

          Edit: adding the hand/controler issue
          That may be the result of my last teleporting changes (Added an optional thumb pad rotate to set teleport rotation with a secondary red arrow over the weekend). I might have changed some of the normal logic as well for when the option is off, i'll take a look at it today.

          As for the hands, the template by default uses the SteamVR skinned model loading to show how to use it, in the character BP there is a large RED comment box with nodes inside it, all of these nodes are the Open/SteamVR specific nodes, you can go to where it says "load controller models" and unlink them and it will fall back to epics default hands.

          I needed to provide an example of model loading so its the default option (I also honestly prefer my controllers over the robot hands for the template specifically).


          Consider supporting me on patreon

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

          Comment


            Originally posted by showpixel View Post
            RE: SNIP
            Uploaded what should be a fix, forgot to re-link the teleport rotation to the standard indicators.

            *Edit* I'm open to suggestions to improve the teleporting by the way, its based off of a very early Epic teleport setup that they have modified since then and i'm not the biggest fan of how it works.

            I haven't put much work into teleportation as its already exampled with different methods all over the place and locomotion has been the primary focus of the template, but I feel like its starting to show its age. Adding in thumbpad rotation to it was just a start to clean it up a bit.
            Last edited by mordentral; 05-31-2017, 09:41 AM.


            Consider supporting me on patreon

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

            Comment


              THANKS FOR SUPERQUICK FEEDBACK!

              I found a way to fix it by changing the variable "Teleport Rotation" Z to 180, which might be wrong from logic but the result looks correct.
              Teleportation is just an option, i will set per default one controler to D-Press Controller Orientated and the other one to teleport. Its not a game, its for older Non-Gamers.
              Options, thats why i love this template.

              Comment


                Pushed a new commit to the plugin, OpenVR needed some love since 4.16 updated the OpenVR version

                Code:
                OpenVRCleanup pass
                
                
                Consolidated VRDeviceProperty functions (removed separate controller specific function)
                
                Property getting function now return execution Success or Failure instead of boolean
                
                Now each property getting function includes all types
                
                Added HMD properties
                
                Updated property list to new/current SteamVR values
                
                HMD properties are prefixed with HMD
                
                Controller properties are prefixed with Controller


                Consider supporting me on patreon

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

                Comment


                  Click image for larger version

Name:	Screenshot 2017-05-31 13.43.58.png
Views:	1
Size:	247.6 KB
ID:	1128893

                  I am getting some off center spherical gizmos floating next to controllers. It's even visible in this image. What is that?

                  Comment


                    Originally posted by Elleclouds View Post

                    I am getting some off center spherical gizmos floating next to controllers. It's even visible in this image. What is that?
                    That is a current engine bug in 4.16, debug draw objects are rendered double when instanced stereo is turned on.

                    I reported it in a preview build and its on the bug tracker, should be fixed in 4.16.1 I would assume. If you set the collision sphere to "Hidden" they won't do that anymore, I just like them visible for testing.

                    *Edit* In other news am also cleaning up the teleporting a bit more tonight.
                    Last edited by mordentral; 05-31-2017, 07:25 PM.


                    Consider supporting me on patreon

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

                    Comment


                      Originally posted by mordentral View Post
                      That is a current engine bug in 4.16, debug draw objects are rendered double when instanced stereo is turned on.

                      I reported it in a preview build and its on the bug tracker, should be fixed in 4.16.1 I would assume. If you set the collision sphere to "Hidden" they won't do that anymore, I just like them visible for testing.

                      *Edit* In other news am also cleaning up the teleporting a bit more tonight.
                      Do you have a donation page set up for this project? I appreciate all your hard work and would like to give you something at least since I can't buy you a beer

                      Comment


                        Originally posted by Elleclouds View Post
                        Do you have a donation page set up for this project? I appreciate all your hard work and would like to give you something at least since I can't buy you a beer
                        After a few dozen requests I linked one in my sessions plugin page, if enough bring it up in here eventually i'll do the same here.

                        But generally i'm trying to help people out.

                        Nice to see you got it working by the way, I understand it isn't as easy as a marketplace plugin but the file sizes are an issue and being a bit more advanced than most its probably better for it to have a "little" barrier to entry.


                        Consider supporting me on patreon

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

                        Comment


                          I was wondering how did you attach the controllers with the objects with the correct orientation (i.e The gun snaps into your hand correctly). I've been trying to pick up a ball the same way all the time but can't figure that out.

                          Also the when I walk close to objects I drop in your template, the entire screen moves away from me, I'm assuming this is because of the collision. This creates a weird feeling, any way to disable that?

                          Also, when I add assets ( a room with items) my motion controllers start to shake and lose fidelity. Does this mean that there are too many assets or performance issues. I have very few items in my scene, but when I teleport inside the structures the controllers lag and shake and lose tracking. If away from my imported structures, everything runs fine.
                          Last edited by Elleclouds; 06-01-2017, 10:21 AM.

                          Comment


                            Originally posted by Elleclouds View Post
                            I was wondering how did you attach the controllers with the objects with the correct orientation (i.e The gun snaps into your hand correctly). I've been trying to pick up a ball the same way all the time but can't figure that out. Also the when I walk close to objects I drop in your template, the entire screen moves away from me, I'm assuming this is because of the collision. This creates a weird feeling, any way to disable that?
                            Grabbing an object with specific socket setup for a given object let's you manipulate the transform of a grabbed object.

                            In order to not be affected by the environment collsion just change the collision responses on the object to ignore pawn (I think the pawn has separate collision type), obviously leaving the floor to block the pawn so you won't fall down through the floor.
                            VR/AR Development [Portfolio | YouTube | LinkedIn]

                            Comment


                              Originally posted by Shin_ji View Post
                              Grabbing an object with specific socket setup for a given object let's you manipulate the transform of a grabbed object.

                              In order to not be affected by the environment collsion just change the collision responses on the object to ignore pawn (I think the pawn has separate collision type), obviously leaving the floor to block the pawn so you won't fall down through the floor.
                              Originally posted by Elleclouds View Post
                              I was wondering how did you attach the controllers with the objects with the correct orientation (i.e The gun snaps into your hand correctly). I've been trying to pick up a ball the same way all the time but can't figure that out.

                              Also the when I walk close to objects I drop in your template, the entire screen moves away from me, I'm assuming this is because of the collision. This creates a weird feeling, any way to disable that?

                              Also, when I add assets ( a room with items) my motion controllers start to shake and lose fidelity. Does this mean that there are too many assets or performance issues. I have very few items in my scene, but when I teleport inside the structures the controllers lag and shake and lose tracking. If away from my imported structures, everything runs fine.

                              Yeah if you NEVER want collision then change the pawn collision settings, if you want collision only when moving with say, dpad sliding, then you use bWalkingCollision override and set a custom collision channel for roomscale walking. Walking close to objects that you drop shouldn't be causing it unless you have them on the static geometry collision channel, I default all channels except for that one to off for the pawn. Generally grippable objects should be on the WorldDynamic or PhysicsBody channels.




                              For the correct orientation, I have a socket added to the mesh with the prefix VRGripP for VRPrimaryGrip and then the number 1 (unique ID), the grippable objects by default check for sockets with this naming prefix convention and pass it out to the player when gripping if one is found (and within the grip snapping distance set on the object, SecondarySlotRange / PrimarySlotRange).

                              VRGripS is the prefix for secondary snap point for multiple hands. The prefixes can be manually overridden in the objects but generally the defaults should work.

                              If you look at SK_FPGun in the meshes you can see the names, locations, and rotations of the sockets that I added to it, you should generally be able to just add a socket named VRGripP to your object and it should just work, you may have to set the snap range to the same size as your objects bounds to ensure its always a snapped grip though.

                              If your controllers are "ghosting/blurring" then yeah, generally that means that you dropped below the 90FPS target, you are using objects too performance heavy for VR or your graphics hardware is weak. You'll want to look into optimizing the assets for VR.
                              Last edited by mordentral; 06-01-2017, 10:43 AM.


                              Consider supporting me on patreon

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

                              Comment


                                Pushed new commit to the plugin, been wanting to overhaul the socket logic a bit for awhile now, and adding in scaling grips with physics objects required it for the gun.

                                Code:
                                Added GetVRDevice_Matrix34Property function to the OpenVR Library, returns them as FTransforms.
                                
                                
                                Changed GetClosestSlotInRange to check for snap range off of relative location for the snap distance
                                instead of worldspace. This way snapping ranges should be object relative regardless of scale.
                                
                                GetClosestSlotInRange is now returning a worldtransform with an identity scale instead of the default
                                which contains the actor scale. This way when made relative to the object the transform will
                                be correct regardless of scaling.
                                
                                Physics simulating objects now are manually scaled if Scaling_Retain secondary grip type
                                is defined in their VRGripInterface, this brings them to par with non simulating objects.
                                Since simulating objects are not directly moved, but rather constrained to a kinematic object
                                it was nessecary to manually rescale them seperately if the grip called for it. Current implementation
                                may be streamlined in the future.
                                
                                **TEMPLATE BUT RELEVANT**
                                Template Gun logic for snap point location check modified to support the fact that if
                                scaled now it will have a modified relative location. (Need to consider whether to support
                                direct grip storage of slotted grip or to continue leaving it up to users). Original logic
                                will continue to function for 1:1 scaled objects, but up/downscaled objects would need to
                                adjust.
                                
                                If I add direct support for "was slot" I would have to add the name of the slot as well for identification.
                                
                                I don't really want to bloat the grip structures or interface structures any more than they already are.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X