- 博客(343)
- 收藏
- 关注
原创 (064)Dotween DOPath Index was outside the bounds of the array
【代码】(064)Dotween DOPath Index was outside the bounds of the array。
2024-06-23 12:25:41 340
原创 (014)Mirror 问题
如果场景是通过 Additive 的方式加载的,通过该方式加载的场景将作为 "物理场景 "加载到服务器上,Unity 不会对其进行物理模拟。对物体进行大小的缩放动画。之前,不需要对物体进行用。函数,因此需要自行添加。
2024-06-19 20:50:16 383
转载 (013)Mirror History Bounds
对所有历史碰撞器进行光线投射,找出我们需要检查的其他玩家的历史碰撞器。然后为碰撞器的父网络实体应用滞后补偿, 然后检查是否击中。为了尽量减少性能开销,在决定回滚哪些玩家之前,首先针对 HistoryBounds 进行投影可能会很有用。HistoryBounds 本质上是一个 4 维边界框: (x,y,z,time)。换句话说,这个边界框包含了玩家在最后一秒左右的所有位置。橙色区域表示最后一秒内,坦克红色碰撞体经过的区域。优化滞后补偿和客户端预测。
2024-06-10 17:57:37 29
转载 (012)Mirror 客户端预测
那么,在这种情况下,如果客户端等待服务器的返回,才执行服务器执行结果,有很大的概率用户会感觉到延迟,毕竟网络状况容易波动,变得更糟糕,延迟的感觉很玩家感受到,特别是射击游戏。那么,随着误差的积累,服务器和客户端的计算结果就会越来越明显了。),同时将用户的输入上传服务器。客户端和服务器的输入一样,上下文一样,结果不就是确定的吗?既然是因为浮点数的误差造成的,那么只要在发现误差,然后校正不就可以了吗?,在不同的机器下,浮点数的运算存在不可避免的误差,至少。这个时候,可能想的是为什么客户端不直接执行用户的输入(
2024-06-10 17:16:51 44
转载 (011)Mirror 滞后补偿
在这里,我们不是检查玩家是否击中了其他玩家,而是先向 Lag Compensation 询问玩家射击时其他玩家的位置。请注意,上述代码略有简化,但除了在 LagCompensator 的 "检查 "函数中增加了几个可选的配置参数外,实际上就只有这些了。在这 100 毫秒内(返回还需要50ms),你的朋友已经向左移动了两步。服务器会将你朋友的位置同步给你。然后服务器会检查你是否击中了你的朋友,并造成伤害。换句话说,你可以根据自己的需要定制算法。服务器上有两个玩家:你和你的朋友。因此,你总是打不中。
2024-06-10 13:56:12 23
转载 (010)Mirror Connection Quality 组件
1.CalculateConnectionQuality() 可以被覆盖,以注入自己的启发式。默认情况下,它会使用上面的简单方式。它每隔几秒调用一次 connectionQualityInterval,这也可以在 NetworkManager 中进行配置。1.该组件可添加到 NetworkManager 中,以便在屏幕右下方显示 Ping 和连接质量指示器。您可以根据自己的需要随意修改或创建自己的组件。默认情况下,它会发出日志信息,这对调试用户日志等非常有用。
2024-06-10 12:57:36 15
转载 (009)Mirror Round Trip Time (RTT)
设置为 60 Hz。这意味着网络更新每 16 毫秒(1 秒/60)发生一次。RTT 信息可能在更新过程中到达,也可能在等待下一次更新的 16 毫秒期间到达。1.60 Hz 的发送间隔是带宽(发送频率越高,带宽成本越高)和 RTT 之间的合理权衡。: 往返时间 (rtt) 是指信息往返于另一端所需的时间。这是因为 Mirror 的。每条 RTT 报文需要 8 毫秒的等待时间。越低越好,而是权衡各种因素。
2024-06-10 12:43:51 20
转载 (008)Mirror Network Animator 组件
3.如果游戏对象在服务器上有权限,那么就应该在服务器上制作动画。对于与特定客户端无关的动画游戏对象(如场景对象、非玩家角色或服务器授权客户端)来说,这种做法很常见。2.如果游戏对象在客户端上拥有权限,则应在拥有该游戏对象的客户端上制作本地动画。将 “同步模式 ”设置为 “仅限所有者 ” ,将同步范围限制在服务器和对象的客户端所有者之间。请注意,如果在空游戏对象上创建网络动画组件,Mirror 也会在该游戏对象上创建网络身份组件和动画组件。客户端授权:启用此选项可将动画参数的更改从客户端发送到服务器。
2024-06-10 00:07:21 24
转载 (007)Mirror 时间戳的批处理
因此,在任何给定时间,你都可以通过 NetworkClient.connection.remoteTimeStamp 了解服务器何时发送了对象的 Rpc/OnDeserialize/OnMessage 处理程序。因此,在任何给定时间,你都可以通过 connectionToClient.remoteTimeStamp 找到客户端何时发送了对象的 Cmd/OnDeserialize/OnMessage 处理程序。1.在每一个 MTU报文中,用一个 8byte 的字节记录每一条消息的时间。
2024-06-09 23:42:28 14
转载 (006)Mirror 权限的说明
服务器权限是指服务器对对象拥有控制权。默认情况下,服务器对某个对象拥有权限。可以检查 identity.connectionToClient 属性,查看哪个客户端对对象拥有权限。,随时向客户端授予权限。当客户端对对象拥有权限时,就意味着他们可以调用命令,而当客户端断开连接时,对象将自动销毁。即使客户端拥有对象的权限,服务器仍可控制 SyncVar 和其他序列化功能。默认情况下,服务器对所有对象都有权限。服务器可以向客户端需要控制的对象授予权限。更新服务器上的状态,以便与其他客户端同步。
2024-06-09 19:49:03 21
转载 (004)Mirror 变量的同步
1.Mirror提供了定制同步行为的能力,这是通过修改序列化和反序列化同步数据的行为实现的。同步分为全量同步行为和增量同步行为。为true的时候,属于全量同步;否则,序列化和反序列化只需要包含变化的数据就可以了。只有在Sync变量变化的时候,才会被调用。调用的间隔由决定。
2024-06-09 17:32:57 19
转载 (003)Mirror Player Game Objects 的介绍
(NetworkManager 的PlayerObject) 和。1.正常情况,客户端连接上服务器的时候,服务器将自动创建。当游戏客户端和服务器连接的时候,服务器会将。并广播给其他客户端。1.Mirror 区别对待。绑定,本地客户端会将。可以定制本地玩家的行为。
2024-06-09 12:21:31 21
原创 (062)unity 将部分Assembly-CSharp 的代码放到自定义程序集
1.比如将的代码放到自定义的程序集里面。首先代码分两部分和的代码。2.在的代码目录下面,新建程序集,并且选择目标平台。3.在的代码目录下面,新建程序集,并且设置该程序集的平台仅为以及对程序集的引用。
2024-05-18 12:07:20 333
原创 (014) java.math.BigInteger cannot be cast to java.lang.Long
文章目录问题原因问题mysql 和 Java 在进行数据类型的映射时,报错:原因部分 jdk8 和高版本的 jdk 对 mysql 的 BigInteger 类型转换为 Java的 Long 类型认为是错误的类型转换。1.解决方法一:更换兼容的 jdk8版本。2.解决方法二:显示转换:((Number) runner.insert(sql, new ScalarHandler<>(), values)).longValue();
2024-05-06 18:35:17 490 1
转载 (023)C# Benchmark运行时后,没输出压测报告
需要勾选 optimize code 才会有日志: 压测例子 - WhoIsFastest-Serialization
2024-04-27 10:15:38 67
转载 (012)unity PlayerPrefs could not store preference value
清理了 PlayerPrefs ,重启报错。
2024-04-26 16:00:39 122
转载 (008)Blender 给正方体加一个骨骼提要(骨骼和顶点)
在该绑定模式中,自动生成了顶点组,并且骨骼自动绑定对应的顶点组。下【Shift】+【A】添加一个骨骼,然后在。中,查看骨骼对顶点的权重。4.选中Cube,在。
2024-04-21 09:49:19 137
原创 (013)window的Idea运行程序 Amazon java.nio.file.AccessDeniedException
【代码】(013)window的Idea运行程序 java.nio.file.AccessDeniedException。
2024-04-07 14:46:22 266
原创 (005)ssh Load key “./id_rsa“: invalid format (一直好好的,突然变心了)
一直用的好好的,重装系统之后,使用 ssh命令,报了 :1.查看证书的换行符号:
2024-03-22 09:49:57 564
原创 (008)Unity StateMachineBehaviour的坑
如果脚本中,两个同名的函数都存在,那么两个函数都会被调用;如果只有其中一个同名函数,那么另外一个同名函数就不会被调用。情况二、被注释的函数,即时在父类有,也不会被调用。
2024-03-14 12:26:15 631
原创 (003)SlickEdit Unity的补全及Tag的创建
文章目录步骤XML知识点附录步骤1.下载 unity 源码。2.将自定义文件 MonoBehaviour.cs 放到解压后的项目里面:using System;namespace UnityEngine{ public partial class MonoBehaviour { public virtual void Awake() { throw new NotImplementedException();
2024-03-10 12:50:56 988
转载 (004) git vue项目提交报错 subject may not be empty [subject-empty]
1.提交文件报错:1.提交的时候,备注的信息要符合 commitlint.config.cjs 的规范:
2024-03-02 20:23:21 401
转载 (002)SlickEdit 的使用技巧
1.查看SlickEdit 打开文件的参数:2.配合 unity 的使用:1.不区分大小写:# 参数逗号后空格
2024-02-27 18:13:22 216
原创 (002)Java GoogleProtobuf 通过反射设置默认值
【代码】(002)Java GoogleProtobuf 通过反射设置默认值。
2024-02-02 18:42:30 406
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人