Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Originally posted by Andrea Avellino View Post
    Hi Mordentral,

    thank you for your answer, I just figured this out by myself

    now I have my project, created in the Epic's VR Template environment, with your plugin enabled. I migrated the Drawer actor and the Door actor into my scene, but I'm not able to open/close them with
    my MotionControllers (standard VR Template's MotionControllers). I guess this is because the "take objects" interactions in the Epic's template works with the "PickUpActor" interface, while in yours depends on the "VRGrip" interface, am I wrong?

    I apologize for superficially speaking about blueprints and coding, I'm just an artist trying to make things work. :@

    So, what would you recommend to make me interact with your drawer in my environment? Should I replace the Epic's MotionController_BP with yours? Are they different?

    Thank you!

    Andrea
    They are very different, the plugin uses a custom gripping system instead of attachment. If you want to use the standard controllers for drawers and the like then check out Mitches tutorials in this forum section. Otherwise you would have to implement some of the gripping code that the template character uses.


    Consider supporting me on patreon

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

    Comment


      I've found what I needed, thank you very very much for your support!

      Best wishes

      Andrea

      Comment


        Pushed a new commit to both the plugin and the template


        Plugin Changes
        Code:
        12/07/2016
        Added new grip type, Custom Grip, it does not perform any movement logic and sends an interface
        event called TickGrip every tick with the motion controllers delta since last frame.
        
        TickGrip can be enabled for ALL grip types as a boolean in the motion controller component if so wished but leave it off otherwise, interface calls have a slight perf hit.
        
        Fixed a couple minor bugs
        
        Change main tick function into a switch statement
        
        Moved interface checks before all logic in tick and set booleans to prevent having to check
        for the interface multiple times.
        
        Deleted a ton of commented code in the motion controller that isn't going to be used
        in the future.
        Template Changes
        Code:
        12/07/2016
        Fixed potion actor issue in stand alone where it wasn't welding the stopper correctly.
        
        Fixed fps char not setting boolean to grip without motion controllers and assigned them hand enums.
        
        Updated to latest plugin version with multiple bug fixes and the Custom grip type.


        Consider supporting me on patreon

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

        Comment


          Originally posted by mordentral View Post
          Pushed a new commit to both the plugin and the template


          Plugin Changes
          Code:
          12/07/2016
          Added new grip type, Custom Grip, it does not perform any movement logic and sends an interface
          event called TickGrip every tick with the motion controllers delta since last frame.
          
          TickGrip can be enabled for ALL grip types as a boolean in the motion controller component if so wished but leave it off otherwise, interface calls have a slight perf hit.
          
          Fixed a couple minor bugs
          
          Change main tick function into a switch statement
          
          Moved interface checks before all logic in tick and set booleans to prevent having to check
          for the interface multiple times.
          
          Deleted a ton of commented code in the motion controller that isn't going to be used
          in the future.
          Template Changes
          Code:
          12/07/2016
          Fixed potion actor issue in stand alone where it wasn't welding the stopper correctly.
          
          Fixed fps char not setting boolean to grip without motion controllers and assigned them hand enums.
          
          Updated to latest plugin version with multiple bug fixes and the Custom grip type.

          This might be incredibly cheeky but any chance you could add a climbing mode to the template if you have the time. Even with the help you gave me its way above what I can do in Unreal and unless I can see the BP I have no hope of getting it to work. If you don't have the time thats cool. You're doing incredibly work for the VR community and I'm sure you have a list of priorities you need to get through that will benifit the community as a whole.

          Comment


            That'd be incredibly awesome to see.

            Comment


              Ya I think loads of people would love a climbing system.

              Comment


                I was able to migrate over my room scale setup to work with the new SimpleVRCharacter. Everything worked without a hitch even the replication, which is much faster than my old blueprint replication setup so thanks a million.
                I have one question though. Are you doing something to reset world origin, or tracking orgin inside SimpleVRCharacter?

                I noticed that after migrating to the simpleVRCharacter class my hmd location in game is reset to the playerstart location. My setup is a fairly strict vive roomscale setup where i interact with physical objects in the room so my playerstart is always at 0,0,0, but then i just position the character to where the hmd is via a similar setup to your parent relative attachment.

                I noticed I was getting the error "VRExpansion Library couldn't get tracked Devices" so I delayed the "stereo on" command until after the character class returns valid, and the hmd is positioned correctly as it originally was before the character class change.

                Of course there's still the chance it's something with my setup, but thought I'd just ask if there's any reset happening first before digging around more.

                If there is some reset happening, also wondering if it can be made optional. Even with my current workaround for a launched game, if I use 'VRPreview' I get the same reset of my playspace to my HMD location since there's no way to tell that to wait until after character class has loaded before running the "stereo on".

                Comment


                  This plugin works brilliantly with my Vive, but now I have Touch controllers and it just crashes when I run a packaged game with the Touch on. Switching back to Vive allows it to run.

                  I don't know if this makes any difference, but the game starts with non-VR menus and then enables the HMD once you've connected to a game. It's when I try to use the VR pawn that it crashes.

                  Comment


                    Originally posted by alltrueist View Post
                    I was able to migrate over my room scale setup to work with the new SimpleVRCharacter. Everything worked without a hitch even the replication, which is much faster than my old blueprint replication setup so thanks a million.
                    I have one question though. Are you doing something to reset world origin, or tracking orgin inside SimpleVRCharacter?

                    I noticed that after migrating to the simpleVRCharacter class my hmd location in game is reset to the playerstart location. My setup is a fairly strict vive roomscale setup where i interact with physical objects in the room so my playerstart is always at 0,0,0, but then i just position the character to where the hmd is via a similar setup to your parent relative attachment.

                    I noticed I was getting the error "VRExpansion Library couldn't get tracked Devices" so I delayed the "stereo on" command until after the character class returns valid, and the hmd is positioned correctly as it originally was before the character class change.

                    Of course there's still the chance it's something with my setup, but thought I'd just ask if there's any reset happening first before digging around more.

                    If there is some reset happening, also wondering if it can be made optional. Even with my current workaround for a launched game, if I use 'VRPreview' I get the same reset of my playspace to my HMD location since there's no way to tell that to wait until after character class has loaded before running the "stereo on".
                    SimpleVRCharacter moves the actor with the headset's offset so yes that character will change the location of the tracked space, with the SimpleVRCharacter the HMD is pretty much always at 0,0 XY (visually) and the controllers are offset to account for it. Using the "GetOrientationAndPosition" node will still return the HMDs real world location in the tracking space, but for game play since the tracking space moves with it you would have to change the actors location to that offset at begin play.

                    So you would either want to account for that and move the actor itself in game based on the HMD location, or use the VRCharacter instead which just has the collision follow the HMD instead.

                    In UE4 your tracked space is centered on the actor holding the HMD/Controllers.

                    Originally posted by MrCheese View Post
                    This plugin works brilliantly with my Vive, but now I have Touch controllers and it just crashes when I run a packaged game with the Touch on. Switching back to Vive allows it to run.

                    I don't know if this makes any difference, but the game starts with non-VR menus and then enables the HMD once you've connected to a game. It's when I try to use the VR pawn that it crashes.
                    I would need a log of the crash, the plugin doesn't do anything specific to the vive but I don't have touch or any oculus hmd past DK2 to test with. If you are using the oculus VR runtime for it and not SteamVR then you'll have to disable the procedural controller generation code in the player character as it is Open/SteamVR exclusive. It would also be helpful to know if it crashes with a epic template pawn and the oculus touch currently in a packaged game.
                    Last edited by mordentral; 12-08-2016, 10:02 AM.


                    Consider supporting me on patreon

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

                    Comment


                      Pushed new commit to ease development time


                      Code:
                      Added GetIsInVRPreviewOrGame blueprint node, returns true if the world is the
                      in editor VRPreview or is a non editor build. Otherwise returns false (normal editor previews
                      / play in editor).
                      Also added it to the template where it checks for if there is an active HMD. This mean that if you are in an editor build and you launch the vrpreview it will spawn the VRPawn, if you run in any other editor mode it will use the FPSPawn instead. For packaged games it always returns true so it will allow the VR Pawn.


                      Consider supporting me on patreon

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

                      Comment


                        This may be a dumb question, but will the VRExpansionPlugin work in Unreal Engine on a MAC? When I try installing (following instructions) and opening up the project, it says it cannot open the plugin and closes Unreal Engine all together. I have to remove the plugin to open the project back up. When I looked in the Binaries of the plugin I noticed it only had Win32 and Win64 in it.

                        Comment


                          Originally posted by JasmineJasmine View Post
                          This may be a dumb question, but will the VRExpansionPlugin work in Unreal Engine on a MAC? When I try installing (following instructions) and opening up the project, it says it cannot open the plugin and closes Unreal Engine all together. I have to remove the plugin to open the project back up. When I looked in the Binaries of the plugin I noticed it only had Win32 and Win64 in it.
                          You would have to compile it for mac yourself as I do not own one, but SteamVR itself isn't listed as compatible with OS's outside of windows anyway so you would have to use a compatible framework (unsure of oculus runtime).


                          Consider supporting me on patreon

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

                          Comment


                            Just pushed a minor update to fix FPS pawns with the new node, also the newest SteamVR update that came out an hour ago flipped the mesh data for the controllers for some stupid reason, I temp rotated the procedural mesh components to correct for the offset but I don't know if they will revert that change in the future or not....

                            If they don't I will do it in the generation function instead eventually.


                            Consider supporting me on patreon

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

                            Comment


                              Here is the crash dump. I've disconnected the Steam controller detection and it still crashes.
                              Attached Files

                              Comment


                                The base template works, I've clearly broken something. I'll have to go through it again. Thanks anyway.

                                Comment

                                Working...
                                X