- Home /
Unity Photon: animation syncing
Okay, so I thought this would be really easy to do but (sadly) it's not. I've got a script that takes horizontal and vertical input, and then gets an animator to control a blend tree using those values. And it does work, but when I try to sync up the script over Unity Photon, none of the animations play. I've set the script to disable if PhotonView.isMine is false, but I still can't see other players being animated. Can someone help? Here is my script:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class playerblend : Photon.MonoBehaviour {
private Animator anim;
// Use this for initialization
void Start ()
{
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update ()
{
if (anim == null)
{
Debug.LogError("Animator not present in" + transform.name);
}
float x = Input.GetAxis("Horizontal");
float y = Input.GetAxis("Vertical");
Move(x,y);
}
private void Move(float x, float y)
{
anim.SetFloat("VelX", x);
anim.SetFloat("VelY", y);
}
}
I have also added a Photon Animator View to the character, but to no avail. Thanks in advance for your help!
Answer by ChristianSimon · Jul 17, 2018 at 02:07 PM
Hi,
if you want to synchronize the input you make, you have to add a custom OnPhotonSerializeView solution, for example:
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
if (stream.isWriting)
{
stream.SendNext(x);
stream.SendNext(y);
}
else if (stream.isWriting)
{
x = (float)stream.ReceiveNext();
y = (float)stream.ReceiveNext();
// Do something with those values (can also happen in the Update function)
}
}
Before handling input, you should add a PhotonView.isMine condition to avoid input by other clients, that are not the owner of the object. In your Update function you can for example add if (!photonView.isMine) { return; }
in order to allow only input from the owner of the object.
Your answer
Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
How do you sync animations in Photon? 0 Answers
How can I play Animations on a Photon-Network ? 0 Answers
How to get all created rooms and join any one of them in PHOTON 2 Answers
Close room on host exit 0 Answers