Unity网络管理器不会在网络开始位置生成对象

时间:2019-01-19 21:08:18

标签: c# unity3d

我正在测试我正在开发的游戏的统一网络。我可以在所有客户端上生成对象,但是无法使用网络开始位置对象移动生成点。 Unity文档告诉我,网络管理员在场景中查找网络开始位置脚本,并随机生成或在其中循环生成它们。

场景概述:https://i.imgur.com/pVIMpEa.png

网络管理器:(https://i.imgur.com/DKwCe17.png

网络开始位置:(https://i.imgur.com/PTdFe1q.png

我明白了。我的问题是网络管理员生成了一个连接对象,然后该对象实例化了播放器。我刚刚将this.transform添加到实例化函数中。

Instantiate(PlayerUnitPrefab, this.transform);

1 个答案:

答案 0 :(得分:0)

您的问题有点含糊,但我会尽力回答。

当比赛开始时(在startHost()或startClient()上)生成玩家对象时,引擎将检查场景中的所有对象以找到带有 NetworkStartPosition组件,并使用在NetworkManager上分配的生成方法生成播放器(Round Robin或Random)。

现在,您无法为NetworkManager分配要使用的实际生成点。可能是从没有NetworkIdentity的对象到将错误的类附加到对象上的任何事情。

如果您可以提供NetworkManager,NetworkSpawnPoint GameObject和场景中对象的屏幕截图,则这将有助于我们弄清楚为什么它会在生成点生成播放器。