How to sync animations via Photon Server

Options
Hello everyone, I'm glad to join the community. Since our team moved from PUN to Photon Server we have encountered a lack of documentation and samples. Of course there is an obvious answer that we should deal with the issues by following our designed architecture and protocol overlaps, but maybe here some common solution existing?

The problem is when we are trying to async animations via dictionary with triggers it leads to stacking of packets and jittering of animations, like idle tries to play triple times or attack is interrupted.

We of course can add some time stamps to packets and create our own filtering, but the feeling we are doing it in a wrong way doesn't leave me.
The questions are:
1. Is there some ready to use solution for animations syncing?
2. Is there some ready to use solution for inverse kinematics syncing?


Thanks in advance, with regards!

Best Answer

  • Tobias
    Tobias admin
    edited July 2021 Answer ✓
    Options
    The question is not about how to use the Photon Server (SDK) but about a problem on the client side. Those questions are better suited for this category.

    Syncing animations in Unity is tricky. Mecanim has several quirks, which make it hard to fetch the needed values and to replicate them. When you plan to implement client prediction and reconciliation, Macanim is blocking that path.
    That said, yes, you need timestamps. A tick based system is the state of the art base for precise synchronization.

    We can offer you to use the solutions provided in PUN, Bolt and the upcoming Fusion packages but we can't help you code your own from scratch. This is out of the scope of this forum (even if you use Photon for the networking).

    Erick recorded a few videos on how Fusion handles this (and he mentions a lot of the theory that goes into this. And one more video about animation sync.

Answers

  • logunov
    Options
    Can I have a notice why it was moved from photon server to pun category? I have posted it in the "Photon Server" section, no there.

    At least this movement will give me an understanding of our issue maybe?
  • Tobias
    Tobias admin
    edited July 2021 Answer ✓
    Options
    The question is not about how to use the Photon Server (SDK) but about a problem on the client side. Those questions are better suited for this category.

    Syncing animations in Unity is tricky. Mecanim has several quirks, which make it hard to fetch the needed values and to replicate them. When you plan to implement client prediction and reconciliation, Macanim is blocking that path.
    That said, yes, you need timestamps. A tick based system is the state of the art base for precise synchronization.

    We can offer you to use the solutions provided in PUN, Bolt and the upcoming Fusion packages but we can't help you code your own from scratch. This is out of the scope of this forum (even if you use Photon for the networking).

    Erick recorded a few videos on how Fusion handles this (and he mentions a lot of the theory that goes into this. And one more video about animation sync.
  • logunov
    Options
    Thank you for the answer that was exactly was I have asked.
    We only was worried about missed ready-to-use solutions since lack of documentation. You have confirmed that we need to proceed it with our own way. :)