Photon Unity Проблема с управлением персонажей

167
25 июня 2018, 10:20

столкнулся с проблемой разрабатывая онлайн игру на Unity с помощь сервиса Photon Pun. Получается в чем проблема сама, когда я запуская окна с игрой(окно 1 мастер, окно 2 гость) управление персонажами меняется, нажимая на окно 1 я управляю окном 2, а нажимая на 2е окно все наоборот.

public class GameManager : Photon.PunBehaviour{
private void Awake()
{
    PhotonNetwork.Instantiate("Player", new Vector3(Random.Range(-2f, 2f), 5f, Random.Range(-2f, 2f)), Quaternion.identity, 0);
}

}

public class PlayerControll : Photon.MonoBehaviour, IPunObservable {

[SerializeField] private PhotonView _photonView;
[SerializeField] private CharacterController _character;
[SerializeField] private float _rotSpeed;
[SerializeField] private float _speed;
Vector3 _moveDirection;
private void Awake()
{
}
private void Update()
{
    if (photonView.isMine)
    {
        transform.Rotate(0, Input.GetAxis("Mouse X") * _rotSpeed, 0);
        _moveDirection = new Vector3(Input.GetAxis("Horizontal") * _speed, 0, Input.GetAxis("Vertical") * _speed);
        _moveDirection = transform.TransformDirection(_moveDirection);
        _moveDirection.y -= 20f * Time.deltaTime;
        _character.Move(_moveDirection * Time.deltaTime);
    }
}
public void OnPhotonSerializeView(PhotonStream stream,PhotonMessageInfo info)
{
    Vector3 pos = transform.position;
    Quaternion rot = transform.rotation;
    stream.Serialize(ref pos);
    stream.Serialize(ref rot);
    if (stream.isReading)
    {
        transform.position = pos;
        transform.rotation = rot;
    }
}

}

Answer 1

Попробуй в код добавить следующие строки:

public Camera PlayerCamera; // Камера игрока
private void Update(){
    PlayerCamera.SetActive(photonView.isMine);
}
READ ALSO
Как обработать событие показа ( Show() ) окна WPF?

Как обработать событие показа ( Show() ) окна WPF?

Открываю владельца окна через thisOwner

147
Скриншот формы c# winforms

Скриншот формы c# winforms

Как сделать скриншот части формы? Например координаты и ширина и высота

168
Как вытащить значение из INI-файла?

Как вытащить значение из INI-файла?

Есть файл profilesini в нём существует строчка, содержащая путь до некоторой папки, например:

185