Unity3d 当我尝试在多人游戏中繁殖时,我的游戏对象不可见

Unity3d 当我尝试在多人游戏中繁殖时,我的游戏对象不可见,unity3d,unity5,multiplayer,Unity3d,Unity5,Multiplayer,在unity multiplayer中,当我按下Lan主机按钮时,它使用我分配的预置,RunnerClone出现在层次结构中。但它不会出现在屏幕上。然后,当您进入场景视图时,您会看到存在一个对象,但由于某种原因它不可见。是什么问题导致了这种情况?我该如何解决它?可能会有很多问题,但我会给你一个检查事项列表 对象在主机/服务器中是否可见?摄影机位置/旋转是否可以正确查看衍生对象的位置?您是否使用与单人游戏相同的实例化方式生成了对象,或者正确使用了Unity Network的实例化方式 本文以一个非

在unity multiplayer中,当我按下Lan主机按钮时,它使用我分配的预置,RunnerClone出现在层次结构中。但它不会出现在屏幕上。然后,当您进入场景视图时,您会看到存在一个对象,但由于某种原因它不可见。是什么问题导致了这种情况?我该如何解决它?

可能会有很多问题,但我会给你一个检查事项列表

对象在主机/服务器中是否可见?摄影机位置/旋转是否可以正确查看衍生对象的位置?您是否使用与单人游戏相同的实例化方式生成了对象,或者正确使用了Unity Network的实例化方式

本文以一个非常具体的例子详细讨论了如何建立多人游戏。如果您是Unity Networking的新手,我建议您从本教程开始。下面显示了如何在多人游戏中实例化对象:

[Command]
void CmdFire()
{
   // This [Command] code is run on the server!

   // create the bullet object locally
   var bullet = (GameObject)Instantiate(
        bulletPrefab,
        transform.position - transform.forward,
        Quaternion.identity);

   bullet.GetComponent<Rigidbody>().velocity = -transform.forward*4;

   // spawn the bullet on the clients
   NetworkServer.Spawn(bullet);

   // when the bullet is destroyed on the server it will automaticaly be destroyed on clients
   Destroy(bullet, 2.0f);
}
请注意,以上内容不足以通过网络实例化对象。为了执行上述代码,还必须设置其他内容。多人游戏与单人游戏非常不同,如果你不熟悉上面的代码,你一定要去看看Unity网络教程

需要注意的几件事:

方法必须用[Command]标记 方法名称必须以Cmd开头。 链接教程可能是Unity提供的唯一教程。Unity Networking因缺乏文档而臭名昭著。
那是很多信息,我觉得我都知道了。谢谢你抽出时间来帮助我!我很高兴这有帮助:D