- Home /
Animation state Synchronization in Multiplayer
hello,everyone! I am a newbie in network programming, i have learned some basic usage of network by watching M2H tutorial,such as NetworkView,RPC etc. Now i can synchronize the transform, script and rigidbody,the official document says that Unity can also synchronize animation (This is the offical document says:Animation serializes each running animation state, that is time, weight, speed and enabled.). But i do not know how to synchronize it now. Of course,i know i can send a message to all clients to play a specific animation,but if one of the clients blocked sunddenly,and its animation lags behind.How can i make it catch up the other ones as quickly as possible? Any answer will be appreciated, thanks in advance!
Use a single char to synchronize which animation is currently playing on that player's machine, and play the same animation on all other machines (presu$$anonymous$$g you don't have more than 256 animations for the same model).
Answer by senad · Mar 01, 2012 at 09:06 AM
It is exactly what I do in my project, I have not cared about lagging animations yet. :D
If you need to have the animations in synch in case of lags, I guess you could do client-side prediction like you would do it for movement.
You would tell the client to start an animation via RPC. Then you would synch the time (or any other properties you need) and correct the difference between client and server. To achieve this, you can write your custom synching methods for network views. This way you could also interpolate between client and server values, so that your animations do not jump on the client.
Your answer
Follow this Question
Related Questions
Multiplayer Animating 2 Answers
Network animations 2 Answers
Networking Animation problem 1 Answer
Network Animator not syncing with Clients in Netcode 0 Answers