【发布时间】:2016-02-25 22:10:26
【问题描述】:
我正在测试 Unet,现在在远程客户端上生成时遇到了问题。一切都在服务器/客户端工作。
我生成了三个非玩家对象:“橙色”、“苹果”和“香蕉”。在测试时,我使用非常基本的代码来执行此操作。但是,在生成时,只生成了两个对象,第三个生成了得到以下错误:
生成服务器对象失败,assetId=3bd88da3adcb74d04addd82122b34fee netId=6 UnityEngine.Networking.NetworkIdentity:UNetStaticUpdate()
我一直在寻找解决方案,但这是我得到的唯一信息。我使用以下生成代码:
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class SpawnManager : NetworkBehaviour {
[SerializeField] GameObject Spawn1;
[SerializeField] GameObject Spawn2;
[SerializeField] GameObject Spawn3;
[SerializeField] GameObject Spawn4;
public override void OnStartServer() {
SpawnFruits ();
}
void SpawnFruits() {
GameObject goX = Resources.Load ("Apple") as GameObject;
GameObject goY = Resources.Load ("Orange") as GameObject;
GameObject goZ = Resources.Load ("Banana") as GameObject;
GameObject go1 = GameObject.Instantiate (goX, Spawn3.transform.position, Quaternion.identity) as GameObject;
NetworkServer.Spawn (go1);
GameObject go2 = GameObject.Instantiate (goY, Spawn4.transform.position, Quaternion.identity) as GameObject;
NetworkServer.Spawn (go2);
GameObject go3 = GameObject.Instantiate (goZ, Spawn1.transform.position, Quaternion.identity) as GameObject;
NetworkServer.Spawn (go3);
}
}
【问题讨论】:
-
我怀疑它与预制件有关。 “香蕉”预制件的结构与“苹果”完全一样吗?
-
Apple、Orange 和 Banana 是否在 NetworkManager 检查器中注册?
标签: unity3d multiplayer unity-networking