У одного игрока(хоста) подсоединение к мастеру работает, а у второно нет, из-за чего противоположный игрок буквально летает по сцене(Unity Photon PUN)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using Photon.Pun;

[RequireComponent(typeof(Rigidbody))]
public class PlayerMove : MonoBehaviour
{
    private PhotonView photonView;
    [SerializeField]public int speed = 10;
    public Rigidbody rb;        //RigidBody
    public int Health = 100;        //Health
    [SerializeField]private Vector3 moveDir;        //Vector of move
    public CharacterController ch_c;        //append a Character Controller
    public Joystick js;       //append a Joystick
    public Animator anim;       //animator
    PhotonView view;        //view for other people in network
    public int coins = 0;       //count of couns
    public Text money;      //text of coins
    [SerializeField]private Camera PlayerCamera;
    //public MenuManager MN;
    void Start()
    {
        //apend all components
        photonView = GetComponent<PhotonView>();
        ch_c = GetComponent<CharacterController>();
        rb = GetComponent<Rigidbody>();
        anim = GetComponent<Animator>();
        js = GameObject.Find("Joystick").GetComponent<Joystick>();
    }
    private void FixedUpdate()
    {
        //rb.velocity = new Vector3(rb.velocity.x, rb.velocity.y, js.Horizontal * speed);

    }
    void Update()
    {
        moveDir.z = js.Horizontal * speed;

        if (Vector3.Angle(Vector3.forward, moveDir) > 1f || Vector3.Angle(Vector3.forward, 
        moveDir) == 0)
        {
            Vector3 direct = Vector3.RotateTowards(transform.forward, moveDir, speed, 0.0f);
            transform.rotation = Quaternion.LookRotation(direct);
        }
        ch_c.Move(moveDir * Time.deltaTime);
        if (moveDir != Vector3.zero)
        {
            anim.SetBool("isRun", true);
            rb.constraints = RigidbodyConstraints.None;
        }
        else if (moveDir == Vector3.zero)
        {
            anim.SetBool("isRun", false);
            rb.constraints = RigidbodyConstraints.FreezeAll;
        }
    }
//второй скрипт GameManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Photon.Pun;
using Photon.Realtime;
using UnityEngine.SceneManagement;

public class GameManager : MonoBehaviourPunCallbacks
{
    public Transform point;
    [SerializeField] private GameObject player;

    void Awake()
    {
        PhotonNetwork.Instantiate(player.name, point.position, Quaternion.identity);
    }
    public void Leave()
    {
        PhotonNetwork.LeaveRoom();
    }
    public override void OnLeftRoom()
    {
        SceneManager.LoadScene(0);
    }
    public override void OnPlayerEnteredRoom(Player newPlayer)
    {
        Debug.Log("Connect");
    }
    public override void OnPlayerLeftRoom(Player otherPlayer)
    {
        Debug.Log("Disconnect");
    }
}


//третий скрипт MenuManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Photon.Pun;
using Photon.Realtime;

public class MenuManager : MonoBehaviourPunCallbacks
{
    public InputField createRoom;
    public InputField joinRoom;
    public Text money;
    public int coins;
    public Text log;

    private void Start()
    {
        PhotonNetwork.AutomaticallySyncScene = true;
        PhotonNetwork.GameVersion = "1";
        PhotonNetwork.ConnectUsingSettings();
    }
    public override void OnConnectedToMaster()
    {
        Debug.Log("On Connect to master");
        log.text = "connect";
    }
    public void FixedUpdate()
    {
        money.text = "Your coins: " + coins.ToString();*/
    }
    public void CreateRoom()
    {
        RoomOptions roomOptions = new RoomOptions();
        roomOptions.MaxPlayers = 2;
        PhotonNetwork.CreateRoom(createRoom.text, roomOptions);
    }

    public void JoinRoom()
    {
         PhotonNetwork.JoinRoom(joinRoom.text);
    }
    public void multiplayer()
    {
         PhotonNetwork.JoinRandomRoom();
    }
    public override void OnJoinedRoom()
    {
        PhotonNetwork.LoadLevel("Game");
    }
}

Ответы (0 шт):