You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Photon联网仅显示1名玩家:先加入者可见双方、后加入者看不到前者如何解决

问题根因与解决方案

1. 首要问题:场景加载未使用Photon提供的API,也未开启场景自动同步

你当前用SceneManager.LoadScene加载游戏场景是本地行为,Photon服务端无法感知各玩家的场景加载进度,也不会主动同步房间内已存在的网络对象给后加载完场景的玩家。
修改方案:

  • 在Connecttoserver的Start方法里加入开启场景自动同步的配置:
private void Start()
{
    PhotonNetwork.AutomaticallySyncScene = true; // 新增此行
    PhotonNetwork.ConnectUsingSettings();
}
  • 把OnJoinedRoom里的原生加载替换为Photon的加载API:
public override void OnJoinedRoom()
{
    // 只有房间主客户端可以触发场景加载,配合AutomaticallySyncScene会自动同步给所有房间内玩家
    if (PhotonNetwork.IsMasterClient)
    {
        PhotonNetwork.LoadLevel("Game");
    }
}

2. 玩家生成脚本未做网络状态校验,执行时机可能异常

你当前的spawnplayers继承自普通MonoBehaviour,场景加载完成后会立即执行Start,此时可能Photon的网络上下文还未完全初始化完成,导致无法接收之前生成的网络对象同步。
修改方案:

  • 让spawnplayers继承自MonoBehaviourPunCallbacks,监听网络状态就绪后再生成玩家:
using Photon.Pun;
using UnityEngine;

public class spawnplayers : MonoBehaviourPunCallbacks
{
    public GameObject playerprefab;
    public float minx, maxx, minz, maxz;

    // 替换原有Start方法
    public override void OnEnable()
    {
        base.OnEnable();
        // 确认本地客户端已完全进入房间、网络就绪后再生成玩家
        if (PhotonNetwork.IsConnectedAndReady)
        {
            SpawnMyPlayer();
        }
    }

    void SpawnMyPlayer()
    {
        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;
    }
}

3. 必做校验项

如果修改后问题仍未解决,检查以下配置:

  • 玩家预设体必须放在项目的Resources文件夹下,否则Photon无法跨客户端同步加载该对象
  • 玩家预设体上的PhotonView组件的Observed Components列表确实添加了Photon Transform View/Photon Transform View Classic组件,且该组件的同步选项已配置正确
  • 未手动修改玩家对象的PhotonView.ViewID,该字段需由Photon自动分配

内容的提问来源于stack exchange,提问作者toythebeast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:06:01