当前位置: 首页 > 专利查询>利文劲专利>正文

一种在互联网上实现交互式动画系统的方法技术方案

技术编号:2876961 阅读:174 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种在互联网上实现交互式动画系统的方法。系统对在客户端上的两种不同的动作请求做出不同的处理方法:对于不会引起冲突的动作请求,直接把动作传到服务器,服务器再简单的转发给各个客户端来做出处理;否则,各客户端发起时统一上报到服务器,由其实时或定时做计算处理,把结果分发给各客户端,客户端平滑的向服务器的计算结果做同步,显示动画内容,并在客户端采用有效的缓冲行动来立即响应动作请求。本发明专利技术使动画系统对操作及时地做出响应,消除了多客户端对系统的影响,较好的克服了网络抖动的影响,客户端的动画效果具有很好的连贯性、平滑性和一致性,本发明专利技术可以在互联网QOS较差的状况下开发出流畅的动画应用系统。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及,它用于在互联网QOS较差的状况下开发流畅的网上交互式动画系统。现在运行在互联网上的动画应用(绝大多数是网络游戏)基本都是采用如附图说明图1所示的技术来实现各计算机之间的数据交互。其中client1...client n为系统在互联网上的多个客户端,server为通信服务器。请注意,在很多系统中server会和其中的某一个client在同一台计算机上,为描述方便不妨也把它划成两部分,其原理是一样的。当某个客户端用户进行一个操作时(比如下发一条命令,或点击鼠标键等),不妨假设是client 1发起的,则对该操作的处理流程是先client 1对该操作做处理。client 1处理完后,把状态数据传给server(箭头1),然后client 1静止不动。server把收到的状态数据分发给其它客户端client 2...client n(箭头2)。Client 2...client n收到状态数据后,同步自己的数据为和client 1一样,然后回应答给server(箭头3)表明本客户端已完成数据同步,同时也静止下来。当server收取完了所有client 2...client n的应答后,通知各个客户端继续运行(箭头4)。一个用户操作经过4轮的网络传送过程后才处理完成。其中server只起到通信转发的功能,它不做计算。这是传统的、典型的网上动画应用系统计算机之间交互数据的处理技术。这种技术有如下缺点(1)系统对每次操作的响应都要经历4轮的网络传送(在传送2、3中还要以传输花费最长的时间来算),造成系统对操作的响应有延时。在网络好的时候,这问题不突出。但在网络繁忙,或者计算机之间网络组成比较复杂(比如经历了比较多的路由器节点)时,其响应的时延就能明显感觉出来,从而使用效果比较差。假设网络较差时时延到200ms,则用户每个操作的响应迟缓时间将达到800ms。(2)每个操作都需同时等待多台客户端的应答,这样在客户端比较多的时候,很容易因某台客户端与服务器之间的网络延时大(可能网络忙、网络瞬间抖动或两计算机之间组网复杂引起的),而使得整个系统对操作的响应速度受到减慢。在客户端较多时出现网络抖动的概率是比较大的,因此一旦用户多起来,系统的运行效果就会很差。因此,这种技术开发的系统无法支持许多客户端同时使用。(3)一旦发生网络抖动,系统就在画面中表现出来了,这种技术没有对网络抖动采取规避措施,造成动画效果经常一颤一抖的。图1是传统的互联网动画应用系统对交互数据的处理方法。由于以上原因,在现在QOS较差的状况下采用这种技术难以开发出流畅、优秀的、支持多用户的网上动画应用来。虽然该技术能实时的保证各客户端运行状态在每个瞬间的一致性,在实时性要求很强的系统里,如实时战斗游戏,很多都采用这种技术,但在互联网QOS较差的状况下很多动画应用都无法采用它来开发。实际上,在互联网上有很多很有应用前景、应用范围很广的应用并不要求要非常实时。比如动画聊天室系统,人物在上面能走动,能做各种各样的动作和表情,形象的显示谈话内容,这种系统不要求非常实时,不需要一个动作必须在很短的时间内必须完成,但要求动画做的很流畅、逼真,操作能及时得到响应,使人用起来觉得很好,而且需支持许多用户同时使用。类似的还有动画式的网上商场、动画式的网上学校等等,在未来的互联网上,将会有非常多这种虚拟现实的网上应用出现。在现在互联网QOS较差的状况下,采用传统的互联网数据处理技术是行不通的。为实现上述目的,本专利技术提出,其特征是包括如下步骤1)客户端接收用户输入的动作请求,判断该动作是会与其他动作发生冲突。2)对于不会与其它动作发生冲突的动作请求,发起动作的客户端把动作传到服务器,服务器再简单的转发给各个客户端,各个客户端对动作做出处理——包括计算和显示动画内容;其中发起动作的客户端可在上报动作前,或者在服务器把动作转发过来后对动作做出处理——包括计算和显示动画内容;也可以发起动作的客户端对动作做出处理的同时,直接把动作转发给其它客户端来处理——包括计算和显示动画内容。3)对于会与其它动作发生冲突的动作请求,各客户端发起时,统一向服务器上报,服务器定时的启动计算对动作请求进行处理,把结果送给客户端;客户端平滑的向服务器的计算结果做同步,显示动画内容。服务器还可以在定时的启动计算对动作请求进行处理的同时,又在收到动作请求时实时地启动计算,解决物体间行为、状态的冲突,计算出当时时刻物体应处的状态,分发给各个客户端来同步;所有客户端都以服务器的计算结果为准。在多数的动画系统开发中,在发起动作的客户端把动作传到服务器的同时,该客户端根据动作采用相应的缓冲行动,这样使客户端的操作请求得到及时的响应。采用以上的方案后,系统中各个物体的冲突得以很好解决,客户端发起一个操作请求时不需等待其它客户端的应答,消除了多客户端对系统的影响,还因采用了客户端不断平滑同步服务器状态的技术使动画效果具有很好的连贯性和平滑性,较好的克服了网络抖动对系统造成的影响。采用这样的技术可以在现在互联网QOS较差的情况下来开发出流畅的动画应用系统。如果服务器进行实时启动计算的处理,则可以达到更加实时的效果;如果客户端做出缓冲动作则能使用户发出的动作请求被立即得到响应,动画效果更平滑。图2是本专利技术对不会引起冲突的动作的处理方法流程示意图。图3是本专利技术对会引起冲突的动作在服务器端的处理流程示意图。图4是本专利技术对会引起冲突的动作在客户端的处理流程示意图。为描述的方便,先定义几个文中用到的名词物体应用系统中的动画实物。本文只关心受操作者命令(包括点击鼠标、下命令等)使唤的实物,文中提到的物体也均指这些。状态应用系统中的物体所在的位置和其当时的情形。如系统中人物的位置和它所正在做的事情等。通过状态来唯一表示出物体当时的所有特征。行为状态的变迁。如人在行走,人伸手拿杯子等。动作驱动物体的状态发生改变,也即行为的驱动。如点击鼠标让小人走动等。数据结构存储有特定含义的数据的单元,它储存在计算机的存储器中。本专利技术对两种不同的动作采用不同的方法来处理。在一个应用系统中,有些动作是和系统中本物体及其它物体的状态不会发生冲突的,也就是说这动作和其它的动作是无关系的(包括时间先后关系),如聊天室中某人物说话动作,它不会跟其他人的位置或动作发生冲突。又如人物做微笑表情等。对于这种动作,处理方法是客户端发起动作时,把动作传到服务器,服务器再简单的转发给各个客户端,各个客户端对动作做出处理。其中发起动作的客户端可在上报动作前,或者在服务器把动作转发过来后对动作做处理,如图2所示。有些系统甚至可采用发起动作的客户端直接把动作转发给其它的客户端处理,而不经过服务器转发的方法。第二种动作是会和物体的状态发生冲突的,也就是说和其它的动作有关系的,比如人走路的动作(假设两个人位置不能重叠)、人拿杯子的动作(假设两个人不能同时拿一个杯子)等。对于这种动作,需要解决它们之间的冲突关系等,处理比较复杂。下文将对此种情况展开详细描述。为简便,下文所提到的动作无特别说明均指第二种动作,提到的状态也无特别说明的话均指与这种动作有关系的状态。服务器为系统的计算中心。客户端发起操作动作请求时,立即向服务器汇报。服务器收到动作请求后,启动计算本文档来自技高网...

【技术保护点】
一种在互联网上实现交互式动画系统的方法,其特征是包括如下步骤: 1)客户端接收用户输入的动作请求,判断该动作是否会与其他动作发生冲突; 2)对于不会与其它动作发生冲突的动作请求,发起动作的客户端把动作传到服务器,服务器再简单的转发给各个客户端,各个客户端对动作做出处理--包括计算和显示动画内容;其中发起动作的客户端可在上报动作前,或者在服务器把动作转发过来后对动作做出处理--包括计算和显示动画内容;也可以发起动作的客户端对动作做出处理的同时,直接把动作转发给其它客户端来处理--包括计算和显示动画内容; 3)对于会与其它动作发生冲突的动作请求,各客户端发起时,统一向服务器上报,服务器定时的启动计算对动作请求进行处理,把结果送给客户端;客户端平滑的向服务器的计算结果做同步,显示动画内容。

【技术特征摘要】

【专利技术属性】
技术研发人员:利文劲
申请(专利权)人:利文劲
类型:发明
国别省市:94[中国|深圳]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1