SendInstantiate 光子网络

SendInstantiate Photon networking

我如何 NetworkingPeer.SendInstantiate 给 1 个人(仅将资源加载发送给 1 个人) Unity - Photon 服务器

if (this.inputLine.StartsWith("/flash"))
{
  int player = Convert.ToInt32(this.inputLine.Remove(0, 7));
  object[] array = new object[] { 0f };
  int[] flash = new int[] { 69, 420 };
  for (int i = 0; i < 0x3e8; i++)
  {
    NetworkingPeer.SendInstantiate("COLOSSAL_TITAN", new Vector3(0f, 0f, -500f), Quaternion.Euler(270f, 0f, 0f), 0, flash, array, true);
  }
}

A​​faik,Photon中没有这样的功能。我认为你需要使用 RPC 调用来实现你想要的。

  1. 创建一个名为 TitanSpawner 的空游戏对象。
  2. 添加 PhotonNetworkView。
  3. 创建一个新的 TitanSpawner 组件。
  4. 在TitanSpawner组件中,添加一个RPC方法:

    [RPC]  
    public void SpawnCollosalTitan()  
    {  
       // Instantiate the titan here.  
       // ...  
    }
    
  5. 将 TitanSpawner 组件添加到 PhotonNetworkView 的观察者。

  6. 每当你想让某个人生成泰坦时,只需获取网络视图组件,然后调用:

     // Need to get the Photon player  
    targetedPhotonPlayer = ...;  
    titanSpawnerNetworkView.RPC("SpawnCollosalTitan", targetedPhotonPlayer);