本发明的实施方式涉及UV动画技术领域,更具体地,本发明的实施方式涉及一种游戏动画显示方法和装置。
背景技术:
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
游戏引擎是指已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件,游戏软件的主程序。
所有的图像文件都是二维的一个平面。水平方向是U,垂直方向是V,因此,通过这个平面的二维UV坐标系,可以定位图像上的任意一个像素。UV是UV纹理贴图坐标的简称(其与空间模型的X,Y,Z轴类似)。它定义了图片上每个像素的位置的信息,这些像素与3D模型是相互联系的,以决定表面纹理贴图的位置,UV就是将图像上每一个像素精确对应到模型物体的表面,在像素与像素之间的间隙位置由软件进行图像光滑插值处理,这就是所谓的UV贴图。
UV动画是指在游戏引擎中修改平面网格上的纹理坐标,实现动态效果,屏幕坐标系采用XY坐标系,纹理坐标系采用UV坐标系,GPU(Graphic Processing Unit,图像处理单元)在渲染时是将屏幕空间XY坐标系中每一个像素去对应的纹理中查找对应的纹素来确定像素的颜色。
技术实现要素:
如图1所示的数字序列图,将其制作为UV动画后的效果是按照1、2、3……8的顺序依次出现。每一帧动画图像需要单个的数字占满整个Plane(平面),而不是显示整张图,这可以通过修改贴图(即图1所示的序列图)的Tiling(平面网格),让数字1占满Plane,如图2a所示,通过修改贴图的Tiling中的x值和y值实现,具体的如图2b所示。在显示数字2时,需要对Tiling中x值对应的offset(偏移量)进行修改,offset是用来控制UV贴图的流动,由于图1所示的序列图是4*2的,所以横向(x方向)移动0.25个单位即移动了一格(即从数字1移动到数字2),类似的,对于数字3和4,分别修改Tiling中x值对应的offset分别为0.5和0.75,需要说明的是数字5,由于数字4到数字5在纵向上移动一格,因此,将Tiling中的y值对应的offset修改为0.5(纵向方向上共2格),设置完成后进行相应的播放处理再播放时,可以实现数字按照顺序依次显示的动画效果。
但是,现有的UV动画中,其仅使用一张贴图做平移实现动画效果,在视觉效果上不够逼真,缺少纵深层次感。
为此,非常需要一种改进的游戏动画显示,以提高游戏动画效果显示的真实感和立体层次感。
在本上下文中,本发明的实施方式期望提供一种游戏动画显示方法和装置。
在本发明实施方式的第一方面中,提供了一种游戏动画显示方法,包括:在生成纹理贴图坐标UV动画时,获取至少两张UV贴图;并
在所述UV动画播放过程中,控制每一张贴图以不同的移动速率移动。
在本发明实施方式的第二方面中,提供了一种游戏动画显示装置,包括:
第一获取单元,用于在生成纹理贴图坐标UV动画时,获取至少两张UV贴图;
控制单元,用于在所述UV动画播放过程中,控制每一张贴图以不同的移动速率移动。
在本发明实施方式的第三方面中,提供了一种游戏动画显示装置,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:在生成纹理贴图坐标UV动画时,获取至少两张UV贴图;并在所述UV动画播放过程中,控制每一张贴图以不同的移动速率移动。
在本发明实施方式的第四方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:在生成纹理贴图坐标UV动画时,获取至少两张UV贴图;并在所述UV动画播放过程中,控制每一张贴图以不同的移动速率移动。
根据本发明实施方式的游戏动画显示方法和效果,通过使用至少两两张UV贴图来生成UV动画,不同的贴图位于不同的图层,在播放UV动画时控制不同层的贴图以不同的移动速率移动,这样,可以增加视觉上纵深效果,使得生成的UV动画更具立体感,更加逼真,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1为现有技术中,生成UV动画的数字序列图;
图2a为现有技术中,利用生成UV动画中的数字1时的图像显示示意图;
图2b为现有技术中,利用数字序列图生成UV动画时的配置示意图;
图3a示意性地示出了现有技术中生成岩浆效果时动画组件配置示意图;
图3b为示意性地示出了根据本发明实施方式生成的岩浆效果示意图;
图4示意性地示出了根据本发明实施方式的游戏动画显示方法实施流程示意图;
图5示意性地示出了根据本发明实施方式生成岩浆效果时动画组件第一种配置示意图;
图6示意性地示出了根据本发明实施方式生成岩浆效果时动画组件第一种配置示意图;
图7a为示意性地示出了根据本发明实施方式生成的第一种星空效果示意图;
图7b为示意性地示出了根据本发明实施方式生成的图7a的星空效果示意图、经过2秒时间之后呈现的星空效果示意图;
图8示意性地示出了根据本发明实施方式的游戏动画显示装置的结构示意图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种游戏动画显示方法和装置。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术中,在生成UV动画时,通常只使用一张UV贴图来生成UV动画,而使用单张贴图生成UV动画,在视觉上缺少纵深距离感,使得UV动画看起来不够逼真。
有鉴于此,本发明实施例中,在生成UV动画时,使用至少两张UV贴图来生成UV动画,不同的UV贴图位于不同的图层,在播放UV动画时,控制不同层的贴图以不同的移动速率移动,以增加UV动画显示的纵深距离感,使得生成的UV动画更具立体感,更加逼真,提高用户体验。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
以普通岩浆效果为例,首先参考图3a,现有技术中,以一张贴图做平移实现,如图3a中的贴图31。本发明实施例中,为了在低性能开销的前提下提升UV动画的表现效果,让一张平面网格看起来像是有深度的景物,使用2张以上的贴图以不同的速率移动做UV动画,其中,代表岩浆表层的贴图移动速率慢,而代表岩浆底层的贴图移动速率快,从而实现带视差效果的岩浆。如图3b所示,在真实游戏中运动起来效果能有明显的错层扭曲移动。
示例性方法
下面结合图3a和图3b的应用场景,参考图4来描述根据本发明示例性实施方式的游戏动画显示方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图4所示,其为本发明实施例提供的游戏动画显示方法实施流程示意图,可以包括以下步骤:
S41、在生成UV动画时,获取至少两张UV贴图。
本步骤中,在需要生成UV动画时,需要读入至少两张UV贴图,为了便于描述,本发明实施例中,以读入两张UV贴图为例,如图5所示,在生成岩浆效果的UV动画时,分别读入UV贴图51和UV贴图52,两张贴图可以从已存储文件中选择。
其中,用于生成UV动画的至少两张贴图可以为同一张贴图,也可以为不同的贴图。较佳地,如果用于生成UV动画的至少两张贴图为不同的贴图,则可以利用其中一张贴图生成其余的贴图。基于此,本发明实施中,在执行步骤S41之前,还可以包括以下步骤:确定用于生成UV动画的基准UV贴图,对基准UV贴图按照水平方向和/或垂直方向移动预设的像素距离获得除基准UV贴图以外的UV贴图,这样,得到用于生成UV动画的全部UV贴图。仍然生成岩浆效果的UV动画为例,其可以以现有的岩浆效果图像为基准UV贴图,将该岩浆效果图像沿着一定的方向(上、下、左、右及其任意组合)移动一定的像素距离(不同方向移动的像素距离可以相同,也可以不同),例如,向右移动0.05个像素,再向下移动0.02个像素得到第二张UV贴图,采用类似的方法,可以得到其他UV贴图,这里不再赘述。
S42、在所述UV动画播放过程中,控制每一张贴图以不同的移动速率移动。
具体实施时,在控制每一张张贴图以不同的移动速率移动之前,还可以包括以下步骤:获取用户为每一张贴图配置的移动速率。步骤S42中,在UV动画播放过程中,针对每一贴图,根据获取的、所述用户配置的移动速率控制该贴图以相应的移动速率移动。其中,为位于底层的UV贴图配置的移动速率大于为位于表层的UV贴图配置的移动速率。
如图6所示,用户可以通过游戏引擎的动画组件输入UV偏移量(用于控制UV贴图的移动速率),如图6所示,x*y表示平面网格的数量,例如,图1所示的数字序列图其平面网格的数量为4*2;z表示左右偏移,w表示上下偏移,根据本发明实施例,xyz保持不变,w随着时间的变化而增大。以岩浆效果的UV贴图为例,表层贴图的移动速率可以配置为3/50个单位,底层贴图的移动速率可以配置为1/50个单位,这里的1个单位为一整张贴图从左到右或者从上到下一次完整的偏移量。
具体实施时,在生成岩浆效果的UV动画时,可以采用岩浆效果UV贴图的法向贴图作为表层贴图,底层贴图可以与表层贴图采用相同的UV贴图,也可以采用其他岩浆效果贴图,本发明实施例不进行限定。需要说明的是,针对岩浆效果的UV动画,为了增加逼真感,还可以增加一层用于扭曲像素的贴图,即可以使用3张贴图生成岩浆效果的UV动画。
具体实施时,利用本发明实施例提供的游戏动画显示方法还可以生成带视差的星空效果UV动画。具体地,使用两张星空贴图可以不同的速率跟随游戏中的游戏对象(例如游戏中的任务移动),同样,可以根据实际需要配置不同层的星空贴图的移动速率,在视觉效果上,看起来像是人物走在有纵深的星空中,通过配置动画组件中的偏移量,可以控制人物静止时近景层的贴图以细微的速度进行UV偏移,实现星星流动闪烁的效果。分别如图7a和图7b所示,为利用本发明实施例生成的UV动画效果示意图。其中,图7a为某时刻显示的星空效果示意图,图7b为2s后显示的星空效果示意图。
需要说明的是,本发明实施例提供的游戏动画显示方法不仅仅可以利用与上述两种应用场景,还有需要动画效果可以使用本发明实施例提供的方法来实现,这里不再一一列举。
本发明实施例提供的游戏动画显示方法中,通过使用至少两者UV贴图来生成UV动画,不同的UV贴图位于不同的图层,并根据用户需求控制不同层的UV贴图以不同的速率移动,在视觉效果上,增加纵深的距离感,使得生成的UV动画更具立体感,更加逼真,提高了用户体验。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图8对本发明示例性实施方式的、游戏动画显示装置进行说明。
如图8所示,其为本发明实施例提供的游戏动画显示装置结构示意图,可以包括:
第一获取单元81,用于在生成纹理贴图坐标UV动画时,获取至少两张UV贴图;
控制单元82,用于在所述UV动画播放过程中,控制每一张贴图以不同的移动速率移动。
可选地,本发明实施例提供的游戏动画显示装置,还可以包括第二获取单元83,其中:
所述第二获取单元83,用于在所述控制单元在所述UV动画播放过程中,控制每一张贴图以不同的速率移动之前,获取用户为每一张贴图配置的移动速率;
所述控制单元82,具体用于在所述UV动画播放过程中,针对每一贴图,根据获取的、所述用户配置的移动速率控制该贴图以相应的移动速率移动。
优选地,本发明实施例中,为位于底层的UV贴图配置的移动速率大于为位于表层的UV贴图配置的移动速率。
优选地,本发明实施例中涉及的至少两张UV贴图为同一张贴图;或者所述至少两张UV贴图为不同的贴图。
可选地,本发明实施例提供的游戏动画显示装置,还可以包括:
确定单元84,用于如果所述至少两张UV贴图为不同的UV贴图,则在生成UV动画时,在获取至少两张UV贴图之前,确定用于生成UV动画的基准UV贴图;
处理单元85,用于对所述基准UV贴图按照水平方向和/或垂直方向移动预设的像素距离获得除基准UV贴图以外的UV贴图。
在一些可能的实施方式中,根据本发明的游戏动画显示装置可以包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的游戏动画显示方法中的各种步骤。例如,所述处理单元可以执行如图4中所示的步骤S41,在生成UV动画时,获取至少两张UV贴图,步骤S42,在所述UV动画播放过程中,控制每一张贴图以不同的移动速率移动。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。