Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Thanks a lot for developing and sharing this!!

    <3vr

    Comment


      Sweet, you were quick. Is the new example template live? Bit bucket says last update was 6/30.
      In League

      Comment


        Originally posted by FatMoth View Post
        Sweet, you were quick. Is the new example template live? Bit bucket says last update was 6/30.
        Nope, I want to get the last TODO items for the week in before I release it, expect it to be pushed live over the weekend.


        Also here is the VOD from the Q&A / Go over:


        Consider supporting me on patreon

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

        Comment


          Originally posted by mordentral View Post
          Your filenames are too long, drop the project back a folder as it has the auto generated zip title twice in there and is bloating the path length to longer than visual studio can handle.
          Thank you very much mordentral. you saved a couple of days. I thought it was some installation issue as i updated Visual studio to 2017 and also unreal update.. thanks a lot it also asked for windows SDK 8.1 although i had SDK10
          thanks for the helap and thanks for the Q&A video upload going through it

          regards
          Jo

          Comment


            Update: I figured out how to make the grabbing ignore trigger boxes and trigger spheres. Basically I had to edit the "Get Nearest Overlapping Object" function in the Vive_PawnCharacter blueprint, and filter out any primitive components with the class "Box Collision" or "Sphere Collision" from the primitive component array. Sadly this meant turning off the "trace sphere" method and sticking with the overlap method.

            This might be something you would wanna change sometime, unless you want the ability to grab these kinds of objects.

            Comment


              Temp HUD menu -- really interested

              Originally posted by mordentral View Post
              No, its fairly alpha currently, I need to fix it in headspace. But for world space, just attach it to an actor, and set its widget to any random menu that you have (tested using the server browser). Unless the override is on it will render only in stereo layer while the HMD is active, it is best used for temporary menu's in openVR though as there is no world depth for stereo layers in openVR. Oculus has a world depth and may perform with occlusion correctly, I can't test.

              The original idea is from Mitch, its just a lot cleaner and more compact to implement in C++ instead of blueprint.
              Super cool template and functionalities!

              So, I replaced the laser activate action in the left-controller, with a hold-pressing to show a VRStereoWidget that I've attached to the HeadMeash ... but it is not interactable with the laser from the right-controller -- like the server menu is (the one on the cube that has the "mirror").

              I understand that VRStereoWidget is alpha now; have you made any headway into its use as an interactable HUD? (I'm pretty sure I'm implementing it incorrectly on the Vive_PawnCharacter.)

              Comment


                Originally posted by MevNav View Post
                Update: I figured out how to make the grabbing ignore trigger boxes and trigger spheres. Basically I had to edit the "Get Nearest Overlapping Object" function in the Vive_PawnCharacter blueprint, and filter out any primitive components with the class "Box Collision" or "Sphere Collision" from the primitive component array. Sadly this meant turning off the "trace sphere" method and sticking with the overlap method.

                This might be something you would wanna change sometime, unless you want the ability to grab these kinds of objects.
                ? You don't have to do that, just set things not to be blocked by VRTraceChannel and it won't be a problem. I added a custom trace channel specifically for that reason.

                Also sorry i missed your original post.


                Consider supporting me on patreon

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

                Comment


                  How would I go about turning off the feature where the object you are holding stops moving if it hits non-movable collision (like a wall) and instead pass through it? I can't find where it is doing that in the Blueprints. I'm trying to test a simple pool game and the cue keeps stopping when I go to hit the ball because it hits the collision of the table. Would I just need to disable it entirely, or would I be able to put in exclusions? How would I do either of these? Thanks!

                  Comment


                    Originally posted by dixonian89 View Post
                    How would I go about turning off the feature where the object you are holding stops moving if it hits non-movable collision (like a wall) and instead pass through it? I can't find where it is doing that in the Blueprints. I'm trying to test a simple pool game and the cue keeps stopping when I go to hit the ball because it hits the collision of the table. Would I just need to disable it entirely, or would I be able to put in exclusions? How would I do either of these? Thanks!
                    It obeys all common collision rules, so you can simply turn off collision with the table if you want to keep the physics rules.

                    However considering that you are making a pool game, the physics rules would be unwanted, so switch the grip type for the held cue to "Physics Only" (yes the naming may be a little confusing), PhysicsOnly means that it has no interactive collision and that the only collision is when physics objects get pushed around by it, basically it acts just like attaching but with all of the two handed grips and replication functionality.


                    Consider supporting me on patreon

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

                    Comment


                      Originally posted by mordentral View Post
                      It obeys all common collision rules, so you can simply turn off collision with the table if you want to keep the physics rules.

                      However considering that you are making a pool game, the physics rules would be unwanted, so switch the grip type for the held cue to "Physics Only" (yes the naming may be a little confusing), PhysicsOnly means that it has no interactive collision and that the only collision is when physics objects get pushed around by it, basically it acts just like attaching but with all of the two handed grips and replication functionality.
                      Thanks for the response! I'm really sorry for my ignorance from being extremely new to this, but I dont understand how I would change the grip type to physics only for the cue? I found the "set grip collision type" function, but not sure how I would use it to set the grip for the cue.

                      Comment


                        Originally posted by dixonian89 View Post
                        Thanks for the response! I'm really sorry for my ignorance from being extremely new to this, but I dont understand how I would change the grip type to physics only for the cue? I found the "set grip collision type" function, but not sure how I would use it to set the grip for the cue.
                        If it is a grippable object base then you can simply change it in the VRGripInterfaceSettings on the object. There will be a grip type dropdown that you can change.


                        Consider supporting me on patreon

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

                        Comment


                          Originally posted by mordentral View Post
                          If it is a grippable object base then you can simply change it in the VRGripInterfaceSettings on the object. There will be a grip type dropdown that you can change.
                          Thanks for the help! I'll give it a try!

                          Comment


                            Pushed a new commit to the template and plugin - I'm still waiting on someone with touch to test something for me but the rest of it should be ok.

                            Template Changes
                            Code:
                            Changed up the VRCharacter so that gripping and using is also  gameplay tag defined now.
                            Everything is now run off of one generic function that manages any button passed in
                            by comparing gameplay tags. Falls back to default tag values where appropriate.
                            
                            *Note* Original character is now "VRCharacter_Legacy" and will be dropped at some point.
                            
                            This allowed me to delete many extra functions that were pretty much just re-implementing
                            drop or grip logic for different buttons.
                            
                            Removed a bunch of functions from VR character that were not needed.
                            
                            Sorted all functions in VR character into categories.
                            
                            Unlinked all OpenVR specific code (except for the controller loading since it just fails when out of platform).
                            
                            Added an example StereoViewIndex post process material with a custom node that returns the eye index both in AND out of instanced stereo mode. This can be used for
                            stereoscoptic textures.
                            
                            Added HadHandSpecificSlots to gameplay tags so that the GetCorrectSocketPrefix can return VRGripLP or VRGripRP / VRGripTouchLP / VRGripTouchRP.
                            Plugin changes

                            Code:
                            initial setup of lever component, working on physics side of it.
                            
                            Combined axis enums from button and lever components into EVRInteractibleAxis
                            Couldn't find a generic public XYZ enum in engine already to use.
                            
                            *Note c++ lever component is still unfinished in this update*
                            
                            Added an OverridePrefix string intput to the FindClosestSlotInRange function.
                            This more easily allows the end user to do things like controller (touch vs vive)
                            or hand (Left vs Right) define custom grip sockets to a mesh.
                            
                            IE: Pass in VRGripPLTouch for Left Hand Touch socket.
                            
                            Moved secondary grip information into a seperate struct in the grip structure, not only does this allow me to add some replication specific
                            additional properties to it. But it also should be more efficient to replicate as I can boolean control its replication without forcing
                            NetSerializer on the main struct. It also lets me just pass the struct for notification functions.
                            
                            Added bIsSlotGrip to both primary and secondary grip structs, can be set when calling the grip function, useful for checking in the object later on.
                            
                            Made it default to set physics gripped objects Center Of Mass to the controller location for the grip.
                            
                            Added Option in advanced physics to turn off setting COM to grip location
                            Last edited by mordentral; 07-09-2017, 03:56 PM.


                            Consider supporting me on patreon

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

                            Comment


                              Can you open the "Playable Template Demo" in the UE4 editor?

                              Comment


                                Originally posted by Phoenix85 View Post
                                Can you open the "Playable Template Demo" in the UE4 editor?
                                Thats a packaged EXE, the "Example Template" that you can download is what it is packaged from and can be opened from the editor.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X