Announcement

Collapse
No announcement yet.

Smooth Sync: Sync your Transforms Smoothly across the network

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

    #61
    On the ThirdPersonTemplate it works perfectly, maybe because of its Character Class or because it doesn't move via addForce and addTorque.
    I've just tried the normal Pawn Class again and it works as expected as long as I use world offset instead of addForce... both Unreals Movement Replication and with SmoothSync.


    [PLUGIN] Free Radar Chart Widget

    Comment


      #62
      Patrick Dunkl
      Are you saying Replicate Movement fails in the same way? If it does, it's probably just some Unreal Engine thing that I can't do much about. The first thing that comes to mind is maybe you are adding force on every computer instead of just the computer that's supposed to be moving the object around.

      Let me know if it's just SmoothSync failing at AddForce and I'll build a mobile version to test it out.
      Sync your transforms Smoothly across the network.

      Comment


        #63
        fuestrine
        Ah sorry, "both Unreals Movement Replication and with SmoothSync" belongs after "I tried the normal Pawn Class again", messed up the sentence...

        I filter out if the Pawn is locally controlled, if it is, it ticks and has Physics Simulation on
        If it is not locally controlled, than just do nothing and wait for replication.
        Also only add force if it is locally controlled and completely ignore if it is not.
        As I mentioned, it works completely fine if the Pawn is controlled by a PC.
        I tried also to crack up the send rate, the net frequency and set net dormancy to never. I though maybe Unreal is limiting something on Mobile but nothing has changed.

        What works on PC and Mobile:
        *Unreals build in Movement Replication (but I have to activate Physic Simulation on the not controlled Pawns, what I want to avoid to save perfomance on physics calculations on mobile devices...
        and
        *Get actor location and rotation on tick send it as repNotify (skip Owner), and in the RepFunction set the location/rotation of the corresponding pawn on the other clients with lerping from current position.

        Only works on PC:
        *only simulate if pawn is locally controlled let SmoothSync handle all the movement replication with extrapolation.
        the mobile pawn just stops replication after a few seconds while receiving all the PC clients as usual.
        Last edited by pDunkl; 01-03-2019, 12:36 PM.


        [PLUGIN] Free Radar Chart Widget

        Comment


          #64
          pDunkl
          It works for me on android with the Rolling Template which uses AddTorque. Does the Rolling Template correctly describe your situation?

          Otherwise, I think I'm confused as to where it is failing. Can you say the steps again to recreate the issue?
          Sync your transforms Smoothly across the network.

          Comment


            #65
            fuestrine

            Okay, I've tried the Rolling example with physics simulated only for local controller and let the replication do the rest -> it works perfect on Android and PC.
            The problem must be in relation with either:
            *Constantly adding force (linetrace for hovering from 4-5 points)
            *Using ChildActor inside the pawn
            * or something with my session handling is just plain wrong

            I'll check and recreate them with alternative methods to see if the problem is caused by these things.
            But anyways, thank you for your time and checking it.
            ____________

            Edit: I've migrated the RollingBall pawn to my project and swapped my pawn with it, the problem appears again, android stops replicating after few seconds.

            ____________

            Edit 2: The problem is solved! Your plugin had absolutely nothing to do with it, it just reacted to something what Unreal itself ignored. In the Gameinstance I had setup if a network error occurs, destroy the session. And for whatever reason there was always one network error if I connected an android device to a existing session or created one with it. By disabling the session destroying everything works fine now. And it's just awsome seeing on the android device how smooth everything now moves/replicates in comparison to the other methos, thanks to your plugin. So happy
            Last edited by pDunkl; 01-04-2019, 04:56 AM. Reason: Solved the problem


            [PLUGIN] Free Radar Chart Widget

            Comment


              #66
              pDunkl
              Awesome, glad to hear it's working. If you like my product, every 5 star rating helps us get noticed a bit more.

              Feel free to hit me up with any questions, problems, or comments any time. Cheers.
              Sync your transforms Smoothly across the network.

              Comment


                #67
                ATHIEK
                Alright. SmoothSync can now sync the Transforms of any components as well as actors. Thanks for the tip.

                I have PMd you the changes in case you want it immediately before it shows up on the Marketplace.
                Sync your transforms Smoothly across the network.

                Comment


                  #68
                  Version 1.10 is up on the Marketplace.

                  Changes:
                  -Added ability to sync components. Use SmoothSync.setSceneComponentToSync() to pass in the component you want to sync the Transform of. Available from blueprints or code.
                  -Fixed issue with coming out of rotational rest while not in positional rest, and vice versa.
                  Sync your transforms Smoothly across the network.

                  Comment


                    #69
                    This cures the jittering and desyncing issues caused from replicated movement in multiplayer?

                    Comment


                      #70
                      3Gi
                      I'm not really sure. I don't know all of the intricacies of Replicate Movement. If you have specific questions about when it jitters and desyncs for you, I can probably answer better.

                      I think Unreal's replicate movement doesn't have a buffer of states though like SmoothSync does. This means that even if you have a network hiccup of .1s, if you set your InterpolationBackTime (a SmoothSync variable) to .1s, you will see zero jitter.
                      If you go passed this number that you set, SmoothSync will then extrapolate and attempt to do it as smoothly as possible.

                      Let me know if you have any other questions.
                      Sync your transforms Smoothly across the network.

                      Comment


                        #71
                        The issue I am having is in multiplayer listen-server, whether in simulated 2 person, or in an actual online session with 1 other person on an empty level, when we look at each other run, the animation is not smooth, it's like the other character's animation framerates are really slow, but on my own character its smooth as butter and the other player often gets moved by the server, which looks like warping. This is with the 3rd Person Mannequin with default replication settings and I have even tried tweaking the settings on the character and in the movement. I have read elsewhere that UE only has this issue in a listen-server, but not in a dedicated server. So Smooth Sync will smooth and sync player movement in a listen-server?

                        Comment


                          #72
                          3Gi
                          Yeah, movement will be super smooth in a blank ThirdPerson template listen-server.

                          You'll need to sync the animations yourself though because SmoothSync only syncs things that have transforms. So you won't see any arms and legs swinging around, you'll just see the body moving around and jumping up and down. The animations should be easy enough to sync though by either lining it up with the time that gets sent with SmoothSync or you can probably just do walk or run animations based on speed of movement client side.

                          Let me know if you need any more information.
                          Last edited by fuestrine; 01-11-2019, 01:38 AM.
                          Sync your transforms Smoothly across the network.

                          Comment


                            #73
                            fuestrine Do you mean that if I add the smooth sync component to my character that I have to do something extra to get the animations from the client character to show up on the server and other clients? Could you clarify? And will smooth sync work on the paragon characters from the marketplace? Thank you.

                            Comment


                              #74
                              3Gi
                              Yes.
                              Yes.
                              It'll sync the transform of the meshes of the Paragon Characters but not the arms and legs independently without extra work.

                              Put simply, if you can see and move the transform in the "Details" panel, then Smooth Sync will be able to sync it. I believe these are referred to as "SceneComponents" and SmoothSync can sync any of them.

                              For the default ThirdPerson template, the arms and the legs are part of a mesh and look to be only accessible from not the Details panel.
                              So for the default ThirdPerson template, you'll have to do something extra in order to get the animations from the client character to show up on the server and other clients (also for the server character animations to show up on clients). Smooth Sync will not sync the animations of Paragon Characters, they look to be the same as the ThirdPersonTemplate as to how they are set up.
                              Let me know if I seem to be completely misunderstanding something or if you have more questions.
                              Last edited by fuestrine; 01-15-2019, 01:19 AM.
                              Sync your transforms Smoothly across the network.

                              Comment


                                #75
                                Hi ! I have a crash with your plugin when I have 2 windows in editor (play with 2 clients) and I quit (or use windows key) while a movement on one of them.
                                My pawns use 2 smoothComponent (one for actor, second for cameraComp) but the second is disabled on the beginplay.

                                My crash report in attachment.

                                Thank you.
                                Attached Files

                                Comment

                                Working...
                                X