CN108022286A - 画面渲染方法、装置及存储介质 - Google Patents
画面渲染方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108022286A CN108022286A CN201711244459.6A CN201711244459A CN108022286A CN 108022286 A CN108022286 A CN 108022286A CN 201711244459 A CN201711244459 A CN 201711244459A CN 108022286 A CN108022286 A CN 108022286A
- Authority
- CN
- China
- Prior art keywords
- destination object
- rendering
- current
- frame
- gradual change
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种画面渲染方法,其包括:获取当前目标对象移动操作指令;根据当前目标对象移动操作指令以及预设算法,生成目标对象移动模型;根据目标对象移动模型和目标对象的当前逻辑位置,确定目标对象的下一逻辑位置;根据目标对象移动模型和目标对象的下一逻辑位置,确定目标对象的下一趋势位置;根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,其中位置渐变画面渲染操作生成目标对象的多个位置渐变渲染帧。本发明还提供一种画面渲染装置,本发明的画面渲染方法及渲染装置通过位置渐变画面渲染操作的方式,最大程度的保证了用户游戏操作的即时执行,消除了用户游戏操作时的手感延迟;同时可以较好的应对网络环境的抖动,保证了游戏在所有游戏客户端的流畅运行。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种画面渲染方法、装置及存储介质。
背景技术
帧同步技术是一种网络游戏数据同步技术,其中游戏逻辑(如虚拟人物移动操作指令或虚拟人物技能操作指令等)完全在客户端进行计算,同一游戏下的每个游戏终端通过游戏逻辑帧完成网络游戏数据的同步。在每一个游戏逻辑帧中,每个游戏终端具有相同的初始状态,根据相同的输入数据进行计算,能够得到完全一致的结果,并以此结果作为下一个游戏逻辑帧的初始状态。
这里设定T1至T5为均匀间隔时间段的时间点,如游戏客户端A生成执行时间为T2-T4的逻辑帧,游戏服务器会在T3时刻接收到该逻辑帧,游戏服务器会在T4时刻将该逻辑帧以及T2-T4时刻接收到同一游戏场景中其他游戏客户端的逻辑帧进行打包,然后同步给该游戏场景中的所有游戏客户端,最后所有游戏客户端在T5时刻同时执行上述逻辑帧,并进行游戏画面渲染。
由于上述逻辑帧会严格按照时间轴依次执行,如某个游戏客户端的网络环境发生抖动,则很难保证该游戏客户端可在T5时刻完整接收到上述逻辑帧。因此为了保证游戏的流畅运行,现有的帧同步技术往往会对接收到的逻辑帧进行缓冲操作,即上述逻辑帧会延迟A时间执行,即游戏客户端会在(T5+A)时刻执行上述逻辑帧,这样即使游戏客户端的网络环境发生抖动,通过A时间的缓冲,也能较好的保证游戏在所有游戏客户端的流畅运行。
但是上述延迟A时间的设置虽然可以保证游戏的流畅运行,但是如A设置的较大,用户游戏操作时的手感延迟也会增大,即用户会感觉游戏操作有延迟感。
发明内容
本发明实施例提供一种消除了游戏操作的延迟感且可保证游戏流畅运行的画面渲染方法及装置,以解决现有的画面渲染方法及装置的游戏运行流畅度较差或游戏操作的延迟感较大的技术问题。
本发明实施例提供一种画面渲染方法,其包括:
获取当前目标对象移动操作指令;
根据所述当前目标对象移动操作指令以及预设算法,计算所述当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;
根据所述目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;
根据所述目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;以及
根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行所述目标对象的位置渐变画面渲染操作,其中所述位置渐变画面渲染操作生成所述目标对象的多个位置渐变渲染帧。
本发明实施例还提供一种画面渲染装置,其包括:
移动操作指令获取模块,用于获取当前目标对象移动操作指令;
目标对象移动模型生成模块,用于根据所述当前目标对象移动操作指令以及预设算法,计算所述当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;;
下一逻辑位置确定模块,用于根据所述目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;
下一趋势位置确定模块,用于根据所述目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;以及
位置渐变画面渲染模块,用于根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行所述目标对象的位置渐变画面渲染操作,其中所述位置渐变画面渲染操作生成所述目标对象的多个位置渐变渲染帧。
在本发明所述的画面渲染装置中,所述画面渲染装置包括:初始设置模块,用于设置所述目标对象的初始渲染位置以及初始逻辑位置;并根据所述初始逻辑位置以及第一目标对象移动操作指令,设置所述目标对象的初始趋势位置。
在本发明所述的画面渲染装置中,所述画面渲染装置包括:渲染位置修正模块,用于当所述目标对象的当前渲染位置与下一逻辑位置的位置差异值大于第一设定值时,则使用所述目标对象的下一逻辑位置对所述目标对象的当前渲染位置进行修正。
在本发明所述的画面渲染装置中,所述下一趋势位置确定模块用于以所述目标对象的下一逻辑位置为运动起点,所述目标对象移动模型为运动参数,预设趋势时间为运动时间,计算所述目标对象的第二运动终点,并将所述第二运动终点设定为目标对象的下一趋势位置。
在本发明所述的画面渲染装置中,所述位置渐变画面渲染模块用于根据所述当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型,对所述位置渐变渲染帧的渲染位置进行修正。
在本发明所述的画面渲染装置中,所述位置渐变画面渲染模块包括:
逻辑投影位置获取单元,用于以设定时间间隔,获取逻辑投影位置,其中所述逻辑投影位置为下一逻辑位置在当前渲染位置和下一趋势位置的连线所在直线的投影位置;
渲染位置间距增加单元,用于当所述逻辑投影位置位于当前渲染位置和下一趋势位置的连线上,则基于所述目标对象移动模型计算所述位置渐变渲染帧的渲染位置,并使用预设增大系数对增加相邻所述位置渐变渲染帧的渲染位置之间的间距;以及
渲染位置间距减少单元,用于当所述逻辑投影位置位于当前渲染位置和下一趋势位置的连线外,则基于所述目标对象移动模型计算所述位置渐变渲染帧的渲染位置。并使用预设减小系数对减小相邻所述位置渐变渲染帧的渲染位置之间的间距。
在本发明所述的画面渲染装置中,所述位置渐变画面渲染模块包括:
连线长度获取单元,用于以设定时间间隔,获取当前渲染位置和下一趋势位置连线的第一连线长度、以及下一逻辑位置和下一趋势位置连线的第二连线长度;以及
渲染位置间距计算单元,用于根据所述第一连线长度和所述第二连线长度的长度比值以及所述目标对象移动模型,计算相邻所述位置渐变渲染帧的渲染位置的间距。
本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述画面渲染方法。
相较于现有技术,本发明的画面渲染方法、装置及存储介质通过位置渐变画面渲染操作的方式,最大程度的保证了用户游戏操作的即时执行,消除了用户游戏操作时的手感延迟,也不需要使用设置缓冲存储器对逻辑帧进行缓冲处理;同时可以较好的应对网络环境的抖动,保证了游戏在所有游戏客户端的流畅运行;有效的解决了现有的画面渲染方法及装置的游戏运行流畅度较差或游戏操作的延迟感较大的技术问题。
附图说明
图1为本发明的画面渲染方法的第一实施例的流程图;
图2为本发明的画面渲染方法的第二实施例的流程图;
图3A为本发明的画面渲染方法的第二实施例的渲染位置修正的流程图之一;
图3B为本发明的画面渲染方法的第二实施例的渲染位置修正示意图之一;
图4A为本发明的画面渲染方法的第二实施例的渲染位置修正的流程图之二;
图4B为本发明的画面渲染方法的第二实施例的渲染位置修正示意图之二;
图5为本发明的画面渲染装置的第一实施例的结构示意图;
图6为本发明的画面渲染装置的第二实施例的结构示意图;
图7为本发明的画面渲染装置的第二实施例的位置渐变画面渲染模块的结构示意图之一;
图8为本发明的画面渲染装置的第二实施例的位置渐变画面渲染模块的结构示意图之二;
图9为本发明的画面渲染方法及画面渲染装置的具体实施例的目标对象的逻辑位置、渲染位置以及趋势位置的变化示意图;
图10为本发明的画面渲染装置所在的电子设备的工作环境结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的画面渲染方法以及画面渲染装置可设置在任何的电子设备中,用于对游戏终端的游戏画面进行渲染操作。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该画面渲染装置优选为个人移动设备终端。本发明的画面渲染方法及画面渲染装置通过位置渐变画面渲染操作,即插值渲染操作的方式,最大程度的保证了用户游戏操作的即时执行,消除了用户游戏操作时的手感延迟,同时还可以较好的应对网络环境的抖动,保证了游戏在所有游戏客户端的流畅运行。
请参照图1,图1为本发明的画面渲染方法的第一实施例的流程图,本实施例的画面渲染方法可使用上述的电子设备进行实施,本实施例的画面渲染方法包括:
步骤S101,获取当前目标对象移动操作指令;
步骤S102,根据当前目标对象移动操作指令以及预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;
步骤S103,根据目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;
步骤S104,根据目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;
步骤S105,根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,其中位置渐变画面渲染操作生成目标对象的多个位置渐变渲染帧。
下面详细说明本实施例的画面渲染方法的游戏画面渲染过程。
在步骤S101中,画面渲染装置(即个人移动设备终端)接收终端用户发出的当前目标对象移动操作指令。该当前目标对象移动操作指令是指用户控制目标对象移动的指令。如这里为帧同步网络游戏,则该当前目标对象移动操作指令需要包括目标对象的移动方向、目标对象的移动速度以及对应的逻辑帧的设定执行时间(该设定执行时间与实际执行时间不一定相同,但是所有的逻辑帧必须严格按照逻辑帧的设定执行时间进行目标对象逻辑位置的设定)。相邻逻辑帧的设定执行时间的间隔应该是相同的。这里的目标对象可为游戏应用画面中的虚拟人物等。
这里的当前目标对象移动操作指令可以直接包括目标对象的移动方向以及移动速度,如目标对象按正北方向以每秒10厘米的速度进行移动。
该当前目标对象移动操作指令也可以是基于当前目标对象的移动方向的方向调整指令,以及基于当前目标对象的移动速度的速度调整指令,如将目标对象的移动方向顺时针转动10度,将目标对象的移动速度提高10%,或将目标对象移动速度提高100%,在未来3秒钟逐步降低到正常移动速度等。
进一步的,该当前目标对象移动操作指令也可仅包括移动方向的调整调取指令以及移动速度的调整调取指令,即个人移动设备终端中已经内设好多种移动方向调整机制,如目标对象释放“位移技能”,则该当前目标对象移动操作指令仅仅执行为执行该位移技能即可。如目标对象释放“回城技能”,则当前目标对象移动操作指令仅仅执行设定时间后,将目标对象的逻辑位置设置会基地原点位置。
在步骤S102中,画面渲染装置根据步骤S101中获取的当前目标对象移动操作指令以及画面渲染装置所在个人移动设备终端内设的预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度。
具体的,画面渲染装置根据当前目标对象移动操作指令以及上述预设算法生成目标对象移动模型,即通过预设算法执行上述当前目标对象移动操作指令,以获得用于计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度的目标对象移动模型。
由于该当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度不一定固定,因此该目标对象移动模型并非是一个定值,而是包含了目标对象在对应逻辑帧期间的所有移动方向以及在对应逻辑帧期间的所有移动速度的函数。
在步骤S103中,画面渲染装置根据步骤S102获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及目标对象的当前逻辑位置,确定目标对象的下一逻辑位置。这里的目标对象的逻辑位置是指严格按照逻辑帧的设定执行时间对目标对象执行对应的目标对象移动操作指令确定的目标对象的在游戏画面中的位置。
这样每一逻辑帧对应的逻辑位置,均由上一逻辑帧对应的逻辑位置以及当前逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。
具体的,画面渲染装置可以目标对象的当前逻辑位置为运动起点,目标对象移动模型为运动参数,固定间隔时间(即相邻逻辑帧的设定执行时间差)为运动时间,计算目标对象的第一运动终点,并将第一运动终点设定为目标对象的下一逻辑位置。
在步骤S104中,画面渲染装置根据步骤S102获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及步骤S103获取的目标对象的下一逻辑位置,确定目标对象的下一趋势位置。这里的目标对象的趋势位置是指基于目标对象的下一逻辑位置,并默认下一目标对象移动操作指令与当前目标对象移动操作指令的差异较小的基础上,对目标对象未来的逻辑位置的预测位置。
这样每一逻辑帧对应的虚拟位置,均有逻辑帧对应的逻辑位置以及逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。
具体的,画面渲染装置可以目标对象的下一逻辑位置为运动起点,目标对象移动模型为运动参数,预设趋势时间为运动时间,计算目标对象的第二运动终点,并将第二运动终点设定为目标对象的下一趋势位置。这里的预设趋势时间可根据用户的要求进行调整,只要大于相邻逻辑帧的设定执行时间差,可以对目标对象的运动轨迹进行一定的预测即可。
在步骤S105中,画面渲染装置根据步骤S104获取的目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染。
这里的当前渲染位置是指目标对象在当前游戏画面中的渲染位置。由于网络环境抖动等问题,目标对象移动操作指令并非可以严格按照逻辑帧的设定执行时间进行执行,因此可能会导致在110ms时应该执行的目标对象移动操作指令,在120ms时才到达画面渲染装置,这样即使画面渲染装置按该目标对象移动操作指令进行目标对象的画面渲染,也无法实现当前渲染位置与当前逻辑位置严格一致。
但是如当前渲染位置与当前逻辑位置(或下一逻辑位置)差异不大时,由于游戏用户对目标对象的表现位置、重叠碰撞以及打击动作精度等细节的要求不高,游戏用户对上述差异是具有一定容忍度的。因此游戏用户是可以接受当前渲染位置与当前逻辑位置之间具有一定范围内的差异。
但是在本步骤中,为了使得下一渲染位置和下一逻辑位置之间的差异不会继续增大,画面渲染装置直接根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,即生成目标对象的多个位置渐变渲染帧。
具体为:以渲染帧的帧间隔为渲染间隔时间,当前渲染位置以及下一趋势位置的连线方向为移动方向,基于目标对象移动模型,生成每个位置渐变渲染帧对应的渲染位置,并在该渲染位置上生成该目标对象的位置渐变渲染帧。这些位置渐变渲染帧可以实现由当前渲染位置至下一趋势位置之间的渲染画面的画面渲染操作。即渲染位置与下一逻辑位置之间的位置差异值一直较小,这样游戏用户还是感觉目标对象以下一逻辑位置为方向,朝着下一趋势位置移动的。
如目标对象的当前渲染位置与下一逻辑位置的位置差异值大于一较大的第一设定值,即目标对象的渲染位置与逻辑位置的偏差过大,如采用位置渐变画面渲染操作,则会出现目标对象的移动速度异常,影响游戏用户的体验。这时则可直接以目标对象的下一逻辑位置对目标对象的当前渲染位置进行修正,即使得目标对象在当前目标对象移动操作指令设定的时间点的渲染位置直接跳变到下一逻辑位置,以避免渲染位置与对应的逻辑位置之间的位置差异值过大。
这样即完成本实施例的画面渲染方法的游戏画面渲染过程。
本实施例的画面渲染方法不是根据逻辑帧的接收时间进行画面帧的渲染,而是直接根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行位置渐变画面渲染操作,这样在尽量不影响用户体验的基础上,保证了游戏的流畅运行。同时由于不存在游戏运行卡顿的问题,这里也不需要对逻辑帧进行延时缓冲操作,从而消除了用户游戏操作时的手感延迟。
请参照图2,图2为本发明的画面渲染方法的第二实施例的流程图,本实施例的画面渲染方法可使用上述的电子设备进行实施,本实施例的画面渲染方法包括:
步骤S201,设置目标对象的初始渲染位置以及初始逻辑位置;并根据初始逻辑位置以及第一目标对象移动操作指令,设置目标对象的初始趋势位置;
步骤S202,获取当前目标对象移动操作指令;
步骤S203,根据当前目标对象移动操作指令以及预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;
步骤S204,根据目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;
步骤S205,根据目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;
步骤S206,根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,其中位置渐变画面渲染操作生成目标对象的多个位置渐变渲染帧。
下面详细说明本实施例的画面渲染方法的游戏画面渲染过程。
在步骤S201中,画面渲染装置设置目标对象的初始渲染位置以及初始逻辑位置,一般目标对象的初始渲染位置以及初始逻辑位置均位于游戏开始画面中的游戏起始位置。
随后画面渲染装置获取第一目标对象移动操作指令(即游戏用户发出的第一个目标对象移动操作指令),随后画面渲染装置根据上述初始逻辑位置以及第一目标对象移动操作指令,设置目标对象的初始趋势位置。即以目标对象的初始逻辑位置运动起点,第一目标对象移动操作指令对应的目标对象移动模型为运动参数,预设趋势时间为运动时间,计算目标对象的运动终点,并将该运动终点设定为目标对象的初始趋势位置。
在步骤S202中,由于在步骤S201中已经获取了目标对象的初始逻辑位置、初始渲染位置以及初始趋势位置,画面渲染装置后续可接收终端用户发出的当前目标对象移动操作指令。该当前目标对象移动操作指令是指用户控制目标对象移动的指令。具体请参照画面渲染方法的第一实施例的步骤S101。
在步骤S203中,画面渲染装置根据步骤S202中获取的当前目标对象移动操作指令以及画面渲染装置所在个人移动设备终端内设的预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度。
具体的,画面渲染装置根据当前目标对象移动操作指令以及上述预设算法生成目标对象移动模型,即通过预设算法执行上述当前目标对象移动操作指令,以获得用于计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度的目标对象移动模型。具体请参照画面渲染方法的第一实施例的步骤S102。
在步骤S204中,画面渲染装置根据步骤S203获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及目标对象的当前逻辑位置,确定目标对象的下一逻辑位置。这里的目标对象的逻辑位置是指严格按照逻辑帧的设定执行时间对目标对象执行对应的目标对象移动操作指令确定的目标对象的在游戏画面中的位置。
这样每一逻辑帧对应的逻辑位置,均由上一逻辑帧对应的逻辑位置以及当前逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。具体请参照画面渲染方法的第一实施例的步骤S103。
在步骤S205中,画面渲染装置根据步骤S203获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及步骤S204获取的目标对象的下一逻辑位置,确定目标对象的下一趋势位置。这里的目标对象的趋势位置是指基于目标对象的下一逻辑位置,并默认下一目标对象移动操作指令与当前目标对象移动操作指令的差异较小的基础上,对目标对象未来的逻辑位置的预测位置。
这样每一逻辑帧对应的虚拟位置,均有逻辑帧对应的逻辑位置以及逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。具体请参照画面渲染方法的第一实施例的步骤S104。
在步骤S206中,画面渲染装置根据步骤S205获取的目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染。
为了使得下一目标对象移动操作指令对应的当前渲染位置和下一逻辑位置之间的差异不会继续增大,画面渲染装置直接根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,即生成目标对象的多个位置渐变渲染帧。
具体为:以渲染帧的帧间隔为渲染间隔时间,当前渲染位置以及下一趋势位置的连线方向为移动方向,基于目标对象移动模型,生成每个位置渐变渲染帧对应的渲染位置,并在该渲染位置上生成该目标对象的位置渐变渲染帧。这些位置渐变渲染帧可以实现由当前渲染位置至下一趋势位置之间的渲染画面的画面渲染操作。即渲染位置与下一逻辑位置之间的位置差异值一直较小,这样游戏用户还是感觉目标对象以下一逻辑位置为方向,朝着下一趋势位置移动的。
进一步的,画面渲染装置还可根据当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型,对上述位置渐变渲染帧的渲染位置进行修正。请参照图3A和图3B,图3A为本发明的画面渲染方法的第二实施例的渲染位置修正的流程图之一,图3B为本发明的画面渲染方法的第二实施例的渲染位置修正示意图之一。该渲染位置修正的流程包括:
步骤S301,画面渲染装置以设定时间间隔,获取逻辑投影位置,其中逻辑投影位置为下一逻辑位置在当前渲染位置和下一趋势位置的连线所在直线的投影位置。这样可通过逻辑投影位置可获取下一逻辑位置与下一趋势位置的距离,和当前渲染位置与下一趋势位置的距离的差异。
这里的设定时间间隔可为渲染帧的帧间隔时间,以便对每个位置渐变渲染帧的渲染位置进行修正。
步骤S302,当逻辑投影位置位于当前渲染位置和下一趋势位置的连线上时,说明当前渲染位置与下一趋势位置之间的距离较大,下一逻辑位置与下一趋势位置之间的距离较小。这时画面渲染装置根据步骤S203获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后画面渲染装置使用预设增大系数,增加相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
步骤S303,当逻辑投影位置位于当前渲染位置和下一趋势位置的连线外时,说明当前渲染位置与下一趋势位置之间的距离较小,下一逻辑位置与下一趋势位置之间的具体较大。这是画面渲染装置根据步骤S203获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后画面渲染装置使用预设减小系数,减小相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
由于每一个位置渐变渲染帧形成时,均会基于当前位置渐变渲染帧的渲染位置、下一趋势位置以及下一逻辑位置,对下一个位置渐变渲染帧的渲染位置进行计算。因此这里可将预设增大系数和预设减小系数设置为一较小的定值,在游戏用户感知不到目标对象移动速度变化的基础上,使得目标对象的渲染位置与目标对象的逻辑位置尽可能的靠近。当然这里也可根据当前渲染位置与下一趋势位置之间的距离、和下一逻辑位置与下一趋势位置之间的距离的差异,将预设增大系数和预设减小系数设定为一变化值,使得目标对象的渲染位置更加靠近对应的逻辑位置。
请参照图3B,其中当前渲染位置为R1,下一趋势位置为Q1(用于表示渲染位置的移动方向),下一逻辑位置为L1,这里可以R1-Q1连线为Y轴,经过R1的与R1-Q1连线垂直的直线为X轴建立一坐标系。当下一逻辑位置L1在Y轴上的投影位于R1-Q1连线上,即下一逻辑位置L1处于该坐标系的第一、四象限,则表示当前渲染位置R1滞后于下一逻辑位置L1,则需要增加相邻位置渐变渲染帧的渲染位置之间的间距。当下一逻辑位置L1在Y轴上的投影位于R1-Q1连线外,即下一逻辑位置L1处于该坐标系的第二、三象限,则表示当前渲染位置R1超前于下一逻辑位置L1,则需要减小相邻位置渐变渲染帧的渲染位置之间的间距。
通过对每个位置渐变渲染帧的渲染位置的修正,画面渲染装置尽量让当前渲染位置和当前逻辑位置的位置差异保持在一个可接受的范围内,具体的预设增大系数和预设减小系数可根据游戏类型和网络状况进行调整。
请参照图4A,图4A为本发明的画面渲染方法的第二实施例的渲染位置修正的流程图之二,图4B为本发明的画面渲染方法的第二实施例的渲染位置修正示意图之二。该渲染位置修正的流程包括:
步骤S401,画面渲染装置以设定时间间隔,获取当前渲染位置和下一趋势位置连线的第一连线长度、以及下一逻辑位置和下一趋势位置连线的第二连线长度。这样可通过第一连线长度和第二连线长度的差异,获取下一逻辑位置与下一趋势位置的距离,和当前渲染位置与下一趋势位置的距离的差异。
这里的设定时间间隔可为渲染帧的帧间隔时间,以便对每个位置渐变渲染帧的渲染位置进行修正。
步骤S402,画面渲染装置根据第一连线长度和第二连线长度的长度比值以及目标对象移动模型,计算相邻位置渐变渲染帧的渲染位置的间距。
当第一连线长度大于第二连线长度时,说明当前渲染位置与下一趋势位置之间的距离较大,下一逻辑位置与下一趋势位置之间的距离较小。这时画面渲染装置根据步骤S203获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后画面渲染装置使用第一连线长度和第二连线长度的长度比值为增大系数,增加相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
当第一连线长度小于第二连线长度时,说明当前渲染位置与下一趋势位置之间的距离较小,下一逻辑位置与下一趋势位置之间的距离较大。这时画面渲染装置根据步骤S203获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后画面渲染装置使用第一连线长度和第二连线长度的长度比值为减小系数,减小相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
由于每一个位置渐变渲染帧形成时,均会基于当前位置渐变渲染帧的渲染位置、下一趋势位置以及下一逻辑位置,对下一个位置渐变渲染帧的渲染位置进行计算。因此这里根据第一连线长度和第二连线长度的长度比值来设定增大系数以及减小系数,使得目标对象的渲染位置更加靠近对应的逻辑位置。
请参照图4B,其中当前渲染位置为R2,下一趋势位置为Q2(用于表示渲染位置的移动方向),下一逻辑位置为L2。这里画面渲染装置将R2-Q2连线的连线长度设定为第一连线长度,将L2-Q2连线的连线长度设定为第二连线长度。当第一连线长度大于第二连线长度,则表示当前渲染位置R2滞后于下一逻辑位置L2,则需要根据第一连线长度和第二连线长度的长度比值来设定增大系数,以增加相邻位置渐变渲染帧的渲染位置之间的间距。当第一连线长度小于第二连线长度,则表示当前渲染位置R2超前于下一逻辑位置L2,则需要根据第一连线长度和第二连线长度的长度比值来设定减小系数,以减小相邻位置渐变渲染帧的渲染位置之间的间距。
通过对每个位置渐变渲染帧的渲染位置的修正,画面渲染装置尽量让当前渲染位置和当前逻辑位置的位置差异保持在一个可接受的范围内,具体的增大系数和减小系数可根据游戏类型和网络状况进行调整。
如目标对象的当前渲染位置与下一逻辑位置的位置差异值大于一较大的第一设定值,即目标对象的渲染位置与逻辑位置的偏差过大,如采用位置渐变画面渲染操作,则会出现目标对象的移动速度异常,影响游戏用户的体验。这时则可直接以目标对象的下一逻辑位置对目标对象的当前渲染位置进行修正,即使得目标对象在当前目标对象移动操作指令设定的时间点的渲染位置直接跳变到下一逻辑位置,以避免渲染位置与对应的逻辑位置之间的位置差异值过大。
这样即完成了本实施例的画面渲染方法的游戏画面渲染过程。
在第一实施例的基础上,本实施例的画面渲染方法还可基于当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型对每个位置渐变渲染帧的渲染位置进行修正,使得在游戏用户不察觉的情况下,将目标对象的渲染位置更加靠近对应的逻辑位置,进一步提高了目标对象的游戏画面渲染的准确性。
请参照图5,图5为本发明的画面渲染装置的第一实施例的结构示意图,本实施例的画面渲染装置可使用上述的画面渲染方法的第一实施例进行实施,本实施例的画面渲染装置50包括移动操作指令获取模块51、目标对象移动模型生成模块52、下一逻辑位置确定模块53、下一趋势位置确定模块54、位置渐变画面渲染模块55以及渲染位置修正模块56。
移动操作指令获取模块51用于获取当前目标对象移动操作指令;目标对象移动模型生成模块52用于根据当前目标对象移动操作指令以及预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;具体的,目标对象移动模型生成模块52用于根据当前目标对象移动操作指令以及上述预设算法生成目标对象移动模型,其中目标对象移动模型用于计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;下一逻辑位置确定模块53用于根据目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;下一趋势位置确定模块54用于根据目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;位置渐变画面渲染模块55用于根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,其中位置渐变画面渲染操作生成所述目标对象的多个位置渐变渲染帧;渲染位置修正模块56用于当目标对象的当前渲染位置与下一逻辑位置的位置差异值大于第一设定值时,则使用目标对象的下一逻辑位置对目标对象的当前渲染位置进行修正。
本实施例的画面渲染装置50使用时,首先移动操作指令获取模块51接收终端用户发出的当前目标对象移动操作指令。该当前目标对象移动操作指令是指用户控制目标对象移动的指令。如这里为帧同步网络游戏,则该当前目标对象移动操作指令需要包括目标对象的移动方向、目标对象的移动速度以及对应的逻辑帧的设定执行时间(该设定执行时间与实际执行时间不一定相同,但是所有的逻辑帧必须严格按照逻辑帧的设定执行时间进行目标对象逻辑位置的设定)。相邻逻辑帧的设定执行时间的间隔应该是相同的。这里的目标对象可为游戏应用画面中的虚拟人物等。
这里的当前目标对象移动操作指令可以直接包括目标对象的移动方向以及移动速度,如目标对象按正北方向以每秒10厘米的速度进行移动。
该当前目标对象移动操作指令也可以是基于当前目标对象的移动方向的方向调整指令,以及基于当前目标对象的移动速度的速度调整指令,如将目标对象的移动方向顺时针转动10度,将目标对象的移动速度提高10%,或将目标对象移动速度提高100%,在未来3秒钟逐步降低到正常移动速度等。
进一步的,该当前目标对象移动操作指令也可仅包括移动方向的调整调取指令以及移动速度的调整调取指令,即个人移动设备终端中已经内设好多种移动方向调整机制,如目标对象释放“位移技能”,则该当前目标对象移动操作指令仅仅执行为执行该位移技能即可。如目标对象释放“回城技能”,则当前目标对象移动操作指令仅仅执行设定时间后,将目标对象的逻辑位置设置会基地原点位置。
随后目标对象移动模型生成模块52根据移动操作指令获取模块51获取的当前目标对象移动操作指令以及画面渲染装置所在个人移动设备终端内设的预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度。
具体的,目标对象移动模型生成模块52根据当前目标对象移动操作指令以及上述预设算法生成目标对象移动模型,即通过预设算法执行上述当前目标对象移动操作指令,以获得用于计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度的目标对象移动模型。
由于该当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度不一定固定,因此该目标对象移动模型并非是一个定值,而是包含了目标对象在对应逻辑帧期间的所有移动方向以及在对应逻辑帧期间的所有移动速度的函数。
然后下一逻辑位置确定模块53根据目标对象移动模型生成模块52获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及目标对象的当前逻辑位置,确定目标对象的下一逻辑位置。这里的目标对象的逻辑位置是指严格按照逻辑帧的设定执行时间对目标对象执行对应的目标对象移动操作指令确定的目标对象的在游戏画面中的位置。
这样每一逻辑帧对应的逻辑位置,均由上一逻辑帧对应的逻辑位置以及当前逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。
具体的,下一逻辑位置确定模块53可以目标对象的当前逻辑位置为运动起点,目标对象移动模型为运动参数,固定间隔时间(即相邻逻辑帧的设定执行时间差)为运动时间,计算目标对象的第一运动终点,并将第一运动终点设定为目标对象的下一逻辑位置。
随后下一趋势位置确定模块54根据目标对象移动模型生成模块52获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及下一逻辑位置确定模块53获取的目标对象的下一逻辑位置,确定目标对象的下一趋势位置。这里的目标对象的趋势位置是指基于目标对象的下一逻辑位置,并默认下一目标对象移动操作指令与当前目标对象移动操作指令的差异较小的基础上,对目标对象未来的逻辑位置的预测位置。
这样每一逻辑帧对应的虚拟位置,均有逻辑帧对应的逻辑位置以及逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。
具体的,下一趋势位置确定模块54可以目标对象的下一逻辑位置为运动起点,目标对象移动模型为运动参数,预设趋势时间为运动时间,计算目标对象的第二运动终点,并将第二运动终点设定为目标对象的下一趋势位置。这里的预设趋势时间可根据用户的要求进行调整,只要大于相邻逻辑帧的设定执行时间差,可以对目标对象的运动轨迹进行一定的预测即可。
最后位置渐变画面渲染模块55根据下一趋势位置确定模块54获取的目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染。
这里的当前渲染位置是指目标对象在当前游戏画面中的渲染位置。由于网络环境抖动等问题,目标对象移动操作指令并非可以严格按照逻辑帧的设定执行时间进行执行,因此可能会导致在110ms时应该执行的目标对象移动操作指令,在120ms时才到达画面渲染装置,这样即使画面渲染装置按该目标对象移动操作指令进行目标对象的画面渲染,也无法实现当前渲染位置与当前逻辑位置严格一致。
但是如当前渲染位置与当前逻辑位置(或下一逻辑位置)差异不大时,由于游戏用户对目标对象的表现位置、重叠碰撞以及打击动作精度等细节的要求不高,游戏用户对上述差异是具有一定容忍度的。因此游戏用户是可以接受当前渲染位置与当前逻辑位置之间具有一定范围内的差异。
但是在本步骤中,为了使得下一渲染位置和下一逻辑位置之间的差异不会继续增大,位置渐变画面渲染模块55直接根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,即生成目标对象的多个位置渐变渲染帧。
具体为:以渲染帧的帧间隔为渲染间隔时间,当前渲染位置以及下一趋势位置的连线方向为移动方向,基于目标对象移动模型,生成每个位置渐变渲染帧对应的渲染位置,并在该渲染位置上生成该目标对象的位置渐变渲染帧。这些位置渐变渲染帧可以实现由当前渲染位置至下一趋势位置之间的渲染画面的画面渲染操作。即渲染位置与下一逻辑位置之间的位置差异值一直较小,这样游戏用户还是感觉目标对象以下一逻辑位置为方向,朝着下一趋势位置移动的。
如目标对象的当前渲染位置与下一逻辑位置的位置差异值大于一较大的第一设定值,即目标对象的渲染位置与逻辑位置的偏差过大,如采用位置渐变画面渲染操作,则会出现目标对象的移动速度异常,影响游戏用户的体验。这时渲染位置修正模块则可直接以目标对象的下一逻辑位置对目标对象的当前渲染位置进行修正,即使得目标对象在当前目标对象移动操作指令设定的时间点的渲染位置直接跳变到下一逻辑位置,以避免渲染位置与对应的逻辑位置之间的位置差异值过大。
这样即完成本实施例的画面渲染装置50的游戏画面渲染过程。
本实施例的画面渲染装置不是根据逻辑帧的接收时间进行画面帧的渲染,而是直接根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行位置渐变画面渲染操作,这样在尽量不影响用户体验的基础上,保证了游戏的流畅运行。同时由于不存在游戏运行卡顿的问题,这里也不需要对逻辑帧进行延时缓冲操作,从而消除了用户游戏操作时的手感延迟。
请参照图6,图6为本发明的画面渲染装置的第二实施例的结构示意图,本实施例的画面渲染装置可使用上述的画面渲染方法的第二实施例进行实施,本实施例的画面渲染装置60包括初始设置模块61、移动操作指令获取模块62、目标对象移动模型生成模块63、下一逻辑位置确定模块64、下一趋势位置确定模块65、位置渐变画面渲染模块66以及渲染位置修正模块67。
初始设置模块61用于设置目标对象的初始渲染位置以及初始逻辑位置;并根据初始逻辑位置以及第一目标对象移动操作指令,设置目标对象的初始趋势位置;移动操作指令获取模块62用于获取当前目标对象移动操作指令;目标对象移动模型生成模块63用于根据当前目标对象移动操作指令以及预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度,具体的,目标对象移动模型生成模块63用于根据当前目标对象移动操作指令以及预设算法,生成目标对象移动模型;其中目标对象移动模型用于计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;下一逻辑位置确定模块64用于根据目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;下一趋势位置确定模块65用于根据目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;位置渐变画面渲染模块66用于根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,其中位置渐变画面渲染操作生成目标对象的多个位置渐变渲染帧;渲染位置修正模块67用于当目标对象的当前渲染位置与下一逻辑位置的位置差异值大于第一设定值时,则使用目标对象的下一逻辑位置对目标对象的当前渲染位置进行修正。
请参照图7,图7为本发明的画面渲染装置的第二实施例的位置渐变画面渲染模块的结构示意图之一。该位置渐变画面渲染模块66包括逻辑投影位置获取单元71、渲染位置间距增加单元72以及渲染位置间距减少单元73。
逻辑投影位置获取单元71用于以设定时间间隔,获取逻辑投影位置,其中逻辑投影位置为下一逻辑位置在当前渲染位置和下一趋势位置的连线所在直线的投影位置;渲染位置间距增加单元72用于当逻辑投影位置位于当前渲染位置和下一趋势位置的连线上,则基于目标对象移动模型计算位置渐变渲染帧的渲染位置,并使用预设增大系数对增加相邻位置渐变渲染帧的渲染位置之间的间距;渲染位置间距减少单元73用于当逻辑投影位置位于当前渲染位置和下一趋势位置的连线外,则基于目标对象移动模型计算位置渐变渲染帧的渲染位置。并使用预设减小系数对减小相邻位置渐变渲染帧的渲染位置之间的间距。
请参照图8,图8为本发明的画面渲染装置的第二实施例的位置渐变画面渲染模块的结构示意图之二。该位置渐变画面渲染模块66包括连线长度获取单元81以及渲染位置间距计算单元82。
连线长度获取单元81用于以设定时间间隔,获取当前渲染位置和下一趋势位置连线的第一连线长度、以及下一逻辑位置和下一趋势位置连线的第二连线长度;渲染位置间距计算单元82用于根据第一连线长度和第二连线长度的长度比值以及目标对象移动模型,计算相邻位置渐变渲染帧的渲染位置的间距。
本实施例的画面渲染装置60使用时,首先初始设置模块61设置目标对象的初始渲染位置以及初始逻辑位置,一般目标对象的初始渲染位置以及初始逻辑位置均位于游戏开始画面中的游戏起始位置。
随后初始设置模块61获取第一目标对象移动操作指令(即游戏用户发出的第一个目标对象移动操作指令),然后初始设置模块根据上述初始逻辑位置以及第一目标对象移动操作指令,设置目标对象的初始趋势位置。即以目标对象的初始逻辑位置运动起点,第一目标对象移动操作指令对应的目标对象移动模型为运动参数,预设趋势时间为运动时间,计算目标对象的运动终点,并将该运动终点设定为目标对象的初始趋势位置。
随后由于初始设置模块16已经获取了目标对象的初始逻辑位置、初始渲染位置以及初始趋势位置,移动操作指令获取模块62后续可接收终端用户发出的当前目标对象移动操作指令。该当前目标对象移动操作指令是指用户控制目标对象移动的指令。
然后目标对象移动模型生成模块63根据移动操作指令获取模块62获取的当前目标对象移动操作指令以及画面渲染装置所在个人移动设备终端内设的预设算法,计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度。
具体的,目标对象移动模型生成模块63根据当前目标对象移动操作指令以及上述预设算法生成目标对象移动模型,。即通过预设算法执行上述当前目标对象移动操作指令,以获得用于计算当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度的目标对象移动模型。
随后下一逻辑位置确定模块64根据目标对象移动模型生成模块63获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及目标对象的当前逻辑位置,确定目标对象的下一逻辑位置。这里的目标对象的逻辑位置是指严格按照逻辑帧的设定执行时间对目标对象执行对应的目标对象移动操作指令确定的目标对象的在游戏画面中的位置。
这样每一逻辑帧对应的逻辑位置,均由上一逻辑帧对应的逻辑位置以及当前逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。
然后下一趋势位置确定模块65根据目标对象移动模型生成模块63获取的目标对象移动模型(即目标对象的移动方向、移动速度)以及下一逻辑位置确定模块64获取的目标对象的下一逻辑位置,确定目标对象的下一趋势位置。这里的目标对象的趋势位置是指基于目标对象的下一逻辑位置,并默认下一目标对象移动操作指令与当前目标对象移动操作指令的差异较小的基础上,对目标对象未来的逻辑位置的预测位置。
这样每一逻辑帧对应的虚拟位置,均有逻辑帧对应的逻辑位置以及逻辑帧的当前目标对象移动操作指令对应的目标对象移动模型来确定。
最后位置渐变画面渲染模块66根据下一趋势位置确定模块65获取的目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染。
为了使得下一目标对象移动操作指令对应的当前渲染位置和下一逻辑位置之间的差异不会继续增大,位置渐变画面渲染模块66直接根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行目标对象的位置渐变画面渲染操作,即生成目标对象的多个位置渐变渲染帧。
具体为:位置渐变画面渲染模块66以渲染帧的帧间隔为渲染间隔时间,当前渲染位置以及下一趋势位置的连线方向为移动方向,基于目标对象移动模型,生成每个位置渐变渲染帧对应的渲染位置,并在该渲染位置上生成该目标对象的位置渐变渲染帧。这些位置渐变渲染帧可以实现由当前渲染位置至下一趋势位置之间的渲染画面的画面渲染操作。即渲染位置与下一逻辑位置之间的位置差异值一直较小,这样游戏用户还是感觉目标对象以下一逻辑位置为方向,朝着下一趋势位置移动的。
进一步的,位置渐变画面渲染模块66还可根据当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型,对上述位置渐变渲染帧的渲染位置进行修正。如采用逻辑透明位置来进行位置渐变渲染帧的渲染位置的修正,则该渲染位置修正的流程包括:
位置渐变画面渲染模块66的逻辑投影位置获取单元71以设定时间间隔,获取逻辑投影位置,其中逻辑投影位置为下一逻辑位置在当前渲染位置和下一趋势位置的连线所在直线的投影位置。这样可通过逻辑投影位置可获取下一逻辑位置与下一趋势位置的距离,和当前渲染位置与下一趋势位置的距离的差异。
这里的设定时间间隔可为渲染帧的帧间隔时间,以便对每个位置渐变渲染帧的渲染位置进行修正。
当逻辑投影位置位于当前渲染位置和下一趋势位置的连线上时,说明当前渲染位置与下一趋势位置之间的距离较大,下一逻辑位置与下一趋势位置之间的距离较小。这时位置渐变画面渲染模块66的渲染位置间距增加单元72根据目标对象移动模型生成模块获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后渲染位置间距增加单元72使用预设增大系数,增加相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
当逻辑投影位置位于当前渲染位置和下一趋势位置的连线外时,说明当前渲染位置与下一趋势位置之间的距离较小,下一逻辑位置与下一趋势位置之间的具体较大。这时位置渐变画面渲染模块66的渲染位置间距减少单元73根据目标对象移动模型生成模块获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后渲染位置间距减少单元73使用预设减小系数,减小相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
由于每一个位置渐变渲染帧形成时,均会基于当前位置渐变渲染帧的渲染位置、下一趋势位置以及下一逻辑位置,对下一个位置渐变渲染帧的渲染位置进行计算。因此这里可将预设增大系数和预设减小系数设置为一较小的定值,在游戏用户感知不到目标对象移动速度变化的基础上,使得目标对象的渲染位置与目标对象的逻辑位置尽可能的靠近。当然这里也可根据当前渲染位置与下一趋势位置之间的距离、和下一逻辑位置与下一趋势位置之间的距离的差异,将预设增大系数和预设减小系数设定为一变化值,使得目标对象的渲染位置更加靠近对应的逻辑位置。
如采用当前渲染位置和下一趋势位置连线以及下一逻辑位置和下一趋势位置连线的连线长度来进行位置渐变渲染帧的渲染位置的修正,则该渲染位置修正的流程包括:
位置渐变画面渲染模块66的连线长度获取单元81以设定时间间隔,获取当前渲染位置和下一趋势位置连线的第一连线长度、以及下一逻辑位置和下一趋势位置连线的第二连线长度。这样可通过第一连线长度和第二连线长度的差异,获取下一逻辑位置与下一趋势位置的距离,和当前渲染位置与下一趋势位置的距离的差异。
这里的设定时间间隔可为渲染帧的帧间隔时间,以便对每个位置渐变渲染帧的渲染位置进行修正。
位置渐变画面渲染模块66的渲染位置间距计算单元82根据第一连线长度和第二连线长度的长度比值以及目标对象移动模型,计算相邻位置渐变渲染帧的渲染位置的间距。
当第一连线长度大于第二连线长度时,说明当前渲染位置与下一趋势位置之间的距离较大,下一逻辑位置与下一趋势位置之间的距离较小。这时渲染位置间距计算单元根据目标对象移动模型生成模块获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后渲染位置间距计算单元使用第一连线长度和第二连线长度的长度比值为增大系数,增加相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
当第一连线长度小于第二连线长度时,说明当前渲染位置与下一趋势位置之间的距离较小,下一逻辑位置与下一趋势位置之间的距离较大。这时渲染位置间距计算单元根据目标对象移动模型生成模块获取的目标对象移动模型计算位置渐变渲染帧的渲染位置,随后渲染位置间距计算单元使用第一连线长度和第二连线长度的长度比值为减小系数,减小相邻位置渐变渲染帧的渲染位置之间的间距,使得目标对象的渲染位置和目标对象的逻辑位置以大致相同的速度向下一趋势位置移动。
由于每一个位置渐变渲染帧形成时,均会基于当前位置渐变渲染帧的渲染位置、下一趋势位置以及下一逻辑位置,对下一个位置渐变渲染帧的渲染位置进行计算。因此这里根据第一连线长度和第二连线长度的长度比值来设定增大系数以及减小系数,使得目标对象的渲染位置更加靠近对应的逻辑位置。
如目标对象的当前渲染位置与下一逻辑位置的位置差异值大于一较大的第一设定值,即目标对象的渲染位置与逻辑位置的偏差过大,如采用位置渐变画面渲染操作,则会出现目标对象的移动速度异常,影响游戏用户的体验。这时渲染位置修正模块则可直接以目标对象的下一逻辑位置对目标对象的当前渲染位置进行修正,即使得目标对象在当前目标对象移动操作指令设定的时间点的渲染位置直接跳变到下一逻辑位置,以避免渲染位置与对应的逻辑位置之间的位置差异值过大。
这样即完成了本实施例的画面渲染装置60的游戏画面渲染过程。
在第一实施例的基础上,本实施例的画面渲染装置还可基于当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型对每个位置渐变渲染帧的渲染位置进行修正,使得在游戏用户不察觉的情况下,将目标对象的渲染位置更加靠近对应的逻辑位置,进一步提高了目标对象的游戏画面渲染的准确性。
下面通过一具体实施例说明本发明的画面渲染方法及画面渲染装置的具体工作原理。请参照图9,图9为本发明的画面渲染方法及画面渲染装置的具体实施例的目标对象的逻辑位置、渲染位置以及趋势位置的变化示意图。本具体实施例中的画面渲染装置为个人移动设备终端。
在图9中l1-l5为目标对象的五个连续的逻辑帧a至逻辑帧e对应的逻辑位置,r1-r10为目标对象11个连续的渲染帧(位置渐变渲染帧)对应的渲染位置,t2-t5为目标对象的逻辑帧b至逻辑帧e对应的趋势位置。
下面具体说明图9中的逻辑位置、渲染位置以及趋势位置的生成过程。
步骤S901、目标对象的逻辑位置起点l1和渲染位置起点r1重合。
步骤S902、当接收到逻辑帧a对应的目标对象移动操作指令时,该目标对象移动操作指令为目标对象,以v1的方向以及速度进行移动,画面渲染装置根据该目标对象移动操作指令以及逻辑位置起点l1,计算出目标对象的下一逻辑位置l2。
l2=l1+v1*n,其中n为相邻逻辑帧的设定执行时间差。
随后画面渲染装置根据目标对象移动操作指令以及下一逻辑位置l2,计算出目标对象的下一趋势位置t2。
t2=l2+v1*N,其中N为预设趋势时间。
步骤S903、在接收到逻辑帧a对应的目标对象移动操作指令之后,接收到逻辑帧b对应的目标对象操作指令之前,画面渲染装置以渲染帧的帧间隔为渲染间隔时间,以当前渲染位置r1以及下一趋势位置t2的连线方向为移动方向,基于v1的速度,在渲染位置r2生成对应的渲染帧。
步骤S904、当接收到逻辑帧b对应的目标对象移动操作指令时,该目标对象移动操作指令为目标对象以v1的方向以及速度进行移动,画面渲染装置根据该目标对象移动操作指令以及逻辑位置l2,计算出目标对象的下一逻辑位置l3。
l3=l2+v1*n,其中n为相邻逻辑帧的设定执行时间差。
随后画面渲染装置根据目标对象移动操作指令以及下一逻辑位置l3,计算出目标对象的下一趋势位置t3。
t3=l3+v1*N,其中N为预设趋势时间。
步骤S905、在接收到逻辑帧b对应的目标对象移动操作指令之后,接收到逻辑帧c对应的目标对象操作指令之前,画面渲染装置以渲染帧的帧间隔为渲染间隔时间,以当前渲染位置r2以及下一趋势位置t3的连线方向为移动方向,基于v1的速度,在渲染位置r3以及r4生成对应的渲染帧。
步骤S906、如这时网络环境出现抖动,画面渲染装置并未在对应的时间点接收到逻辑帧c对应的目标对象移动操作指令,画面渲染装置以渲染帧的帧间隔为渲染间隔时间,以当前渲染位置r4以及下一趋势位置t3的连线方向为移动方向,基于v1的速度,在渲染位置r5以及r6生成对应的渲染帧。
步骤S907、延迟接收到逻辑帧c对应的目标对象移动操作指令时,该目标对象移动操作指令为目标对象以v2的方向以及速度进行移动,画面渲染装置根据该目标对象动操作指令以及逻辑位置l3,计算出目标对象的下一逻辑位置l4。
l4=l3+v2*n,其中n为相邻逻辑帧的设定执行时间差。
随后画面渲染装置根据目标对象移动操作指令以及下一逻辑位置l4,计算出目标对象的下一趋势位置t4。
t4=l4+v2*N,其中N为预设趋势时间。
步骤S908、在接收到逻辑帧c对应的目标对象移动操作指令之后,接收到逻辑帧d对应的目标对象操作指令之前,画面渲染装置以渲染帧的帧间隔为渲染间隔时间,以当前渲染位置r6以及下一趋势位置t4的连线方向为移动方向,基于v2的速度,在渲染位置r7生成对应的渲染帧。
优选的,由于画面渲染装置检测到相对趋势位置t4,当前渲染位置r6相对滞后于下一逻辑位置l4(由于网络环境抖动),因此这里可增大渲染位置r6和渲染位置r7之间的间距,以减小当前渲染位置与下一逻辑位置之间的间距。
步骤S909、接收到逻辑帧d对应的目标对象移动操作指令时,该目标对象移动操作指令为目标对象以v2的方向以及速度进行移动,画面渲染装置根据该目标对象动操作指令以及逻辑位置l4,计算出目标对象的下一逻辑位置l5。
l5=l4+v2*n,其中n为相邻逻辑帧的设定执行时间差。
随后画面渲染装置根据目标对象移动操作指令以及下一逻辑位置l5,计算出目标对象的下一趋势位置t5。
t5=l5+v2*N,其中N为预设趋势时间。
步骤S910、在接收到逻辑帧d对应的目标对象移动操作指令之后,接收到逻辑帧e对应的目标对象操作指令之前,画面渲染装置以渲染帧的帧间隔为渲染间隔时间,以当前渲染位置r7以及下一趋势位置t5的连线方向为移动方向,基于v2的速度,在渲染位置r8、r9以及r10生成对应的渲染帧。
优选的,由于画面渲染装置检测到相对趋势位置t5,渲染位置r9相对超前于下一逻辑位置l5(由于步骤S908中的渲染位置间距修正),因此这里可减小渲染位置r9与渲染位置r8,以及渲染位置r9以及渲染位置r10之间的间距,以减小当前渲染位置与下一逻辑位置之间的间距。
当然,如在步骤S907中,逻辑帧c对应的目标对象移动操作指令的延迟时间过长,即导致下一逻辑位置l4与当前渲染位置r6之间的距离过大,则可直接将渲染位置r7修正为下一逻辑位置l4,以避免渲染位置与对应的逻辑位置之间的位置差异值过大。
这样即完成了本具体实施例的画面渲染方法以及画面渲染装置的游戏画面渲染过程。
本发明的画面渲染方法、装置及存储介质通过位置渐变画面渲染操作的方式,最大程度的保证了用户游戏操作的即时执行,消除了用户游戏操作时的手感延迟;同时可以较好的应对网络环境的抖动,保证了游戏在所有游戏客户端的流畅运行;有效的解决了现有的画面渲染方法及装置的游戏运行流畅度较差或游戏操作的延迟感较大的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图10和随后的讨论提供了对实现本发明所述的画面渲染装置所在的电子设备的工作环境的简短、概括的描述。图10的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1012包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图10图示了包括本发明的画面渲染装置中的一个或多个实施例的电子设备1012的实例。在一种配置中,电子设备1012包括至少一个处理单元1016和存储器1018。根据电子设备的确切配置和类型,存储器1018可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图10中由虚线1014图示。
在其他实施例中,电子设备1012可以包括附加特征和/或功能。例如,设备1012还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图10中由存储装置1020图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1020中。存储装置1020还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1018中由例如处理单元1016执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1018和存储装置1020是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1012访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1012的一部分。
电子设备1012还可以包括允许电子设备1012与其他设备通信的通信连接1026。通信连接1026可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1012连接到其他电子设备的其他接口。通信连接1026可以包括有线连接或无线连接。通信连接1026可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备1012可以包括输入设备1024,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1012中也可以包括输出设备1022,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1024和输出设备1022可以经由有线连接、无线连接或其任意组合连接到电子设备1012。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1012的输入设备1024或输出设备1022。
电子设备1012的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备1012的组件可以通过网络互连。例如,存储器1018可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1028访问的电子设备1030可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1012可以访问电子设备1030并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1012可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1012处执行并且一些指令可以在电子设备1030处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (15)
1.一种画面渲染方法,其特征在于,包括:
获取当前目标对象移动操作指令;
根据所述当前目标对象移动操作指令以及预设算法,计算所述当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;
根据所述目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;
根据所述目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;以及
根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行所述目标对象的位置渐变画面渲染操作,其中所述位置渐变画面渲染操作生成所述目标对象的多个位置渐变渲染帧。
2.根据权利要求1所述的画面渲染方法,其特征在于,所述根据所述当前目标对象移动操作指令以及预设算法,计算所述当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度的步骤为:
根据所述当前目标对象移动操作指令以及预设算法生成目标对象移动模型;其中所述目标对象移动模型用于计算所述当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度。
3.根据权利要求2所述的画面渲染方法,其特征在于,所述根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行所述目标对象的位置渐变画面渲染操作的步骤包括:
以渲染帧的帧间隔为渲染间隔时间,所述当前渲染位置以及下一趋势位置的连线方向为移动方向,基于所述目标对象移动模型,生成每个位置渐变渲染帧对应的渲染位置,并在所述渲染位置上生成所述目标对象的位置渐变渲染帧。
4.根据权利要求3所述的画面渲染方法,其特征在于,当所述目标对象的当前渲染位置与下一逻辑位置的位置差异值大于第一设定值时,则使用所述目标对象的下一逻辑位置对所述目标对象的当前渲染位置进行修正。
5.根据权利要求1所述的画面渲染方法,其特征在于,所述画面渲染方法还包括:
设置所述目标对象的初始渲染位置以及初始逻辑位置;并根据所述初始逻辑位置以及第一目标对象移动操作指令,设置所述目标对象的初始趋势位置。
6.根据权利要求2所述的画面渲染方法,其特征在于,所述根据目标对象移动模型和目标对象的当前逻辑位置,确定目标对象的下一逻辑位置的步骤包括:
以所述目标对象的当前逻辑位置为运动起点,所述目标对象移动模型为运动参数,固定间隔时间为运动时间,计算所述目标对象的第一运动终点,并将所述第一运动终点设定为目标对象的下一逻辑位置。
7.根据权利要求2所述的画面渲染方法,其特征在于,所述根据目标对象移动模型和目标对象的下一逻辑位置,确定目标对象的下一趋势位置的步骤包括:
以所述目标对象的下一逻辑位置为运动起点,所述目标对象移动模型为运动参数,预设趋势时间为运动时间,计算所述目标对象的第二运动终点,并将所述第二运动终点设定为目标对象的下一趋势位置。
8.根据权利要求3所述的画面渲染方法,其特征在于,所述以渲染帧的帧间隔为渲染间隔时间,所述当前渲染位置以及下一趋势位置的连线方向为移动方向,基于所述目标对象移动模型,生成每个位置渐变渲染帧对应的渲染位置,并在所述渲染位置上生成所述目标对象的位置渐变渲染帧的步骤包括:
根据所述当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型,对所述位置渐变渲染帧的渲染位置进行修正。
9.根据权利要求8所述的画面渲染方法,其特征在于,所述根据所述当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型,对所述位置渐变渲染帧的渲染位置进行修正的步骤包括:
以设定时间间隔,获取逻辑投影位置,其中所述逻辑投影位置为下一逻辑位置在当前渲染位置和下一趋势位置的连线所在直线的投影位置;
当所述逻辑投影位置位于当前渲染位置和下一趋势位置的连线上,则基于所述目标对象移动模型计算所述位置渐变渲染帧的渲染位置,并使用预设增大系数对增加相邻所述位置渐变渲染帧的渲染位置之间的间距;以及
当所述逻辑投影位置位于当前渲染位置和下一趋势位置的连线外,则基于所述目标对象移动模型计算所述位置渐变渲染帧的渲染位置。并使用预设减小系数对减小相邻所述位置渐变渲染帧的渲染位置之间的间距。
10.根据权利要求8所述的画面渲染方法,其特征在于,所述根据所述当前渲染位置以及下一趋势位置的连线方向、下一逻辑位置以及目标对象移动模型,对所述位置渐变渲染帧的渲染位置进行修正的步骤包括:
以设定时间间隔,获取当前渲染位置和下一趋势位置连线的第一连线长度、以及下一逻辑位置和下一趋势位置连线的第二连线长度;以及
根据所述第一连线长度和所述第二连线长度的长度比值以及所述目标对象移动模型,计算相邻所述位置渐变渲染帧的渲染位置的间距。
11.一种画面渲染装置,其特征在于,包括:
移动操作指令获取模块,用于获取当前目标对象移动操作指令;
目标对象移动模型生成模块,用于根据所述当前目标对象移动操作指令以及预设算法,计算所述当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度;;
下一逻辑位置确定模块,用于根据所述目标对象的移动方向、移动速度和当前逻辑位置,确定目标对象的下一逻辑位置;
下一趋势位置确定模块,用于根据所述目标对象的移动方向、移动速度和下一逻辑位置,确定目标对象的下一趋势位置;以及
位置渐变画面渲染模块,用于根据目标对象的下一趋势位置以及目标对象的当前渲染位置,进行所述目标对象的位置渐变画面渲染操作,其中所述位置渐变画面渲染操作生成所述目标对象的多个位置渐变渲染帧。
12.根据权利要求11所述的画面渲染装置,其特征在于,所述目标对象移动模型生成模块用于根据所述当前目标对象移动操作指令以及预设算法生成目标对象移动模型;其中所述目标对象移动模型用于计算所述当前目标对象移动操作指令对应的目标对象的移动方向以及移动速度。
13.根据权利要求12所述的画面渲染装置,其特征在于,所述位置渐变画面渲染模块用于以渲染帧的帧间隔为渲染间隔时间,所述当前渲染位置以及下一趋势位置的连线方向为移动方向,基于所述目标对象移动模型,生成每个位置渐变渲染帧对应的渲染位置,并在所述渲染位置上生成所述目标对象的位置渐变渲染帧。
14.根据权利要求12所述的画面渲染装置,其特征在于,所述下一逻辑位置确定模块用于以所述目标对象的当前逻辑位置为运动起点,所述目标对象移动模型为运动参数,固定间隔时间为运动时间,计算所述目标对象的第一运动终点,并将所述第一运动终点设定为目标对象的下一逻辑位置。
15.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1至10中任一的画面渲染方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711244459.6A CN108022286B (zh) | 2017-11-30 | 2017-11-30 | 画面渲染方法、装置及存储介质 |
PCT/CN2018/118030 WO2019105396A1 (zh) | 2017-11-30 | 2018-11-28 | 画面渲染方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711244459.6A CN108022286B (zh) | 2017-11-30 | 2017-11-30 | 画面渲染方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108022286A true CN108022286A (zh) | 2018-05-11 |
CN108022286B CN108022286B (zh) | 2019-08-13 |
Family
ID=62077867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711244459.6A Active CN108022286B (zh) | 2017-11-30 | 2017-11-30 | 画面渲染方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108022286B (zh) |
WO (1) | WO2019105396A1 (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088786A (zh) * | 2018-06-26 | 2018-12-25 | 中国直升机设计研究所 | 一种用于测试直升机模拟器网络延迟方法 |
CN109499059A (zh) * | 2018-11-15 | 2019-03-22 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
WO2019105396A1 (zh) * | 2017-11-30 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 画面渲染方法、电子设备及存储介质 |
CN109966741A (zh) * | 2019-05-09 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 位置更新方法、装置、设备及存储介质 |
CN110139141A (zh) * | 2019-04-28 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 视频画面渲染方法、装置、存储介质及电子设备 |
CN110300327A (zh) * | 2019-04-18 | 2019-10-01 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏客户端性能分析方法、装置、终端及存储介质 |
CN110478906A (zh) * | 2019-08-12 | 2019-11-22 | 网易(杭州)网络有限公司 | 投射物运行轨迹处理方法及装置 |
CN110689597A (zh) * | 2019-09-30 | 2020-01-14 | 北京金山安全软件有限公司 | 动画模型显示方法和装置 |
CN111161024A (zh) * | 2019-12-27 | 2020-05-15 | 珠海随变科技有限公司 | 商品模型更新方法、装置、计算机设备及存储介质 |
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN111698425A (zh) * | 2020-06-22 | 2020-09-22 | 四川易热科技有限公司 | 一种实现实景漫游技术连贯性的方法 |
CN112190938A (zh) * | 2020-10-15 | 2021-01-08 | 顾春健 | 基于数据分析和动态渲染的游戏画面处理方法及游戏平台 |
WO2021143261A1 (zh) * | 2020-01-19 | 2021-07-22 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
WO2021164533A1 (zh) * | 2020-02-21 | 2021-08-26 | 华为技术有限公司 | 渲染方法和装置 |
CN113368492A (zh) * | 2020-02-25 | 2021-09-10 | 华为技术有限公司 | 渲染的方法、装置 |
CN113867734A (zh) * | 2021-10-20 | 2021-12-31 | 北京思明启创科技有限公司 | 代码块解释执行方法、装置、电子设备及存储介质 |
CN114470786A (zh) * | 2022-01-27 | 2022-05-13 | 北京字跳网络技术有限公司 | 帧同步数据处理方法、装置、可读介质和电子设备 |
WO2022105142A1 (zh) * | 2020-11-20 | 2022-05-27 | 上海莉莉丝网络科技有限公司 | 游戏对象控制系统、方法及计算机可读存储介质 |
CN115797513A (zh) * | 2023-02-01 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016065088A2 (en) * | 2014-10-21 | 2016-04-28 | Flir Systems, Inc. | Pilot display systems and methods |
US9390548B2 (en) * | 2014-06-16 | 2016-07-12 | Sap Se | Three-dimensional volume rendering using an in-memory database |
CN106101533A (zh) * | 2016-06-15 | 2016-11-09 | 努比亚技术有限公司 | 渲染控制方法、装置及移动终端 |
CN106127843A (zh) * | 2016-06-16 | 2016-11-16 | 福建数博讯信息科技有限公司 | 三维虚拟场景的渲染方法和装置 |
CN107045729A (zh) * | 2017-05-05 | 2017-08-15 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及装置 |
CN107370714A (zh) * | 2016-05-13 | 2017-11-21 | 吉林纪元时空动漫游戏科技集团股份有限公司 | 面向云渲染的高效通讯方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3618298B2 (ja) * | 2000-01-28 | 2005-02-09 | 株式会社スクウェア・エニックス | モーション表示方法、ゲーム装置及び記録媒体 |
CN106302679B (zh) * | 2016-08-08 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 一种虚拟对象移动同步方法、客户端及服务器 |
CN107124416B (zh) * | 2017-05-02 | 2020-10-16 | 阿里巴巴(中国)有限公司 | 多化身位置同步系统、方法、装置及电子设备和存储介质 |
CN108022286B (zh) * | 2017-11-30 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 画面渲染方法、装置及存储介质 |
-
2017
- 2017-11-30 CN CN201711244459.6A patent/CN108022286B/zh active Active
-
2018
- 2018-11-28 WO PCT/CN2018/118030 patent/WO2019105396A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390548B2 (en) * | 2014-06-16 | 2016-07-12 | Sap Se | Three-dimensional volume rendering using an in-memory database |
WO2016065088A2 (en) * | 2014-10-21 | 2016-04-28 | Flir Systems, Inc. | Pilot display systems and methods |
CN107370714A (zh) * | 2016-05-13 | 2017-11-21 | 吉林纪元时空动漫游戏科技集团股份有限公司 | 面向云渲染的高效通讯方法 |
CN106101533A (zh) * | 2016-06-15 | 2016-11-09 | 努比亚技术有限公司 | 渲染控制方法、装置及移动终端 |
CN106127843A (zh) * | 2016-06-16 | 2016-11-16 | 福建数博讯信息科技有限公司 | 三维虚拟场景的渲染方法和装置 |
CN107045729A (zh) * | 2017-05-05 | 2017-08-15 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及装置 |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019105396A1 (zh) * | 2017-11-30 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 画面渲染方法、电子设备及存储介质 |
CN109088786A (zh) * | 2018-06-26 | 2018-12-25 | 中国直升机设计研究所 | 一种用于测试直升机模拟器网络延迟方法 |
CN109088786B (zh) * | 2018-06-26 | 2022-03-08 | 中国直升机设计研究所 | 一种用于测试直升机模拟器网络延迟方法 |
CN109499059A (zh) * | 2018-11-15 | 2019-03-22 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN109499059B (zh) * | 2018-11-15 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN110300327B (zh) * | 2019-04-18 | 2021-06-15 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏客户端性能分析方法、装置、终端及存储介质 |
CN110300327A (zh) * | 2019-04-18 | 2019-10-01 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏客户端性能分析方法、装置、终端及存储介质 |
CN110139141A (zh) * | 2019-04-28 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 视频画面渲染方法、装置、存储介质及电子设备 |
CN109966741A (zh) * | 2019-05-09 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 位置更新方法、装置、设备及存储介质 |
CN109966741B (zh) * | 2019-05-09 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 位置更新方法、装置、设备及存储介质 |
CN110478906A (zh) * | 2019-08-12 | 2019-11-22 | 网易(杭州)网络有限公司 | 投射物运行轨迹处理方法及装置 |
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN110689597A (zh) * | 2019-09-30 | 2020-01-14 | 北京金山安全软件有限公司 | 动画模型显示方法和装置 |
CN110689597B (zh) * | 2019-09-30 | 2024-02-09 | 北京金山安全软件有限公司 | 动画模型显示方法和装置 |
CN111161024A (zh) * | 2019-12-27 | 2020-05-15 | 珠海随变科技有限公司 | 商品模型更新方法、装置、计算机设备及存储介质 |
CN111161024B (zh) * | 2019-12-27 | 2020-10-20 | 珠海随变科技有限公司 | 商品模型更新方法、装置、计算机设备及存储介质 |
WO2021143261A1 (zh) * | 2020-01-19 | 2021-07-22 | 腾讯科技(深圳)有限公司 | 一种动画实现方法、装置、电子设备和存储介质 |
US11928765B2 (en) | 2020-01-19 | 2024-03-12 | Tencent Technology (Shenzhen) Company Limited | Animation implementation method and apparatus, electronic device, and storage medium |
WO2021164533A1 (zh) * | 2020-02-21 | 2021-08-26 | 华为技术有限公司 | 渲染方法和装置 |
CN113368492B (zh) * | 2020-02-25 | 2023-06-27 | 华为技术有限公司 | 渲染的方法、装置 |
CN113368492A (zh) * | 2020-02-25 | 2021-09-10 | 华为技术有限公司 | 渲染的方法、装置 |
CN111698425A (zh) * | 2020-06-22 | 2020-09-22 | 四川易热科技有限公司 | 一种实现实景漫游技术连贯性的方法 |
CN111698425B (zh) * | 2020-06-22 | 2021-11-23 | 四川可易世界科技有限公司 | 一种实现实景漫游技术连贯性的方法 |
CN112190938A (zh) * | 2020-10-15 | 2021-01-08 | 顾春健 | 基于数据分析和动态渲染的游戏画面处理方法及游戏平台 |
WO2022105142A1 (zh) * | 2020-11-20 | 2022-05-27 | 上海莉莉丝网络科技有限公司 | 游戏对象控制系统、方法及计算机可读存储介质 |
CN113867734A (zh) * | 2021-10-20 | 2021-12-31 | 北京思明启创科技有限公司 | 代码块解释执行方法、装置、电子设备及存储介质 |
CN114470786A (zh) * | 2022-01-27 | 2022-05-13 | 北京字跳网络技术有限公司 | 帧同步数据处理方法、装置、可读介质和电子设备 |
CN114470786B (zh) * | 2022-01-27 | 2023-12-01 | 北京字跳网络技术有限公司 | 帧同步数据处理方法、装置、可读介质和电子设备 |
CN115797513A (zh) * | 2023-02-01 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
WO2024159843A1 (zh) * | 2023-02-01 | 2024-08-08 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN108022286B (zh) | 2019-08-13 |
WO2019105396A1 (zh) | 2019-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108022286A (zh) | 画面渲染方法、装置及存储介质 | |
GB2585198A (en) | Method and device for generating video frames | |
JP2023022090A (ja) | 反応型映像生成方法及び生成プログラム | |
CN112354186B (zh) | 游戏动画模型控制方法、装置、电子设备以及存储介质 | |
JP4746640B2 (ja) | 動的イメージのモーション遷移処理方法とそのシステム、及び、そのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN102411791B (zh) | 一种静止图像动态化的方法和设备 | |
US11783523B2 (en) | Animation control method and apparatus, storage medium, and electronic device | |
JP5190524B2 (ja) | オブジェクト動作装置及び方法、並びにプログラム | |
US9433863B2 (en) | Video processing using concurrent outcome simulation threads | |
WO2021139359A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN109767401A (zh) | 画面优化方法、装置、终端及对应的存储介质 | |
CN111265863A (zh) | 一种目标对象的位置纠正方法、装置、设备及介质 | |
CN110019866A (zh) | 动态图片播放方法、装置及存储介质 | |
US9948691B2 (en) | Reducing input processing latency for remotely executed applications | |
JP7467780B2 (ja) | 画像処理方法、装置、デバイス及び媒体 | |
CA3199128A1 (en) | Systems and methods for augmented reality video generation | |
CN102857826B (zh) | 一种基于循环队列的图文播放方法及装置 | |
CN109743635B (zh) | 评论回复方法、装置、设备和存储介质 | |
CN111897437A (zh) | 跨终端的交互方法、装置、电子设备以及存储介质 | |
CN116109737A (zh) | 动画生成方法、装置、计算机设备及计算机可读存储介质 | |
CN107820622A (zh) | 一种虚拟3d场景制作方法及相关设备 | |
CN111701242B (zh) | 一种游戏场景中的路径拟合方法及装置 | |
WO2021117660A1 (ja) | サーバ、処理システム、処理方法及びプログラム | |
JP6201501B2 (ja) | 動画編集装置、動画編集方法およびプログラム | |
CN114937059A (zh) | 显示对象的运动控制方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |