Индивидуальное отображение контента для каждого клиента

Сеть в Unity3D

Индивидуальное отображение контента для каждого клиента

Сообщение System 07 авг 2019, 18:16

Приветствую Всех.
Решил написать пошаговую сетевую игру, но столкнулся с проблемой отображения у 3-го игрока.
Есть игровое поле - Игровое поле
Каждому игроку при присоединении добавляю платформу-триггер под ноги:
Синтаксис:
Используется csharp
        if (NetworkLobbyHook.instance.Players.Count == 3)
        {
            GameObject Player1 = Instantiate(player.TriggerPlayer1) as GameObject;
            GameObject Player2 = Instantiate(player.TriggerPlayer2) as GameObject;
            GameObject Player3 = Instantiate(player.TriggerPlayer3) as GameObject;
            Player1.transform.SetParent(NetworkLobbyHook.instance.Players[0].transform, false);
            Player2.transform.SetParent(NetworkLobbyHook.instance.Players[1].transform, false);
            Player3.transform.SetParent(NetworkLobbyHook.instance.Players[2].transform, false);
            Player1.transform.position = new Vector3(NetworkLobbyHook.instance.Players[0].transform.position.x, NetworkLobbyHook.instance.Players[0].transform.position.y - 1.5f, NetworkLobbyHook.instance.Players[0].transform.position.z);
            Player2.transform.position = new Vector3(NetworkLobbyHook.instance.Players[1].transform.position.x, NetworkLobbyHook.instance.Players[1].transform.position.y - 1.5f, NetworkLobbyHook.instance.Players[1].transform.position.z);
            Player3.transform.position = new Vector3(NetworkLobbyHook.instance.Players[2].transform.position.x, NetworkLobbyHook.instance.Players[2].transform.position.y - 1.5f, NetworkLobbyHook.instance.Players[2].transform.position.z);
            NetworkServer.Spawn(Player1);
            NetworkServer.Spawn(Player2);
            NetworkServer.Spawn(Player3);
        }

С его помощью активирую ячейки на которые игрок может сделать свой ход:
Синтаксис:
Используется csharp
    public void OnTriggerStay(Collider other)
    {
        if (isServer)
        {
            if (other.CompareTag("Tile"))
            {
                other.GetComponent<Tile>().select= true;
            }
        }
    }
    public void OnTriggerExit(Collider other)
    {
        if (isServer)
        {
            if (other.CompareTag("Tile"))
            {
                other.GetComponent<Tile>().select= false;
            }
        }
    }

Мне нужно добиться того, чтобы каждый игрок видел только свою активацию ячеек.
Так на данный момент видит каждый из игроков:
Игрок1(красный)
Игрок2(зеленый), Игрок3(синий)
Очень буду рад услышать советы грамотных людей.
System
UNец
 
Сообщения: 1
Зарегистрирован: 07 авг 2019, 14:55

Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2