Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Pushed a new commit to the repository

    Code:
    Massive Header file cleanup to better support Non Unity Builds and Linux.
    
    Fixed TeleportMoveGrip teleporting NoTeleport and DropOnTeleport on initial
    !IsTeleport grip teleportation check. (ie: on initial grip could teleport things that don't want it)
    
    Motion controller is now only setting ReplicatesMovement on actor grips or when the held
    component is the root component. This is possible since I added the new movement replication bool
    to the grippable components.
    
    Made the new conditional replication system for saved movements more sane and extended it to
    the simple character. It costs...2 bits...more than before but is far cleaner and has less functions.


    Consider supporting me on patreon

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

    Comment


      Awesome plugin, Joshua! Really love your work.

      I am in the process of using it with an Oculus Touch, where I mapped the controls sucessfully. One note on teleporting: Proteus template uses the controller rotation to change the orientation after teleporting, which feels great! Have you considered implemening that as well? I find it hard with the touch controllers to orient with the joystick while holding down with it, as it may trigger "button release" without me willing to do so by not pressing it hard enough during rotating.

      While every movement is working as intended (I have a Vive also to verify but not setup right now), the Navigation and OutOfBodyNavigation are setup so you can't change the orientation on teleport arrival, right?

      I guess I am doing something wrong with the vehicle. I am not reseated so the car pulls of under me. You solve it by constantly reseating the passengers on every tick, but would simply attaching also work? I tried attaching the VR-Character to my custom vehicle (the bus I was talking about earlier). Position works fine, but rotation stays as it is in world space. I tried snapping loc+rot to target, but the car rotates under me. How do I have to set it up? Do you have any hints. I am not sure if I got my understanding right of coordinate frames. It should attach the whole chaperone / guarding area to the vehicle. I used AttachToActor() on the VRCharacter.

      Cheers Max

      Comment


        Originally posted by MaSe87 View Post
        Awesome plugin, Joshua! Really love your work.

        I am in the process of using it with an Oculus Touch, where I mapped the controls sucessfully. One note on teleporting: Proteus template uses the controller rotation to change the orientation after teleporting, which feels great! Have you considered implemening that as well? I find it hard with the touch controllers to orient with the joystick while holding down with it, as it may trigger "button release" without me willing to do so by not pressing it hard enough during rotating.

        While every movement is working as intended (I have a Vive also to verify but not setup right now), the Navigation and OutOfBodyNavigation are setup so you can't change the orientation on teleport arrival, right?

        I guess I am doing something wrong with the vehicle. I am not reseated so the car pulls of under me. You solve it by constantly reseating the passengers on every tick, but would simply attaching also work? I tried attaching the VR-Character to my custom vehicle (the bus I was talking about earlier). Position works fine, but rotation stays as it is in world space. I tried snapping loc+rot to target, but the car rotates under me. How do I have to set it up? Do you have any hints. I am not sure if I got my understanding right of coordinate frames. It should attach the whole chaperone / guarding area to the vehicle. I used AttachToActor() on the VRCharacter.

        Cheers Max
        I'm not re-seating them on every tick, I am repositioning a scene component so that they stay without a boundry inside the vehicle for their seat.
        The actual character itself i DO attach to the car, however is uses a new function that I added to the blueprint character that didn't exist before so its likely not being called for you post migration. You have to re-create the function in your own character.

        Initial tests having worked out for the most part with the vehicle I am considering rolling the additional functions and things into the plugin itself in the future, but for now you would have to re-create the new blueprint functions that are called.


        As for teleport rotation, the stick pressed down is an implementation difference between the trackpad / joystick of the two controllers, for oculus I would likely remap to use axis values when not held down so that it works better. But I don't have rift/touch so getting the implementations perfectly clean for them is bothersome. Controllers orientation to dictate direction would work, but you cut out positional updates while doing it then, if you like it more then feel free to change the teleportation logic to accommodate what you want I either have to build hundreds of options in or choose one as an example and tell people to modify to suite themselves.

        Out of body / navigation are not set up for rotation, its possible to do with them but I didn't feel it was necessary as you can manually turn during the movements and they are setup as roomscale implementations, if you want a standing only version you would want to add a rotation to the final teleport of the out of body.


        Consider supporting me on patreon

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

        Comment


          Hey Mordentral,

          I'm noticing that the multiplayer menu you made for the example map only connects through steam when the game is packaged for "shipping", and the LAN buttons only seem to enable connections after I modify the settings in my DefaultEngine.ini to swap the subsystem to null rather than steam. So right now I'm using two DefaultEngine.ini files and I just swap in the appropriate one for packaging and testing with steam, and the other one I use with subsystem null for day to day MP testing without having to package.

          The workflow I've got going is working for me for now, but thought I'd check if i'm missing something. Is there is a LAN mode within the steam subsystem that can be used to test MP stuff without packaging first? Or is there a way to keep the steam subsystem enabled, and use subsystem null for LAN testing without packaging?

          Also, thanks a ton for implementing passenger mode in the Vehicle. Great stuff.

          Comment


            Originally posted by alltrueist View Post
            Hey Mordentral,

            I'm noticing that the multiplayer menu you made for the example map only connects through steam when the game is packaged for "shipping", and the LAN buttons only seem to enable connections after I modify the settings in my DefaultEngine.ini to swap the subsystem to null rather than steam. So right now I'm using two DefaultEngine.ini files and I just swap in the appropriate one for packaging and testing with steam, and the other one I use with subsystem null for day to day MP testing without having to package.

            The workflow I've got going is working for me for now, but thought I'd check if i'm missing something. Is there is a LAN mode within the steam subsystem that can be used to test MP stuff without packaging first? Or is there a way to keep the steam subsystem enabled, and use subsystem null for LAN testing without packaging?

            Also, thanks a ton for implementing passenger mode in the Vehicle. Great stuff.

            Its possible, I just didn't account for it in the template, i'll add the fix in later today. I generally use steam for testing because its actually faster to find the session so I didn't specifically test with lan much, its a simple edit to the server browser though. Its one of the many subsystem notes I have piled up but don't always read and remember to do.
            1 You can use the SteamNetDriver for LAN matches. When you open the map make sure you append ?bIsLanMatch=1 to the URL.

            Should look like this.
            1. MapName?listen?bIsLanMatch=1


            Also glad to hear you like the car, it was one of the first requests on the request trello. Its not up to the standards that I had hoped for (openable doors to drive entrance / exit, a trunk, ect) but without the correct models it will have to do. I need to get the logic for re-centering the player so that they can move to a seat or sit down after entering done though. Then I will probably end up rolling some of the code into the plugin itself instead of blueprint to clean it up some, vehicle support isn't an unreasonable thing to have included and I already had to create an override class for the WheeledVehicle to get it working correctly anyway.
            Last edited by mordentral; 09-06-2017, 08:47 AM.


            Consider supporting me on patreon

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

            Comment


              Pushed a new commit to the plugin

              Code:
              Added a NetSmoother component to the VRCharacters (a dummy root scene component), it takes advantage of the ClientSmoothPosition
              data that is already calculated for standard characters SkeletalMeshes and applies it to this tracked
              component root instead. This way there is a more smoothed lerp back to the correct position after
              the server finishes replicating a character move and the client already predicted it out farther.
              
              This only takes effect on simulated proxies. The root can be re-purposed in single player or locally controlled characters to handle things like simulated lean or other effects.
              I had considered adding a dummy root to the tracked devices for awhile now so people had some more flexibility without manually re-parenting but the network smoothing gave
              me an actual reason to do so.
              
              The smoothing effect can be turned off by turning off network smoothing on the character movement component, this still retains the sudden jump to the last replicated position when a simulated proxy stops being sent velocities and stops predicting position though.
              
              Added a AddDeltaAngle function to the VRDialComponent, can be used to set initial rotation / angle of the
              dial or to increment it later on. Also is now used for the GripTick tracking of the dial angle.
              
              Exposing bDenyGripping for the lever and dial components, forgot to provide a method to control this for them.


              Consider supporting me on patreon

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

              Comment


                Can't figure out what I'm doing wrong with the gameplay tags, I have them set on the object, but the grab fails on validating tags because the tag is "null" even though I have it set:

                Comment


                  Originally posted by Sintaxed View Post
                  Can't figure out what I'm doing wrong with the gameplay tags, I have them set on the object, but the grab fails on validating tags because the tag is "null" even though I have it set:
                  Are you editing them on an object that is placed in the level in multiplayer and not set to NetLoadOnClient?

                  If so you need to enable gameplay tag replication as the client isn't being passed in the server sided tags.


                  If the tags are set in the base actor / component itself then it should be working without issues.


                  Consider supporting me on patreon

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

                  Comment


                    I just have a BP with Grippable Static Mesh base placed in the world (physics enabled) and am using play in editor. I set the net settings, but I still can't get it to see the tags:

                    Comment


                      Originally posted by Sintaxed View Post
                      I just have a BP with Grippable Static Mesh base placed in the world (physics enabled) and am using play in editor. I set the net settings, but I still can't get it to see the tags:
                      Dunno....I just set up the exact same object as you, a GrippableStaticMeshActor with the same gameplay tags and placed in the level and have the correct result. Also every other object in the template is setup the same.



                      Consider supporting me on patreon

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

                      Comment


                        Alright thanks at least I know I'm not doing anything crazy

                        Comment


                          Originally posted by Sintaxed View Post
                          Alright thanks at least I know I'm not doing anything crazy
                          Can you make a new one and get it to function correctly? Or are gameplay tags just not working at all for you?

                          Its a new system Epic made for the engine but its officially out of "Beta" now and I haven't had many issues.


                          Consider supporting me on patreon

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

                          Comment


                            I'm using a copy of the Vive_PawnCharacter, and it turns out somewhere along the line all the tags got reset script-wide.. Should be working once I do a few things again!

                            Comment


                              Hello!
                              Can somebody clarify what is current version of https://bitbucket.org/mordentral/vrexppluginexample ? It says 4.16 in readme. Im tried to make by instruction - but both for 4.16 and 4.17 it says that VR plugin and Advanced Sessions are wrong version and fails. Also tied to replace both this plugins with binary versions both for 4.16 and 4.17 - then one error left "VRExpPluginExample.dll" is wrong.

                              Sorry if question is stupid, im playing with unreal only for one week. Made own apartement in Unity, now remaking in Unreal and want to have same mirrors as in Unity.

                              Comment


                                Originally posted by mordentral View Post
                                [*]MapName?listen?bIsLanMatch=1

                                Also glad to hear you like the car, it was one of the first requests on the request trello. Its not up to the standards that I had hoped for (openable doors to drive entrance / exit, a trunk, ect) but without the correct models it will have to do.
                                Lan mode for steam works a treat. Thanks again.

                                You want me to cut the doors and trunk out with some booleans? I'm not really a rigger, but I'm sure I can get some hingeable doors working. Probably won't be pretty.. just functional. Just let me know if you want it.

                                Comment

                                Working...
                                X