光子只显示一名球员
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 教程之一。
【讨论】:
以上是关于光子只显示一名球员的主要内容,如果未能解决你的问题,请参考以下文章