Hello,
When I enter another player into the game PhotonNetwork change our camera and
Player1->Camera2
Player2->Camera1
I don’t know how to explain it, but it is in the video.
I have set PhotonView.isMine.
Spawn player:
void SpawnPlayer()
{
List<Transform> spawnPointsList = new List<Transform>();
foreach (Transform spawnPoint in spawner.transform)
{
spawnPointsList.Add(spawnPoint);
}
//PhotonNetwork.Instantiate(playerPrefab.name, playerPrefab.transform.position, playerPrefab.transform.rotation);
int number = PhotonNetwork.CurrentRoom.PlayerCount-1;
Transform transformSpawn = spawnPointsList[number];
PhotonNetwork.Instantiate(playerPrefab.name, transformSpawn.position, playerPrefab.transform.rotation);
}
Movement player:
void Start()
{
PhotonNetwork.SendRate = 20;
PhotonNetwork.SerializationRate = 15;
if (photonView.IsMine)
{
rb = GetComponent<Rigidbody>();
sceneCamera = GameObject.Find("Main Camera");
sceneCamera.SetActive(false);
playerCamera.SetActive(true);
PlayFabClientAPI.GetAccountInfo(new GetAccountInfoRequest(), result =>
{
username = "" + result.AccountInfo.Username;
playerName.text = username;
}, error => { });
}
}
void Update() {
if (photonView.IsMine)
{
x = Input.GetAxisRaw("Horizontal");
z = Input.GetAxisRaw("Vertical");
position = new Vector3(x, 0, z);
}
}
private void FixedUpdate()
{
healthText.fillAmount = Health;
if (photonView.IsMine)
{
rb.MovePosition(transform.position + position * Time.deltaTime);
}
}
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
if (stream.IsWriting)
{
//stream.SendNext(Health);
stream.SendNext(username);
}
else if(stream.IsReading)
{
//Health = (float)stream.ReceiveNext();
username = (string)stream.ReceiveNext();
playerName.text = username;
}
}
Please, help me