增进平滑移动效果的Dead Reckoning算法
更新时间:2023-08-31 16:49:01 阅读量: 教育文库 文档下载
- 平滑移动均线推荐度:
- 相关推荐
DR,增进平滑移动效果的Dead Reckoning算法
2 0 年 8月 O6
电大理工 Di d Lg n a a io g n
第 3期
总第 2 8期 2
增进平滑移动效果 的 D a ek nn ed co ig算法 R
任广伟
辽宁广播电视大学 (沈阳 103 104)
■ 曩 网络游戏中一个最常见的问题就是, 互联网自身存在的延时问题,当新数据包到来的时候,游戏界面上
的角 色就会 产生抖动现 象。解 决这 个问题 的最重要 的方法就是 Da eknn 算法。本文对传 统的 D 算法 进行 了改 edRco ig R 进, 在其平滑机 制 中引 了 “ 入 三次参数”方法,并在 3 游戏中引入 了方向预测 方法 。改进后 的算法在性能和游戏真实 D
性方 面取得 了较好的效果.
美■调
D a ekn g 算法 平滑技术 ed coi R n
0 引言
和有 效性 。 当新 数据 包 到来 的时 候 ,游 戏 角色 会 产 生抖 动 。同时 ,对 网络 带 宽和 服务 器 的压 力也很 大 。 通 常 的解 决办 法 包括 :增 加包 发 送 的频 率 ,通 过压 缩减 少包 的大 小 , 最重 要 的就是 DR( a D ̄d ̄ k m g o ) 算法 。 1 DR算法 I 2 游 戏 中的 DR算 法 由两 部 分组成 :位 置预 测和平 滑 移 动 。位 置 预测 :用 于 减 少在 游戏 中延 迟 产 生的 影 响 ,这种 技 术尽 力猜 测 对象 将 要 采取 的行 动 ,按
MMO ( 型 多 人 在 线 游 戏 , Mas e O 大 si l vy
Mut lyrOnn me) lpae l eGa s中存 在 的最 主要 的 问题 就 i i
是延迟 问题,这意味着在信息到达接收方之前需要
一
定 的 时 间 。虽然 有 一些 技 术 方法 能 够减 少 或 者 限
制这些 延迟 ,但 是有 一些 延迟 是永远 都不 会 消失 的。 对 于 网络游 戏 来 说 ,其 最 吸引 入 的地 方 是 多人 的 交 互性 和 协 作性 ,视 听觉 效 果 的作 用 已经 退 到 次要 的 位 置 。由于 MMoG 中存在 着不 可避 免 的延迟 问题 ,
怎样提高游戏的一致性和响应性避免 由于 网络延迟 而 产 生 的玩 家 界面 不 一致 的问题 ,就成 了 网络游 戏 平 台研究的首要 问题L  ̄ IX 虽然 目前运行的游戏 中也 JJ L 采用了一些方法来保证玩家界面的一致性,但是在 性能和效果方面都存在着一些问题 。
本 文所 做 的研 究 正 是针 对 这 方面 问题 。传 统 的
照位置预测公式推算实体的移 动位置。这样就可以
避 免每 次 玩 家移 动 都 发送 一 个 更 新包 ,减 少 了对 网 络 带 宽和 服 务器 的压 力 。平 滑 移 动 :
用 于 在玩 家 接 收 到 更新 包 以后玩 家 实 体从 初 始位 置平 滑 移 动到 更
新后的位置。 但是, 当前的 D R算法所采用的平滑算 法 存在 着 一些缺 陷 , 由于 没有 考虑 玩 家速度 的 更新 , 玩 家实体移动到新位 置后的移动方 向看起来会很不 真实,影响游戏的真实性 。 而且 ,当前 的 D R算法没
有考 虑 玩 家 实体 位 置 方 向 的预 测 ,无 法 更真 实 的表 现 实体 的 自身 的旋 转 等信 息 。
D 算法是美国国防部为了解决军事模拟 中存在 的 R 延迟 问题而提 出的。主要用于解决 同步过程中带宽
占用 过 大和 服 务 器压 力 过大 的 问题 。同样 ,在 网络 游 戏 同步 中也 存 在着 类 似 的 问题 。所 以在本 文 中,
对传统的 D R算法进行了研究,并对其进行 了改进。 改进后 的算法在游戏预测方法 中引入了方向预测算 法,并且对传统 D R算法中的平滑算法进行 了改进, 使其更适合在线游戏。而且 ,改进后的算法在性能
2 增进平滑移动效果的 D R算法
增进平滑移动效果的 D 算法主要 由三部分组 R
成 :位 置 预测 ,方 向预 测和 平滑 移动 。
21 位 置预 测 , .
和视觉效果方面取得 了很大的改善。 l 相关工作 1 网络游戏同步机制中存在的问题 . 1 由于网络 传输 中存在 的延迟现 象 ,基 于 cS 结 ,
位 置预 测是 DR算法 用 于推 测实 体 下一步 将 要移
动到的位置的公式 ,文中的位置预测方案采用 了传 统的D R算法中的位置预测方法,即:
P=Po +Vo t A
构下的网络游戏 的同步在保证客户端响应本地用户
指令流畅的情况下,没法有效的保证同步 的及时性
P
o t /Ao t A +l2 A ‘
DR,增进平滑移动效果的Dead Reckoning算法
第3 期
任 广伟 : 增进平滑移动效果 的 D a ek nn edR c o ig算法
使用这两个公式可以计算推测 出在 △ 时间后 , t
实体将要处于哪个位置。
2 方 向预测方案 i 2
数等式。首先考虑输入的四个 ( ,Y )数对。第 x ,z
一
个数对代表 了对象的起始位置(0 P) 。类似 的,第三
个数对表示数据的更新位置(2 P) 。通常 ,为了实现更
方 向预测用于推算实体 自身的偏移、旋转等移
好的同步,拟采用终点位置后 的一点预测位置 1 , ) 3
P 是实体以更新速度运行 T时间后的位置 。然后让 3 实体以一个较快的速度 V= PP) ( .0T移动到 P 点, / 3 同
动 。引入 了方 向预测 以后,实体 自身的运动状态更 . 加丰富,这
样玩家感受到的游戏更加真实、可信 。
在时间 tAt + 时,w r oria 变换为 b d o dcod t l ne oy codnt or a i e的方向矩 阵为:
时 ,把 P 点作为第四个数对 。最重要的数对就是第 3
二个和第三个 ;它们代表 了对象的速度 。第二个数
对用来计算 以对象现在的速度 , △t 在. . 时间之后这个 对象将在哪里 出现 。第三个数对是更 新位置 ,同时 一_ 曩 以对象的更新速度运动 。
J] =D 。 - R [RI w> R b
da coig ed eknn 矩阵的计算方法 r 把时间 t的实体的 b d ori t 变换为时间 o oy cod a ne o t At + 的实体的b d odnt o y o ri e的矩阵定义为: c a
A 下面就是用来创建曲线的参数等式 .
) At Bt+ t D 【 3 2 c+ = + y Et F 2 Gt H = 3 t + + +
细
【R=1 o( II )∞∞T I∞ I+o( D 】(cs I( △t ) ) , cs 1 ( I )s ( I Q III I Ii II ) At.n ) At , ( )
因为上面用到的角速度是 b d o r nt 中的 o ycod a i e
z I+t K . =t J + H 2 L
速度 ,而角速度是用 E l w r ori t)角度 ue ol cod a r( d ne
来表示的,所以下面要给 出一些转换公式 :
Wol co i t E l )角速度转变 为 b d r or n e( ue d da r ov cod a 角速度的公式: ori t ne
( = d- t I dO/ t dWd) ) ( cy ( / t +dg d) i cs o - d a d) ( q ts  ̄ n oO (z 一 / ts O ( t o c s I= ( ) d d) i + dWd) s n c oO
t 是时间变量。它的范围从最初点0到终点T 。
B 描述参数方程 中的系数变量的解法
①给定 n个互异节点 X 及对应的函数值 y i i =
f iiI n, 以 x( 1 n为节点的插值多项式 ()- , )若 x ( …, i- ,· ) i ·,
为 :y c+2+ CX 。 = lcx …+nw
求该多项式的系数 cil n即为三次参数方 i= , ) ( …, 程 中的系数 。
②应用 V n e o d 矩阵的方法求得: adr ne m
初始的方向矩阵 I I一b 的计算
时间 t 的初始方向的矩阵可以从实体状态 P U o D
c=n =n Y ∑A ∑b k
k
=l k l = 工J 1i
中的 E l 角度计算得 出,定义为:【 = ur e
l cB cs o o O
c 口0 i 0 sn
b = l iS + , = 一 k bk X+ l k n 1,“ , + k ·1
l 玎 B 0 — ∞ 加 n 爹n s s j | c i I b s &o + i#n #n 8 c i o ss n i
s s i O i n +C Seo n n加i O ̄ s .
cs nOi —s o 加i s n i n细 s
C一旦这些等式被创建了, 下一步就是要决定在 游戏中怎么实现它。下面的方法是很简单和有效的。
T e ( : 0 s - 3 h m 0) =i 【 ] n AI
①允许一个对象遵循物理法则移动 ( 根据速度
和 加速 度 ) 。
Pi )  ̄ c s AlCS0 *g [ 2 s( : f o [ l O ] snA1 = / 】 P i :  ̄= O A  ̄ o ]snA 3 h( ) CS [3cs0 *g [2 / 】
23 平 滑移 动 .
② 当一个数据包到达 的时候开始 创建到下一个
位 置 的 曲线 。
三次参数方法提供 了一个最现 实的方式来创建 个 da co i 路径。 ed ek n g r n 这是因为我们在三次参数 方法中考虑 了起点的位置\ 速度和终点的位置、 速度。
一
③ 曲线上 的数对一 和数对 2可以通过使用现在 1
的位置和速度来找到
Co r l= Xl od o d Co r 2= X1 od o d+V i o d
其产生的结果是 :采用三 次参数方法 的对象 的运动
没有急进的现象产生,除非是延迟特别严重的情况
下。
④数对 3和数对 4更难获得 。他们取决于更新 数据包的速度 。如果在从位置 1到位置 4的过程中 有新的 P U到达 , D 那么我们定义它为 N w a k g 。 e P ca e
() I -次参数方法 使用三次参数方法来创建路径 是一些简单的代
对数对 4来说,使用新数据包来计算在 T秒之后的 最终位置 。同样的信息也可以被用来计算在新时间
DR,增进平滑移动效果的Dead Reckoning算法
电大理工
总第 2 8 2 期
的对象 的速度。
C o ̄ =C od ( 们 e p  ̄ ) or o r4-V口k +a= t t t
Co r4= x c+V a c t 05 aakI od t pe t + . pc k e
到更新后的位置上 。使用这种方法,实体的每 一次
更新运动都是按直线方式运动的,这样实体 B 在玩 家 A 屏幕上移动起来变得非常的不现 实,经常会 出
现 很生 硬 的拐角 。
这个方法联合 了 da e oi
算法的两种形 ed r k n g c n
式: 立方抖动方法和二次方程移动方法。 这样结果看
起来更加现实。
在 “ udac q art ”方法中,实体以二次方路径 的形 i 式运动到更新后的位置上。 使用这种方法, 可以使 B
⑤让这个对象沿着这条 曲线走时间 T 。
⑥ 曲线的末端 ,再从第一步重新开始。
这样结果看起来就会像下面的一样平滑:
在玩家 A屏幕上的移动变得 比较 的有人性化一些。 但是该方法的考虑也是不周全的,仅仅只考虑 了初
始位置到更新位置的方向,而没有考 虑新的 P U包 D
中的方 向描述,那么实体 B 从更新位置开始模拟行
走的时候,仍然是会 出现 比较生硬的拐角, 在 “ 三次参数 ”方法 中,实体按照三 次参数方
程 的路径形式从初始位置运动到更 新位置上 。在此 种方法中不仅考虑 了路径的运动形式 ,而且还考虑 了更新 P U 中包含的方向描述, D 这样当实体 B在玩
p k tde 日 po n eo e t it
家 A 屏幕上从更新后的位置开始新的行走模拟 时, 就不会 出现生硬的拐角,使玩家 A屏幕上看到的实 体 B的运动更加真实、生动 。 4 结束语
圈1
平滑路径
Fg1 i.:Smo tigp t ohn ah
3 改进后平滑算法的性能分析
本小节主要对同步机制算法进行简单的性能分 析,并对同步机制中采用的平滑算法在游戏中取得
的视觉效果进行测试。
本文通 过对消息进行分类管理和在实现 同步 的 关键技术—DR算法 中引入方向预测方法,并对其平
滑方案进行改进并进行了测试 。提高了游戏中同步 的性能 ,并且改进后 的算法使得游戏在画面的稳定 性和真实性方面取得 了较好的效果。
参考文献
【】 u i me , i u oat, n ar H k nn ” p cs l o n d TmoKak rna adH r a o e. Aset J S i
平滑算法效果图如下:
“ier l a”方式 n
o ewokn n mut ly r o ue a s,’e E e to i fn t r ig i lp a e. mp trg me "Il lcrnc i c rt
Li rr Vo . O No 2 2 0 : 7 9 . b ay, 1 2 , . , 0 2 8 - 7
【] ui me , i oK u oat adHarHao e . Reiw 2J n d T m ak rna n r k n nA ve o S , i
o t rig a dM ut ly r mp trGa s Tu
k ne nNewo kn n lpa e i Co ue me . r uCe tr frCo ue ce c , 5 , rl 0 2 o mp tr in e 4 4 Ap i2 0 . S
q art ”方法 udac i
“ 次参数 ”方法 三
【]h ntu f l tc l dEet nc n ier, 3T eIstt o e r a a l r i E gn es ie E ci n c o s
S a d r fr tn ad o Ditiu d n rc v Smua o Ap l a o sr t It at e i lt n be e i i pi t n ci
F g2 PHf螂咖曲' a ay i fs ohn i .t a 七 n lsso mo tigmeh di h loil to nteag rtm a
啊 2 算法中平滑方案的性能分析
P oo os S a d rs o mi e n nea t e i u a o S I 1 r t l, t ad m t e t c v m lt n( C S c n C t o I r i S i
o teI E Co ue o it , S pe e 1 1 9 : 1 3 1 9 fh EE mp tr cey S e tmb r2 , 9 5 2 -2 。
在 " on t p i ”方法 中,实体被简单的从 旧 pi - - n to o t 位置拖拽到更新后的位置上 。采用这种方法 实现很
【]o a P tl,L r C Wof nte mp c o D l n 4L tr a e h n as . l ,O h I at f ea yo
Re l meMm t ly r m e , a- Ti i ae p Ga s ACM ,Newo kIs e o d o t r su sfr Vie n m s 0 22 -9 a dGa e , 2 0 :3 2 .
简单,但是对实体的每一次移动都要发送一个更新 包,对本来就很紧张的带宽来说是一个很大的压力: 同时在玩家的屏幕上,实体也是一跳一跳的前进的, 给人一种很不真实的视觉效果。 在 “ na”方法中,实体以一条直线路径运动 le i r
【] o etF uh e , De y C mpna o n Ne re 5R b r .B chi t l o e st n i t kd a i wo
Co ue m e ,I E r sc o so d sra lcr nc mp trGa s EE T a a t n nI u t l e t is, n i n i E o vo. , . , cmb r 0 4 15lNo 6 De e e o . 2 一
正在阅读:
增进平滑移动效果的Dead Reckoning算法08-31
羧酸衍生物的还原11-11
2017-2023年中国PC保鲜盒行业深度调研报告(目录) - 图文03-08
会计出纳操作流程修订稿04-29
长螺旋钻孔泵压混凝土后插筋灌注桩钢筋笼下放施工技术11-23
节约用水宣传主题活动总结范例优选04-04
手开头的成语大全-范文word版(3页)03-04
申报示范老年大学申请报告01-21
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 平滑
- 增进
- 算法
- Reckoning
- 效果
- 移动
- Dead
- 施工电梯司机安全操作技术要求有哪些
- 合肥机务段JK00430型铁路机车走行部车载监测装置用管修培训
- 2017-2018学年度第二学期小学五年级下册数学期末试卷北师大版
- 如何设计全自动血液粘度动态分析仪项目可行性研究报告(技术工艺+设备选型+财务概算+厂区规划)标准方案
- 监控系统设备清单表
- 【推荐】出纳半年度工作总结(精选多篇)-范文word版 (11页)
- 西门子贝得高效IE2电机样本 1TL0-catalogue-CN-110823
- 填料吸收塔
- 2016-2022年中国白酒市场全景调查与发展趋势研究报告(目录)
- 小学寒假家长通知书
- 高二化学第六章烃的衍生物复习课
- 中国电子标签行业现状调研与竞争战略研究报告(2014-2019)
- 【精】最新高中地理第三章农业地域的形成与发展章末小结与测评学案新人教版必修2
- 2014年事业单位考试申论热点:说一套做一套
- 2015版毛皮鞣制加工行业发展研究报告
- 2500个常用汉字大全(含拼音)谢谢
- 第三课 中西美术的人物造型特点
- 安徽中烟统一会计核算软件需求调研报告——财务基础部分
- 生产部品控管理办法
- 直线椭圆位置关系