Announcement

Collapse
No announcement yet.

Smooth Sync: Sync your Transforms Smoothly across the network

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

    fuestrine Another quick question. Does this plugin support 4.23?

    Comment


      GuacFrog
      I don't think it would work for exactly what you are trying to do.

      Smooth Sync works by having one client (or non-client server) determine the position of an actor. If the actor tries to deviate from this on the non position determining client (or non-client server) the object will not move.

      I wouldn't count on Smooth Sync being able to handle potentially thousands of objects. It does seem to handle more objects at a lower send rate than Unreal's position replication does (like shown in the Smooth Sync trailer), but I wouldn't expect it to handle any super large amounts. Smooth Sync does take into account Unreal's Net Cull Distance Squared though for network optimization.

      Let me know if that helped at all.
      Sync your transforms Smoothly across the network.

      Comment


        GuacFrog
        We haven't updated to 4.23 yet but we are planning on it when we get time. I'd expect we'd be able to get to it within a week.

        If you want to be notified when we release a 4.23 version, let me know.
        Sync your transforms Smoothly across the network.

        Comment


          Originally posted by fuestrine View Post
          GuacFrog
          We haven't updated to 4.23 yet but we are planning on it when we get time. I'd expect we'd be able to get to it within a week.

          If you want to be notified when we release a 4.23 version, let me know.
          Oh, I see. I assumed that this plugin allowed replication of physics objects without lag / jumps.

          Comment


            GuacFrog
            It does. I'm just not sure about thousands of objects at once. Also all of the physics objects would need to be determined by the same system. A game like Rocket League has all physics determined by the server, but they also have a fair bit of player-prediction/client-prediction which makes it seem like it isn't, which Smooth Sync doesn't have.
            Sync your transforms Smoothly across the network.

            Comment


              Originally posted by fuestrine View Post
              GuacFrog
              It does. I'm just not sure about thousands of objects at once. Also all of the physics objects would need to be determined by the same system. A game like Rocket League has all physics determined by the server, but they also have a fair bit of player-prediction/client-prediction which makes it seem like it isn't, which Smooth Sync doesn't have.
              Hmm. Thousands of objects in the warehouse but the player will only be interacting with 1 or two at a time. Would there be a way to use this plugin and optimize it so that it doesn't send information for every object but instead only the objects that have moved? Because most of the objects won't be moving on the server.

              Comment


                Correct me if I am misunderstanding, but with this plugin, physics can't be simulated on both the client and server, but rather only by the server which then replicates the transforms and the client interpolates between them? Do you happen to know how that would perform as opposed to having a client and server simulation with the client correcting it's object's simulations?

                Comment


                  GuacFrog
                  You are correct, the physics will only be simulated by one system. It can be either the server or any client, but not more than one system at once. The position, rotation, etc. will then be interpolated on all other systems.

                  I'm not really sure how the other way would act unfortunately.
                  Sync your transforms Smoothly across the network.

                  Comment


                    Originally posted by fuestrine View Post
                    GuacFrog
                    You are correct, the physics will only be simulated by one system. It can be either the server or any client, but not more than one system at once. The position, rotation, etc. will then be interpolated on all other systems.

                    I'm not really sure how the other way would act unfortunately.
                    Thanks for the time you have taken to address my concerns. One last point that I want to stress to make sure that we are on the same page (last question I promise ). You said it wouldn't work for thousands of objects, but what if the players only interact with a single object at a time (ie moves a box around the warehouse) and occasionally throws a box which might move around a few more. Do you think this plugin is still not suited for a situation like that? Thanks again for the time you have taken to respond.

                    Comment


                      GuacFrog
                      No problem at all, feel free to ask questions any time.

                      Smooth Sync won't send any information across the network if actors are not moving, but I'm honestly not sure how it'll fair. I've been meaning to try to figure out the limits for my Plugin anyway so I'll take a look at it sometime this week and get back to you.
                      Sync your transforms Smoothly across the network.

                      Comment


                        Originally posted by fuestrine View Post
                        GuacFrog
                        No problem at all, feel free to ask questions any time.

                        Smooth Sync won't send any information across the network if actors are not moving, but I'm honestly not sure how it'll fair. I've been meaning to try to figure out the limits for my Plugin anyway so I'll take a look at it sometime this week and get back to you.
                        Upon further research, if the data being transmitted is compressed, I think this plugin should work for what I want to do. If this plugin is not transmitting data for every object UNLESS the object has moved, then it should work with thousands of objects so long as only a few of them move at once, right?

                        I'm going to purchase the plugin and give it a shot. I'l let you know how it goes.

                        Comment


                          I think maybe I understand what you meant by client prediction. For example, with this plugin, if the client were to push a cube that is simulated on the server, that client player would lag into the cube because of the delay, correct? And the fix would be client prediction?

                          Comment


                            In other words, this plugin is good for smoothing actors so long as the player doesn't directly interact with those actors (ie pushing them)? For instance, a ball falling down a mountain would be smoothed well. However, a soccer ball that is being physics simulated on the server being pushed around by the client would not smooth properly with high ping.

                            Comment


                              I made a quick video demonstrating. https://www.youtube.com/watch?v=PTttNknyn8s

                              Comment


                                Here is another issue that might have to do with the problem. It seems like the original collision is getting left behind. https://youtu.be/br7RYgcPy0s

                                Comment

                                Working...
                                X