我是靠谱客的博主 还单身香氛,最近开发中收集的这篇文章主要介绍帧同步总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


1、确定性

a、随机数:自己写随机函数,服务器提供随机种子

b、浮点数:如果需要运行在不同的机器上,需要使用定点数

c、未初始化变量:某些第三方库在不同的架构上,变量的默认值不一定相同

d、执行顺序:dictionary,table(lua),Raycast返回的结果 顺序不保证

e、本地数据:逻辑顺序需要与玩家无关

f、帧率:不能使用显示帧率,逻辑与显示完全分离,保证逻辑帧的稳定

g、第三方库:最好不要用没有源码的第三方

h、update:monobehaviour的update不能保证顺序,需要逻辑层统一做update

2、流畅性

a、插值:显示与逻辑分离,显示帧率根据机器调整,同时做插值

b、网络连接:延迟要求高的游戏使用udp,一次发送多个帧的数据减少丢包重传,某些地区udp连接不上,切换到tcp

c、jitterbuffer

d、位置抖动:

    I、对position变化做阈值(<0.01不更新)判定

    II、运动插值,在LateUpdate中更新Position

    III、如果摄像机移动有速度,需要将速度和Time.dealtTime联系在一起,且速度最好匀速

    IV、在图像资源的制作过程中使用各种滤波函数来模糊图像(http://gad.qq.com/article/detail/5767)

    V、在导入资源时设置滤波模式为bilinear或者trilinear

    VI、Unity的sprites/Default 这个shader带有一个Pixel snap选项,选上该选项,sprite在渲染时,其顶点位置将snap到整数倍像素位置,从而保证整个sprite能以整数倍像素大小移动


    VII、相机位移像素取整

3、外挂

a、修改属性:上传当前状态的hash值,战斗核心在服务器运行逻辑验证

b、透视:使用状态同步控制

c、自动操作:验证码、没有什么好方法



最后

以上就是还单身香氛为你收集整理的帧同步总结的全部内容,希望文章能够帮你解决帧同步总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部