Unity3D - 如何获取客户端加入时生成的对象



我正在制作一个简单的网络游戏,但我遇到了一个问题。基础,当任何客户端加入游戏时,会生成一个正方形(由NetworkManager组件(,并且客户端只能控制该方块。我的问题是:如何从服务器视图中获取带有正方形的游戏对象?我的意思是我想将正方形的颜色更改为蓝色,以便每个连接的客户端都将该特定正方形视为蓝色正方形。伙计们有什么想法吗?(带有正方形的游戏对象具有网络标识组件(

我试过了:

var a = NetworkServer.connections[NetworkServer.connections.Count() - 1].clientOwnedObjects; GameObject go = NetworkServer.FindLocalObject(a.ElementAt(previousPositions.Length));

但我得到异常,说游戏对象go是一个空

对于像颜色这样的简单变体,您可能可以使用脚本来完成,只需服务器设置的对象上的一个属性。如果您需要更复杂的内容,即整个资源包,请尝试查看以下两个选项:

万维网.加载自缓存或下载

团结网络请求

最新更新