Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Originally posted by mordentral View Post
    ...actually all you really need to do is handle the few blueprints I setup to tell it what to do.
    Sorry, I'm not sure what you were referring to with "the few". Checking out the reference viewer for the Vive_Pawn_Character BP you made, seems the only blueprints I need to muck with is the very VRCharacter one my character is based off of, and the Anim BPs for each hand, no?

    Originally posted by mordentral View Post
    The climbing movement doesn't track things itself, it takes a direct movement that you pass in to it and makes sure that it is replicated correctly...
    Got it. So climbing movement is ultimately controlled by feeding in vectors ("direct movement"?) to the Add Custom Replicated Movement node on Tick after having enabled climbing via the Set Climbing Mode node, yeah?

    Since it takes in the VR Movement Component, is it correct to assume turning Set Climbing Mode ON overrides the Engine-based movement mode (the one with walking, flying, falling)?

    Originally posted by mordentral View Post
    ...and turns on/off at times that would prevent hitching. You can pass in things like sliding down a ladder / zip line to it as well.
     

    I'm confused about the "turns on/off at times that would prevent hitching." part. Maybe something to do with momentum preservation? The ladder and zip line part is awesome. Is there already an example of this in the template? I didn't notice one in the 4.15.1 version. I'm curious to see how you'd do it.

    Originally posted by mordentral View Post
    Just check for overlap / trace when going for a climbing grip and make sure the hit object is static, then you can record the grip position relative to that object, and each tick afterwards pass in the inverse of the difference from that first spot into the climbing movement modes direct movement which should move the hand back into the original position again.
    Thanks a lot for explaining exactly how it works. You make it sound easy. Btw, should I avoid climbing on huge landscapes?
    Last edited by kusokuso1; 05-12-2017, 01:17 AM.

    Comment


      Originally posted by kusokuso1 View Post
      Sorry, I'm not sure what you were referring to with "the few". Checking out the reference viewer for the Vive_Pawn_Character BP you made, seems the only blueprints I need to muck with is the very VRCharacter one my character is based off of, and the Anim BPs for each hand, no?


      Got it. So climbing movement is ultimately controlled by feeding in vectors ("direct movement"?) to the Add Custom Replicated Movement node on Tick after having enabled climbing via the Set Climbing Mode node, yeah?

      Yup, and then queues that custom movement vector in the SavedMovement queue that is sent to the server for playback


      Since it takes in the VR Movement Component, is it correct to assume turning Set Climbing Mode ON overrides the Engine-based movement mode (the one with walking, flying, falling)?

      Yes, the reason it is a custom node is because it is setting CustomMovementMode to my enum value for climbing so that the movement component knows what to do with it. There is room for additional movement modes in there but honestly the climbing setup handles most of it.
       
      I'm confused about the "turns on/off at times that would prevent hitching." part. Maybe something to do with momentum preservation? The ladder and zip line part is awesome. Is there already an example of this in the template? I didn't notice one in the 4.15.1 version. I'm curious to see how you'd do it.

      Thats all handled on the back end, movement mode changes should replicate themselves but I wanted to enforce people not trying to RPC a movement mode change to the server as that can cause out of sync issues with the saved move playback.
      Ladder and zip line would just be entering climbing mode and then passing in a motion value along the length of the object you are trying to follow. Could also be used for something like swing or grapple hooks.


      Thanks a lot for explaining exactly how it works. You make it sound easy. Btw, should I avoid climbing on huge landscapes?

      If using a landscape I would stop using a relative position to the object and just pass in world coordinate changes as there is no need to "follow" an object then. But no, shouldn't be any limitation there.
      minimum char length here


      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, (rather important if you are doing multiplayer).



        Code:
        Removed custom NetSerialize functions on all structs except for the ReplicatedPos
        struct (as that changes every send anyway and needs to full rep).
        
        I was unaware that setting a custom NetSerialize prevented the delta serialization of
        structs from working. After network profiling however this appears to be the case, I had assumed
        that NetSerialize covered initial and full serialization only.
        
        Re-worked how the OnRep of the gripped array's detects significant changes to
        a grip that require re-initilization. Now that delta is working again the
        previous array value that gets passed in is of the previous delta, not the previous array.
        
        Because of this I had to move to caching important values and cross checking them with the new
        replicated values instead.
        
        Set all grippable components back to the default of bReplicates = false. On these
        the VRGripInterfaceSettings will not replicate unless you set the component to replicate. This
        makes more sense, and the grippable actors themselves which default to bReplicates = true
        auto replicate their VRGripInterfaceSettings.
        
        Set position and rotation to not replicate on the VRCamera and GripMotionControllers unless
        either has changed. This doesn't do much when in VR as they pretty much always change. However
        when testing with FPS pawns this is a bandwidth savings.


        Consider supporting me on patreon

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

        Comment


          Hey mordentral, I'm trying to get your template working and there is an issue. I can't compile files in template for... well, I don't know for what reason, it gives an error

          "VRExpPluginExample could not be compiled. Try rebuilding from source manually.".
          Okay, after that I tried to use compiled version, but no luck. I suppose it's because it's compiled for 4.15.2 while template is for 4.16... It gives this errors:

          Running C:/Program Files/Epic Games/UE_4.15/Engine/Binaries/DotNET/UnrealBuildTool.exe -projectfiles -project="U:/mordentral-vrexppluginexample-42323fc8d8ec/mordentral-vrexppluginexample-42323fc8d8ec/VRExpPluginExample.uproject" -game -rocket -progress
          Discovering modules, targets and source code for project...
          Messages while compiling U:\mordentral-vrexppluginexample-42323fc8d8ec\mordentral-vrexppluginexample-42323fc8d8ec\Intermediate\Build\BuildRules\VRExpPluginExampleModuleRules.dll:
          u:\mordentral-vrexppluginexample-42323fc8d8ec\mordentral-vrexppluginexample-42323fc8d8ec\Source\VRExpPluginExample\VRExpPluginExample.Build.cs(7,58) : error CS1729: 'UnrealBuildTool.ModuleRules' does not contain a constructor that takes 1 arguments
          u:\mordentral-vrexppluginexample-42323fc8d8ec\mordentral-vrexppluginexample-42323fc8d8ec\Source\VRExpPluginExample.Target.cs(8,55) : error CS1729: 'UnrealBuildTool.TargetRules' does not contain a constructor that takes 1 arguments
          u:\mordentral-vrexppluginexample-42323fc8d8ec\mordentral-vrexppluginexample-42323fc8d8ec\Source\VRExpPluginExample.Target.cs(11,9) : error CS0103: The name 'ExtraModuleNames' does not exist in the current context
          u:\mordentral-vrexppluginexample-42323fc8d8ec\mordentral-vrexppluginexample-42323fc8d8ec\Source\VRExpPluginExampleEditor.Target.cs(8,61) : error CS1729: 'UnrealBuildTool.TargetRules' does not contain a constructor that takes 1 arguments
          u:\mordentral-vrexppluginexample-42323fc8d8ec\mordentral-vrexppluginexample-42323fc8d8ec\Source\VRExpPluginExampleEditor.Target.cs(11,9) : error CS0103: The name 'ExtraModuleNames' does not exist in the current context
          UnrealBuildTool Exception: ERROR: UnrealBuildTool encountered an error while compiling source files
          So I'm sitting here like


          Can you please help, what can I do to run template and look at your awesome work?
          Attached Files

          Comment


            Nevermind, got it working by installing Windows SDK 8.1...
            Had no idea it was needed besides VS

            Comment


              Originally posted by Dazvolt View Post
              Hey mordentral, I'm trying to get your template working and there is an issue. I can't compile files in template for... well, I don't know for what reason, it gives an error



              Okay, after that I tried to use compiled version, but no luck. I suppose it's because it's compiled for 4.15.2 while template is for 4.16... It gives this errors:



              So I'm sitting here like


              Can you please help, what can I do to run template and look at your awesome work?
              Im actually getting this exact same error, except I have Windows SDK 8.1 installed.
              Stylized Low Poly Environment
              Stylized Low Poly Pine Forest
              Stylized Low Poly Buildings
              First Person Horror Template

              Comment


                Originally posted by Shirk View Post
                Im actually getting this exact same error, except I have Windows SDK 8.1 installed.
                Those errors are if you are building the 4.16 version in 4.15, Epic changed how the module rules files worked in 4.16.


                Consider supporting me on patreon

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

                Comment


                  Morderntral, I wanted to ask one more thing. There is some things in template that is not rendered correctly for both eyes looking like something wired.
                  Click image for larger version

Name:	bug1.png
Views:	1
Size:	762.1 KB
ID:	1128091

                  And this one is maybe harder to notice but near table with examples there is small cube-like wired thing which is rendered just for one eye and seems to be pretty random at it's position.
                  Click image for larger version

Name:	bug2.png
Views:	1
Size:	606.7 KB
ID:	1128092

                  Is there any way to fix or remove that?

                  Comment


                    Originally posted by Dazvolt View Post
                    Morderntral, I wanted to ask one more thing. There is some things in template that is not rendered correctly for both eyes looking like something wired.

                    And this one is maybe harder to notice but near table with examples there is small cube-like wired thing which is rendered just for one eye and seems to be pretty random at it's position.

                    Is there any way to fix or remove that?
                    Hi Dazvolt, it seems you are using the 4.16 preview. That is a glitch we had in a preview a few versions back as well. I trust it will be fixed again before 4.16 is released.

                    Best,

                    Comment


                      Originally posted by The Revera Corporation View Post
                      Hi Dazvolt, it seems you are using the 4.16 preview. That is a glitch we had in a preview a few versions back as well. I trust it will be fixed again before 4.16 is released.

                      Best,
                      Yes it is. Thanks for the info!

                      Comment


                        Pushed new commit to the plugin (Account was locked from login for 3 days >.<)

                        Code:
                        Moved more of the FSavedMove logic into the base FSavedMove of BaseVRCharacterMovementComponent
                        
                        Corrected an issue where step up functions were not correctly re-winding failed stepup attempts
                        causing stuttering and jitter on step up attempts in multiplayer and solo at times.
                        
                        Now using a more correct movement rewind for when the server sends location corrections to the clients
                        in VR.
                        
                        Now rounding climbing movement to 2 decimal precision in multiplayer so that it matches
                        the resolution that is sent to the server.
                        
                        Now using a custom quantized FTransform for the grip transforms over network.
                        This transform is only 2 decimal precision so in the blueprint when checking for
                        the slot grip location I am now only checking up to 2 decimals of precision for a match
                        
                        I would like to start doing the interaction settings as a quantized value as well but it was clearing
                        stored values in the editor and I didn't want to ruin peoples currently working setups.


                        Consider supporting me on patreon

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

                        Comment


                          I can't build a project. Using 4.15 and have everything set up but it building always ends up hanging when creating the library for OpenVR? Anyone come across this or have any ideas of what is going on

                          Comment


                            Originally posted by Zecbmo View Post
                            I can't build a project. Using 4.15 and have everything set up but it building always ends up hanging when creating the library for OpenVR? Anyone come across this or have any ideas of what is going on
                            Hanging? Or throwing errors? If it is just hanging and you are building in Development Editor mode then you'll have to wait. The UBT system takes a long time when doing the linking for the first build.


                            Consider supporting me on patreon

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

                            Comment


                              Hi again, sorry for the delay, but up buisiness I haven't much time like I want to deal with the Unreal...

                              Originally posted by mordentral View Post
                              Grippable base is there to define the custom settings for a grip, in the template character I set a default set of gripping rules for anything that is just a simulating static mesh which originally the BP_PickupCubes fell under. I have since converted them to inherit the interface though as an example of custom grippable bases that don't inherit from my pre-made components / actors.



                              For two handed interactions you "can't" have both hands rooted in a single position, the object would either need to scale along with their movements or one of the hands needs to be free on an axis as you can't "constrain" VR hands to specific points as the control of them is outside of the game itself.

                              You however can attach the visible representation of the hand to the mesh instead so that it appears to be locked in place as most of the gun systems do in games
                              That has sense, attach the desired hand mesh to the hitted component point and in release time reattach to the motion controller...

                              Originally posted by mordentral View Post
                              I'm not entirely sure of what you are saying, if you actually mean rotate a globe in place, physically constraining it with 2 axis of movement and using two manipulation grips would work for that.
                              Yep, rotate a "interactive" actor, like any kind of wheel, I've tried but the first gripped controller deattach it at second grip time, although Can Have Double Grip be activated. I tryed also to add both sockets like the Gun example. I suppose I'm leaving any parameter, really you have a complex system, looks like for many cases... but is not so easy to control deeply at the beginning
                              Last edited by mandango; 05-16-2017, 05:15 PM.

                              Comment


                                Hi everyone!

                                I am an Art teacher in Ct and we are doing a large class project designing a game in VR. I would LOVE to incorporate your plugin and it looks amazing. However, I am having a pretty difficult time figuring out how to get the plugin to work? I am new to game design as of this year and would greatly appreciate any more detailed explanation of how to get this plug in up and running?

                                I have downloaded the plugin.
                                I have created a plugins folder in my project
                                I have installed visual studio
                                I have opened a c++ class in a new project and selected "build"
                                At this point I am unsure of how it all begins to come together?

                                I cant seem to get the example working and was hoping that would answer a lot of issues for me?

                                How do I set up the program inputs for the vive controller to work with these plugins?
                                I looked through your videos but they are all demo's. Maybe i missed something?

                                Anyway Im sure you are busy but if you have time to clarify some of this I would be forever in your debt! Thanks.
                                Earl

                                Comment

                                Working...
                                X