I’m sure I’m missing something trivial, but my player keeps resetting to 0,0,0. I know it’s due to my NetChar script, which is meant to sync players accross the network. It seems actualPosition and actualRotation are not being set…
Here’s the code:
using UnityEngine;
using System.Collections;
public class NetChar : Photon.MonoBehaviour
{
Vector3 actualPosition = Vector3.zero;
Quaternion actualRotation = Quaternion.identity;
Animator anim;
//For initialization.
void Start () {
anim = GetComponent<Animator>();
if(anim == null) {
Debug.LogError ("Animator is missing on player prefab.");
}
}
//Called once every frame.
void Update () {
if (photonView.isMine) {
//Do nothing, our player is already being controlled by our other scripts.
} else {
//This player isn't ours, so let's update it.
transform.position = Vector3.Lerp(transform.position, actualPosition, 0.1f);
transform.rotation = Quaternion.Lerp(transform.rotation, actualRotation, 0.1f);
}
}
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
if (stream.isWriting)
{
// We own this player: send the others our data
stream.SendNext(transform.position);
stream.SendNext(transform.rotation);
stream.SendNext(anim.GetFloat("Walk"));
stream.SendNext(anim.GetFloat("Turn"));
stream.SendNext(anim.GetFloat("Run"));
stream.SendNext(anim.GetBool("Jump"));
}
else
{
// Network player, receive data
actualPosition = (Vector3)stream.ReceiveNext();
actualRotation = (Quaternion)stream.ReceiveNext();
anim.SetFloat("Walk", (float)stream.ReceiveNext());
anim.SetFloat("Turn", (float)stream.ReceiveNext());
anim.SetFloat("Run", (float)stream.ReceiveNext());
anim.SetBool("Jump", (bool)stream.ReceiveNext());
}
}
}
Thanks in advance ![]()
Well, you will have to do some debugging. Run your game and when the healthbar disappears pause the game. Right click on the inspector tab at the top of the inspector and change it to debug view so you can see all the variables. Check the scale variables, the color and so on. Make sure you check alpha levels on the colors as well. At least find what the culprit is so you can focus on seeing what went wrong.
– joemane22