主机实例化的对象在客户端上看不到

问题描述 投票:0回答:1

我有一个问题,当主机实例化时,用于实例化对象的 ServerRpc 对客户端不可见。然而,如果客户端实例化一个对象,主机客户端就能够看到它。这是我的代码,预制件是鱼网网络对象。

public override void OnStartClient()
    {
        base.OnStartClient();
        if (!base.IsOwner)
        {
            enabled = false;
            return;
        }
    }
[ServerRpc(RequireOwnership = false)]
    void DropItemsRPC(GameObject prefab, Vector3 position)
    {
        GameObject drop = Instantiate(prefab, position, Quaternion.identity, worldObjectHolder);
        ServerManager.Spawn(drop);
    }

c# unity-game-engine network-programming rpc multiplayer
1个回答
0
投票

尝试这样的事情。

命名空间要求:

using FishNet;

代码:

[ServerRpc]
void DropItemsRPC(NetworkObject prefab, Vector3 position)
{
    var _networkManager = InstanceFinder.NetworkManager;
    var drop = _networkManager.GetPooledInstantiated(prefab,position,Quaternion.identity,true);
    _networkManager.ServerManager.Spawn(drop);
    _networkManager.SceneManager.AddOwnerToDefaultScene(drop);
}
© www.soinside.com 2019 - 2024. All rights reserved.