光子只显示一名球员

Posted

技术标签:

【中文标题】光子只显示一名球员【英文标题】:Photon only showing one player 【发布时间】:2021-12-17 13:25:35 【问题描述】:

在光子中,第一个加入的人可以看到两个玩家,但第二个加入的人看不到第一个。有谁知道为什么? 连接到服务器脚本

using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using UnityEngine.SceneManagement;
public class Connecttoserver : MonoBehaviourPunCallbacks

    private void Start()
    
        PhotonNetwork.ConnectUsingSettings();
       
    
    public override void OnConnectedToMaster()
    
        PhotonNetwork.JoinLobby();
    
    public override void OnJoinedLobby()
    
        PhotonNetwork.JoinRoom("Server");
    
    public override void OnJoinedRoom()
    
        
        SceneManager.LoadScene("Game");
    
    public override void OnJoinRoomFailed(short returnCode, string message)
    
        Debug.Log(message);
        PhotonNetwork.CreateRoom("Server");
    
    

生成玩家脚本

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

public class spawnplayers : MonoBehaviour

    public GameObject playerprefab;
    public float minx, maxx, minz, maxz;

    private void Start()
    
        Vector3 randompos = new Vector3(Random.Range(minx,maxx),1,Random.Range(minz,maxz));
        GameObject myPlayerGO = (GameObject)PhotonNetwork.Instantiate(playerprefab.name, randompos, Quaternion.identity);
        myPlayerGO.GetComponent<playermovement>().enabled = true;
        myPlayerGO.GetComponentInChildren<CameraLook>().enabled = true;
        myPlayerGO.GetComponentInChildren<Camera>().enabled = true;
    

Screen 1

Screen 2

有人知道解决方案吗?我一直在尝试解决这个问题,但没有成功

我尝试了什么

    添加大量调试日志 添加光子视图和变换 哭着睡觉

【问题讨论】:

【参考方案1】: 确保两个客户端都连接到同一个服务器(如果是 Photon Cloud,则为区域)和同一个虚拟应用程序(如果是 Photon Cloud)。您可以使用 SupportLogger。检查Matchmaking Checklist。 使用PhotonNetwork.LoadLevel 而不是SceneManager.LaodLevel。 另外,您可以使用JoinOrCreateRoom 方法作为快捷方式,而不是尝试加入然后创建一个。 我会先完成 PUN Basics Tutorial 或学习有关 PUN 的 YouTube 教程之一。

【讨论】:

以上是关于光子只显示一名球员的主要内容,如果未能解决你的问题,请参考以下文章

photonView 和光子网络

如何在 django 中过滤其主要对象后显示详细对象?

JQuery:模拟球员在球场上移动

光子中的 RPC 不通过网络发送数据

所以我试图建立一个光子网络连接,玩家随机生成,但遇到了这个错误。 “实例化”没有过载

matlab仿真二维光子晶体最简程序