【Unet】Unet Failed to spawn server object, assetId=0000000000000e2656f netId=2 问题

在做Unet 同步时 我们经常要创建同步物体 动态添加 NetWork Identity 组件 在连入的时候发现 往往会出现这种错误


一般是由于 物体生成出来没有注册 或者注册放在了 服务器端造成的 或者两端都执行了Spwan 方法

之前的博客说过 网络同步物体 

首先1. 注册信息  

ClientScene.RegisterPrefab()

ClientScene.RegisterSpawnHandler()

这两种都可以(但注意必须在客户端执行)

接下来实例化

 GameObject trololo = GameObject.CreatePrimitive(PrimitiveType.Capsule);

//添加 NetworkIdentity 组件 同步的唯一标识
 trololo.AddComponent();
//spwan 同步生成 creatureAssetId 是一个NetworkHash128
 NetworkServer.Spawn(trololo, creatureAssetId);

Spawn 有两个重载  NetworkHash128 你也可以自己设置 然后系统会内置赋值给assetId

public static void Spawn(GameObject obj);
 public static void Spawn(GameObject obj, NetworkHash128 assetId);





你可能感兴趣的:(Unity3D,Unet)