Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Hello Mordentral, I'm running into an issue with climbing while in multiplayer. If you set PlayNetMode to PlayAsClient and turn on EnableNetworkEmulation, then climb on a surface and pull yourself into the wall, the player position begins to wig out (technical term), then you end up somewhere really far away. I've even seen it crash Unreal. Any thoughts?

    Comment


      Originally posted by CokeKuma View Post


      Thanks for answering. Tested again based on the latest commit code. However, if you grip a bone outside the slot range, it will not work properly. And even when the bone slot grip is executed, there are times when the slot transform cannot be found properly. Did it work well when tested?

      I think the approximate cause is known. The lower socket of neck_01 is found, but the nearest bone name may be head or spine_03 depending on the slot range. There are cases where the parent transform, which is the standard, is incorrectly set.

      Yeah really the socket needs to be chosen by bone, which is outside of the scope of the interface function itself.
      You may want to insert a query there for your own closest socket check with some custom filters.

      That or in the GetClosestSocketInRange query add a prefix of the bone name and be sure to name your sockets with the bone names prefix (IE: UpperArm_RGrip1), ect. That way it will only find sockets on the given bone, you can also override the GetClosestSocketInRange function on your grippable skeletal mesh itself and hard code specific sockets based on the passed in bone name prefix that way as well.

      Either way should work for you, its just not a case that the template is meant to cover so you need to make some tweaks.

      *Edit* https://vreue4.com/GeneratedDocs/VRE...otInRange.html

      The Override Prefix field, could just straight pass the bone name into it where the node is called. If a bone isn't being used it would just use the normal prefixes anyway, if one is being used though you can use the per bone prefixes or manually choose.
      Last edited by mordentral; 08-11-2020, 09:26 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


        Yeah really the socket needs to be chosen by bone, which is outside of the scope of the interface function itself.
        You may want to insert a query there for your own closest socket check with some custom filters.

        That or in the GetClosestSocketInRange query add a prefix of the bone name and be sure to name your sockets with the bone names prefix (IE: UpperArm_RGrip1), ect. That way it will only find sockets on the given bone, you can also override the GetClosestSocketInRange function on your grippable skeletal mesh itself and hard code specific sockets based on the passed in bone name prefix that way as well.

        Either way should work for you, its just not a case that the template is meant to cover so you need to make some tweaks.

        *Edit* https://vreue4.com/GeneratedDocs/VRE...otInRange.html

        The Override Prefix field, could just straight pass the bone name into it where the node is called. If a bone isn't being used it would just use the normal prefixes anyway, if one is being used though you can use the per bone prefixes or manually choose.
        I managed to get the desired result by modifying GetBoneTransform. I felt it while making it, but if there is an example actor in the template for the solution for bone grip, it would be very helpful to other plugin users as well.

        Comment


          Originally posted by EdificeOrifice View Post
          Hello Mordentral, I'm running into an issue with climbing while in multiplayer. If you set PlayNetMode to PlayAsClient and turn on EnableNetworkEmulation, then climb on a surface and pull yourself into the wall, the player position begins to wig out (technical term), then you end up somewhere really far away. I've even seen it crash Unreal. Any thoughts?
          Looks like the packet loss setting is being pretty egregious, I had some packet loss mitigation for climbing but its not working correctly now, i'll look into it. There are a lot of people using climbing in networked games currently, that severe of packet loss is fairly uncommon, i'll figure out the cause of it doing that suddenly though, there have been a few network prediction changes in every recent engine version that may have interfered.

          Originally posted by CokeKuma View Post

          I managed to get the desired result by modifying GetBoneTransform. I felt it while making it, but if there is an example actor in the template for the solution for bone grip, it would be very helpful to other plugin users as well.
          Mmm, that is actually the hardest solution here, the prefix modification would have been a lot easier for you.

          I'll add the bone prefix officially into the template and give an example manniquin. Adding the bone input to get closest would also work but its such a niche case that I think this is better as it doesn't require changing the interface function.


          Consider supporting me on patreon

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

          Comment


            Originally posted by EdificeOrifice View Post
            Hello Mordentral, I'm running into an issue with climbing while in multiplayer. If you set PlayNetMode to PlayAsClient and turn on EnableNetworkEmulation, then climb on a surface and pull yourself into the wall, the player position begins to wig out (technical term), then you end up somewhere really far away. I've even seen it crash Unreal. Any thoughts?
            Try updating to the latest patch that I just put out for 4.24+

            I had to makes some changes due to how the movement modes are handled now, but it should resolve your warping issue during climbing when packet loss is happening.


            Consider supporting me on patreon

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

            Comment


              Hey mordentral, I'm looking for ways to smooth the motion controller inputs as a way to give more precise control while making controls a little less responsive, like they did with the game Onward with the scope smoothing, but I have absolutely no clue how they implemented that, I'm looking for clues on how about going to do this or if you plan something for this kind of recurring issue, thanks you in advance and if you reply make sure you mention me so I get a notification

              Comment


                Originally posted by FokkusuES View Post
                Hey mordentral, I'm looking for ways to smooth the motion controller inputs as a way to give more precise control while making controls a little less responsive, like they did with the game Onward with the scope smoothing, but I have absolutely no clue how they implemented that, I'm looking for clues on how about going to do this or if you plan something for this kind of recurring issue, thanks you in advance and if you reply make sure you mention me so I get a notification
                There are multiple methods, I have two of them in the guntools grip script if you wanted to look at that. I have a few users using some naive frame to frame lerping in grip scripts as well for some smoothing.


                Consider supporting me on patreon

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

                Comment


                  Thanks you, thanks very useful

                  Comment


                    OK so the start\stop network voice works but only one sided, the other guys in game can hear me but when they try to talk i cant hear them, its not a server\client issue because even when we restart the game and one of them hosts the game everyone can still hear me (i am the client now) but i cant hear any of them and they cant hear each other.

                    I'm thinking maybe this is a network speed issue, as i have the fastest internet of the bunch (fiber optics with 100 MB upload and 1 GB down), is there a way to set the network voice bandwidth higher? let it work on slower connections?

                    before you ask, yes all the .ini file configurations are set up.

                    Comment


                      mordentral

                      - first, love your plugin, it is a fantastic amount of work and really helpful.

                      I was hoping you could help me figure out a problem I am having deploying to Oculus Quest with UE 4.25.3 and the current master branch of VR Expansion.

                      I upgraded a project from 4.24 to 4.25 and everything works fine locally via Oculus Link on PC, however, when packaged to launch on the Quest I get a black screen.
                      I have packaged and run a fresh project using the VR template, which is working fine with the same project settings. Adding the VR Expansion plugin and building results in the black screen again, when I remove the VR Expansion plugin the project runs on Quest as expected.

                      Is there any special combination of SDK/NDK known to work with 4.25.3?
                      Unfortuately I don't get any logcat output when this happens, as though the program is frozen at startup, so I'm at a loss as to exactly what might be causing this.

                      Any help is much appreciated.

                      Comment


                        Originally posted by TheChae View Post
                        mordentral

                        - first, love your plugin, it is a fantastic amount of work and really helpful.

                        I was hoping you could help me figure out a problem I am having deploying to Oculus Quest with UE 4.25.3 and the current master branch of VR Expansion.

                        I upgraded a project from 4.24 to 4.25 and everything works fine locally via Oculus Link on PC, however, when packaged to launch on the Quest I get a black screen.
                        I have packaged and run a fresh project using the VR template, which is working fine with the same project settings. Adding the VR Expansion plugin and building results in the black screen again, when I remove the VR Expansion plugin the project runs on Quest as expected.

                        Is there any special combination of SDK/NDK known to work with 4.25.3?
                        Unfortuately I don't get any logcat output when this happens, as though the program is frozen at startup, so I'm at a loss as to exactly what might be causing this.

                        Any help is much appreciated.
                        target 21 was working fine for me when I tested just yesterday (4.25 does require an NDK update). 4.25.3 in general has some android issues though, as for NDK being required to be a specific version for VRE itself, no its not.

                        I did get an issue report of this two days ago, but as I said, I cannot reproduce in template and have other users on 4.25 with quest running just fine currently. What specific settings are you using?
                        Last edited by mordentral; 08-20-2020, 12:14 AM.


                        Consider supporting me on patreon

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

                        Comment


                          Hello Mordentral, I have some strange collision behaviour with the grasping hands, The Root Physics Collision that selects the object that I want to grab, overlaps stuff on the right hand but blocks the objects and world statics on the left hand. Do you have an idea of how to fix this or what I could potentially have done wrong?

                          I did not change any of the blueprint settings on the left hand, it's all still inherited from the right one.
                          My first Asset: Physics Collision Sound

                          Comment


                            Originally posted by kwijibojaner View Post
                            Hello Mordentral, I have some strange collision behaviour with the grasping hands, The Root Physics Collision that selects the object that I want to grab, overlaps stuff on the right hand but blocks the objects and world statics on the left hand. Do you have an idea of how to fix this or what I could potentially have done wrong?

                            I did not change any of the blueprint settings on the left hand, it's all still inherited from the right one.
                            Are your collision settings different on the two for you?


                            Consider supporting me on patreon

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

                            Comment


                              Hi, thanks for your response last time, I am still working on some stuff relating to the last question so may ask an updated question sometime

                              For a different question: Is there a way when doing multi-gripping on a mesh, finding which hand is using the object? For context I've got a steering wheel type thing with triggers on each hand and so want interactions based upon which hand is pulling the trigger, and was wondering if I can use the existing using code. If it's something ontop that I should add where would you recommend adding it?

                              Thanks again

                              Comment


                                Originally posted by sleepykid View Post
                                Hi, thanks for your response last time, I am still working on some stuff relating to the last question so may ask an updated question sometime

                                For a different question: Is there a way when doing multi-gripping on a mesh, finding which hand is using the object? For context I've got a steering wheel type thing with triggers on each hand and so want interactions based upon which hand is pulling the trigger, and was wondering if I can use the existing using code. If it's something ontop that I should add where would you recommend adding it?

                                Thanks again
                                Generally for more complex inputs it would be best to have the wheel as an actor and directly bind to input inside of it. You can listen to any action then and sample from the wheel itself (like how the car binds to input for FPS pawns to drive).

                                You could also use a seperate interface to control custom input, or use the OnInput grip interface function and pass in anything you want.

                                Generally though, listening to inputs is what you want here, and you can do it from a containing actor instead if you don't want to place the wheel in its own actor. Binding lets you have any complexity of inputs per object, and is the reason why the OnUsed isn't extended beyond a base use.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X