unity3d 游戏对象客户端的Unity网络代码未连接

pzfprimi  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(226)

有人能帮我吗我一直试图连接我的客户端和主机,但Unity一直发送给我这个错误消息
网络代码]收到了键为2的OnSpawn类型触发器的延迟消息,但未在1秒内收到该触发器。UnityEngine.调试:日志警告(对象)Unity.网络代码.网络日志:日志警告(字符串)(位于库/PackageCache/com.unity.netcode.gameobjects@1.0.0/Runtime/Logging/NetworkLog.cs:28)Unity.网络代码.延迟消息管理器:清除触发器(Unity.网络代码.延迟消息管理器/触发器类型,ulong,Unity.网络代码.延迟消息管理器/触发器信息)(位于库/PackageCache/com.unity.netcode.gameobjects@1.0.0/Runtim

l7wslrjt

l7wslrjt1#

在我的例子中,我忘了在结构体中实现INetworkSerializable。一旦我这样做了,一切就都好了:

private struct ToolInfo : INetworkSerializable
{
    public Quaternion rot;
    public Vector3 pos;
    public Item.ItemInfo item;

    public void NetworkSerialize<T>(BufferSerializer<T> serializer) where T : IReaderWriter
    {
        if (serializer.IsReader)
        {
            var reader = serializer.GetFastBufferReader();
            reader.ReadValueSafe(out rot);
            reader.ReadValueSafe(out pos);
            reader.ReadValueSafe(out item);
        }
        else
        {
            var writer = serializer.GetFastBufferWriter();
            writer.WriteValueSafe(rot);
            writer.WriteValueSafe(pos);
            writer.WriteValueSafe(item);
        }
    }
}

相关问题