CN117252959A - 特效动画的生成方法、装置、电子设备及存储介质 - Google Patents
特效动画的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117252959A CN117252959A CN202311221182.0A CN202311221182A CN117252959A CN 117252959 A CN117252959 A CN 117252959A CN 202311221182 A CN202311221182 A CN 202311221182A CN 117252959 A CN117252959 A CN 117252959A
- Authority
- CN
- China
- Prior art keywords
- texture map
- special effect
- target
- polar
- determining
- 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.)
- Pending
Links
- 230000000694 effects Effects 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000000877 morphologic effect Effects 0.000 claims description 52
- 230000008859 change Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000009877 rendering Methods 0.000 abstract description 20
- 239000013598 vector Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 15
- 238000013507 mapping Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004880 explosion Methods 0.000 description 5
- 230000008014 freezing Effects 0.000 description 5
- 238000007710 freezing Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 231100000614 poison Toxicity 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种特效动画的生成方法、装置、电子设备及存储介质,该方法包括确定待生成的目标特效动画对应的目标模型;获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;基于所述极坐标纹理贴图生成所述目标特效动画,从而通过极坐标纹理贴图实现了低面数模型高精度的模拟圆形类特效,降低了圆形类特效对性能的消耗,避免了游戏中由于渲染性能的消耗而产生的闪退或卡顿严重等现象。
Description
技术领域
本申请涉及特效生成技术领域,尤其涉及一种特效动画的生成方法、装置、电子设备及存储介质。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,游戏中经常会有一些如爆炸、刀光、光环、大范围预警等圆形类的特效。相关技术中的制作方式一般需要高面数的模型才能保证其精度,但会因此占用性能。当项目对性能有一定要求时候,如大型多人在线游戏,经常出现玩家同屏能达到上百人,且每一位玩家都需要放技能的时,就有可能出现游戏闪退或是卡顿严重等现象。
发明内容
有鉴于此,本申请的目的在于提出一种特效动画的生成方法、装置、电子设备及存储介质。
基于上述目的,本申请提供了一种特效动画的生成方法,包括:
确定待生成的目标特效动画对应的目标模型;
获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;
将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;
基于所述极坐标纹理贴图生成所述目标特效动画。
基于同一发明构思,本申请示例性实施例还提供了一种特效动画的生成装置,包括:
确定模块,确定待生成的目标特效动画对应的目标模型;
获取模块,获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;
转化模块,将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;
生成模块,基于所述极坐标纹理贴图生成所述目标特效动画。
基于同一发明构思,本申请示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述程序时实现如上所述的特效动画的生成方法。
基于同一发明构思,本申请示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述的特效动画的生成方法。
基于同一发明构思,本申请示例性实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序由一个或多个处理器执行以使得所述处理器执行如上所述的游戏声音的调节方法。
从上面所述可以看出,本申请提供的特效动画的生成方法、装置、电子设备及存储介质,确定待生成的目标特效动画对应的目标模型;获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;基于所述极坐标纹理贴图生成所述目标特效动画,从而通过极坐标纹理贴图实现了低面数模型高精度的模拟圆形类特效,降低了圆形类特效对性能的消耗,避免了游戏中由于渲染性能的消耗而产生的闪退或卡顿严重等现象。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种应用场景的示意图;
图2为本申请实施例的一种特效动画的生成方法的流程示意图;
图3为相关技术中一种特效动画的效果示意图;
图4为相关技术中另一种特效动画的效果示意图;
图5为本申请实施例的一种纹理贴图;
图6为相关技术中通过UV纹理贴图赋予模型材质后的效果示意图;
图7为相关技术中一种模型的UV纹理贴图的示意图;
图8为相关技术中另一种模型的UV纹理贴图的示意图;
图9为本申请实施例的一种极坐标纹理贴图的示意图;
图10本申请实施例的一种目标模型的面数对比示意图;
图11申请实施例的一种UV纹理贴图的示意图;
图12本申请实施例的一种将UV纹理贴图转化为极坐标纹理贴图的示意图;
图13本申请实施例的另一种将UV纹理贴图转化为极坐标纹理贴图的示意图;
图14本申请实施例的一种在渲染引擎中将直角坐标转化为极坐标的示意图;
图15本申请实施例的一种在渲染引擎中制作极坐标纹理贴图的上半部分示意图;
图16本申请实施例的一种在渲染引擎中制作极坐标纹理贴图的下半部分示意图;
图17本申请实施例的一种极坐标纹理贴图调节扭曲参数后的效果示意图;
图18本申请实施例的一种圆形遮罩贴图的示意图;
图19为本申请实施例的一种特效动画的效果示意图;
图20为本申请实施例的一种特效动画的生成装置的结构示意图;
图21为本申请实施例的一种具体的电子设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。此外,在本申请的描述中,除非另有说明,术语“多个”是指两个或两个以上。术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
根据本申请的实施方式,提出了一种特效动画的生成方法、系统、电子设备及存储介质。
可以理解的是,在使用本申请中各个实施例的技术方案之前,均会通过恰当的方式对所涉及的个人信息的类型、使用范围、使用场景等告知用户,并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确的提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主的选择是否向执行本申请技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定的实现方式,响应于接受到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本申请的实现方式构成限定,其他满足相关法律法规的方式也可应用于本申请的实现方式中。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
发明概述
目前相关技术中,在制作特效动画时,一般通过以下三种方法来实现圆形类特效:第一种方法使用粒子发射器发射单张贴图或序列贴图,通过叠加多张贴图丰富效果,来模拟爆炸、刀光、光环等圆形类特征。这种方法直接使用发射器发射贴图来满足效果,但是这种方法在表现不同材质的特效时,需要依赖大量高精度贴图。如果需要表现圆形范围的冰、火、毒等特效,需要制作出不同质感的圆形贴图,就需要全部定制贴图,数量巨大且利用率较低。而且,另一方面,这种方法依旧会有浪费性能的问题。以图3为例,虽然这个圆形范围的冰特效只使用了两张贴图,但在线框模式下发现,有一部分顶点没有在游戏中显示但是却参加了特效的渲染,而且圆形面积越大越消耗性能,从而导致出现过渡渲染(Overdraw),如图3中的右上角的三角形区域。
相关技术中的第二种方法通过使用高面数模型来模拟爆炸、刀光、光环等特效,第二种方法比第一种现有技术更为灵活多变,在贴图量有限的情况下通过使用不同基础贴图制作出丰富的特效表现,贴图能够被重复利用。但是第二种方法与上述第一种方法相比但仍有不足,例如此方案在表现大范围圆形类特效依旧有性能方面的缺陷。虽然高面数的模型能够保证贴图的精度、品质、无棱角,但是面数过高,对性能的消耗也较高,特别是在MMO(多人竞技)游戏中,经常出现百人同屏游戏竞技,释放技能的时候容易出现卡顿甚至是crash(闪退)现象。
相关技术中的第三种方法通过使用低面数模型来模拟爆炸、刀光、光环等特效,这种方法使用低面数的模型替代高面数的模型去表现大范围的圆形类特效,虽然可以减少游戏性能的消耗,但是这种方法在UV贴图流动时,特效会产生接缝,即圆心相交部分的面会有折痕,而且特效范围越大接缝问题越明显。
综上所述,在制作特效动画时,一般需要高面数的模型才能保证其精度,但会因此占用性能。当项目对性能有一定要求时候,如大型多人在线游戏,经常出现玩家同屏能达到上百人,且每一位玩家都需要放技能的时,就有可能出现游戏闪退或是卡顿严重等现象。因此,相关技术中经常采用降低特效的模型面数的方式,来减少渲染性能的消耗,但是,相关技术中,模型面数的减少会使得圆形特效出现明显的折痕瑕疵。参考图4,为相关技术中的另一种圆形特效的效果,由图4可以看到,相关技术中,即使模型的面数达到40面时,最终得到的圆形特效依然具有明显的纹理折痕。
为了解决上述问题,本申请的发明人经过研究发现,目前相关技术中,之所以需要模型提供特别高的面数,是因为相关技术中,在赋予模型纹理(材质)时,需要对模型进行UV展开,然后在UV贴图中确定模型的纹理,即需要通过UV纹理贴图赋予模型纹理。但是,UV贴图对应的坐标系都是笛卡尔坐标系(直角坐标系或斜坐标系),当对模型进行UV展开时,相当于将组成模型的多个面在UV贴图中进行展开,这时相邻的两个面在UV贴图中会产生裂缝,而且,组成模型的面越少对应的裂缝越大,因此为了弥补这种裂缝,需要模型提供更多的面数。参考图6,为将图5的纹理通过UV贴图赋予到模型后的效果,可以看到图6中存在明显的折痕。
参考图7为一种模型的UV纹理贴图,其中,图7对应的模型一共有40个面,在得到图7时,先将模型的40面进行UV展开,得到40个面的UV展开贴图,然后为40个面的UV展开贴图赋予纹理,就可以得到图7对应的UV纹理贴图。图7中,各个面的边界通过白色线条来表示,由于各个面都是独立且断开的,所以图7中相邻的两个面之间明显存在裂缝。参考图8为另一种模型的UV纹理贴图,图8对应的模型一共有7个面,由于图8对应的模型的面数更少,因此,图8与图7相比相邻的两个面之间的裂缝会更大。
为了解决必须提高模型面数才能避免圆形特效出现折痕的这种矛盾,本申请的发明人经过研究发现,当将UV贴图的坐标系转化为极坐标系后,可以完美解决上述面数与折痕之间的矛盾,即当通过极坐标纹理贴图来赋予模型纹理时,即使模型的面数较低也不会出现折痕。参考图9,为通过图5的纹理得到的一种极坐标纹理贴图,可以看到,图9中本身不存在像图7或图8中的三角形面,因此,更不存在相邻的两个三角形面之间的裂缝。因此,通过图9的极坐标纹理贴图来赋予模型纹理时不会受到模型本身面数的影响,从而完美解决了相关技术中在进行圆形类特效渲染时面数与折痕之间的矛盾。
综上所述,本申请提供了一种特效动画的生成方法,具体包括:确定待生成的目标特效动画对应的目标模型;获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;基于所述极坐标纹理贴图生成所述目标特效动画,从而通过极坐标纹理贴图实现了低面数模型高精度的模拟圆形类特效,降低了圆形类特效对性能的消耗,避免了游戏中由于渲染性能的消耗而产生的闪退或卡顿严重等现象。
在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。
应用场景总览
在一些具体的应用场景中,本申请的特效动画的生成方法可以应用于各种涉及需要生成特效动画的系统中。可选的,该系统可以是游戏或动画系统,作为一种示例,参考图1,该应用场景包括至少一个服务器102和至少一个终端101。终端设备包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器与终端之间可以通过网络进行通信,以实现数据的传输。其中,网络可以是有线网络或无线网络,本申请对此不作具体限定。
服务器可以是提供各种服务的服务器。具体的,服务器可以用于为终端运行的应用程序提供后台服务。可选的,在一些实现方式中,本申请实施例提供的特效动画的生成方法可以由终端设备或服务器执行。服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。本申请实施例对此不作具体限定。
可选的,上述无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(hyper text mark-up language,HTML)、可扩展标记语言(extensible markuplanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,SSL)、传输层安全(transport layer security,TLS)、虚拟专用网络(virtual private network,VPN)、网际协议安全(internet protocolsecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面结合具体的应用场景,来描述根据本申请示例性实施方式的特效动画的生成方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
示例性方法
参考图2,本申请实施例提供了一种特效动画的生成方法,该特效动画的生成方法的执行主体可以但不限于是服务器或终端设备。该方法包括以下步骤:
S101,确定待生成的目标特效动画对应的目标模型。
具体实施时,在做特效动画,需要先确定待生成的目标特效动画对应的目标模型,可选的,本申请实施例中的目标特效动画主要指圆形、圆弧形、椭圆形、半圆形等具有一定曲率的圆形类特效动画。一般为了模拟圆形或圆弧形,目标模型大多数为由多个多边形面拼接组成的正多边形模型。例如,正十二边形,正四十边形等。可选的,在一些实施例中,也可以由多个三角形面围绕一个顶点旋转一周形成目标模型。相关技术中,为了使得目标模型的边缘更圆滑,同时为了避免特效中出现折痕,一般面数较多,即拼接目标模型的多边形的数量较多,从而导致圆形特效的性能消耗较高。但是,在本申请实施例中,由于消除了目标模型面数对圆形特效的影响,因此,可以根据需要选择面数较少的目标模型,例如,目标模型可以是正方形,正六边形和正八边形等。
在一些实施例中,上述步骤S101中的目标特效动画可以是游戏场景中特殊环境对应的特效动画,例如,泥石流、龙卷风特效动画等,也可以是游戏中虚拟角色释放的圆形类技能对应的特效动画,例如,大范围的爆炸、冰冻、刀光等技能的特效动画。
为了能够动态调节目标模型的面数,使得圆形特征能够同时满足性能需求和精度需求,在一些实施例中,确定所述多个多边形面的数量的步骤包括:
确定所述目标特效动画播放场景中的所有特效动画的数量;
基于所述所有特效动画的数量在预设数量范围内确定所述多个多边形面的数量。
具体实施时,一般情况下,考虑到组成目标模型的多边形的数量与性能成反比关系,所以组成目标模型的多边形的数量应该越少越好,但是,考虑到实施应用场景中,当目标模型的面数较少时,在渲染圆形特征时,相应的无效渲染区域(面积)会增加。参考图10,图10左侧的目标模型为正方形,相当于对应了4个多边形,而右侧的目标模型为正八边形,相当于对应了8个多边形,可以看到,左侧的未渲染区域明显大于右侧,从而导致了渲染空间的浪费。为了避免这种情况,可以通过预设数量范围来限时目标模型的面数,可选的,该预设数量范围可以通过实验进行设置,例如,可以将预设数量范围设置为6到10。此外,考虑到当目标特效动画播放场景中的所有特效动画的数量逐渐较大时,对性能的消耗也会逐渐提高,因为,为了避免出现卡顿或闪退等现象,可以进一步根据场景中的所有特效动画的数量在预设数量范围内确定所述多个多边形面的数量。一般情况下,场景中的所有特效动画的数量越多,对应的所述多个多边形面的数量也越小。
在一些实施例中,确定所述多个多边形面的数量的步骤包括:
响应于确定所述目标特效动画为游戏技能的特效动画,从预设数量范围内确定出最大数量,将所述多个多边形面的数量确定为所述最大数量。
具体实施时,考虑到,当目标特效动画为游戏技能的特效动画,技能释放范围与目标特效动画的范围的匹配度直接影响到用户的游戏体验。例如,当某技能为圆形冰冻技能,但实际冰冻技能对应的目标模型为正方形,此时,正方形的四个角不会出现冰冻特效,但是若有虚拟角色处于该四个角所处的区域,则会受到冰冻技能的攻击,从而导致用户无法通过技能特效动画来准确判断技能的释放范围,严重影响了用户的体验感。因此,当确定所述目标特效动画为游戏技能的特效动画时,需要从预设数量范围内确定出最大数量,将所述多个多边形面的数量确定为所述最大数量。从而避免了用户的受控虚拟角色在没有看到技能特效的区域内受到技能的伤害。
S102,获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图。
具体实施时,在确定目标模型后,为了精确的为目标模型的每个面添加纹理,先获取目标特效动画对应的纹理贴图,然后将目标模型进行UV展开,得到空白的UV展开贴图,并通过纹理贴图确定UV展开贴图的纹理,确定目标模型的UV纹理贴图。可选的,目标特效动画对应的纹理贴图,即目标特效动画的原始纹理贴图,用于为特效动画提供最初的纹理。一般可以根据将要生成的特效动画来选择对应的纹理贴图,例如,若将要生成冰冻特效动画,则选择冰纹纹理贴图,若将要生成波浪特效动画,则选择水纹纹理贴图。可选的,在获取纹理贴图时,可以直接通过用户的输入来获取,也可以通过用户指令从纹理贴图库中选择合适的纹理贴图,对此不做限定。
S103,将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图。
具体实施时,在确定目标模型的UV纹理贴图后,为了消除目标模型面数对折痕的影响,本实施例中将所述UV纹理贴图对应的坐标系(笛卡尔坐标系)转化为极坐标系,得到所述目标模型的极坐标纹理贴图。可选的,在将UV纹理贴图对应的坐标系转化为极坐标系时,可以先从UV纹理贴图对应的坐标系中确定一个极坐标的原点,然后通过该原点将UV纹理贴图中的每个像素点的坐标由笛卡尔坐标转化为极坐标。可选的,极坐标的原点可以根据需要进行选择,对此不做限定,例如,可以将UV纹理贴图中的任意一条边的中心点确定为极坐标的原点,或者可以将UV纹理贴图的中心点确定为极坐标的原点。
为了将UV纹理贴图对应的坐标系转化为极坐标的同时,能够直接将UV纹理贴图转化为圆形,在一些实施例中,将所述UV纹理贴图对应的坐标系转化为极坐标系,具体包括:
在所述UV纹理贴图中确定所述极坐标系的目标原点;
将过所述目标原点且平行所述UV纹理贴图目标边缘的连线作为参考线段;
基于所述UV纹理贴图中的像素点距离所述参考线段的垂直距离确定所述像素点在所述极坐标系中的极径;
基于所述UV纹理贴图中的像素点在其对应的目标线段的位置确定所述像素点在所述极坐标系中的极角;其中,所述目标线段过所述像素点且平行于所述参考线段;
基于所述极径与所述极角将所述UV纹理贴图对应的坐标系转化为极坐标系。
具体实施时,先在所述UV纹理贴图中确定所述极坐标系的目标原点,该目标原点即极坐标系的原点。可选的,可以将所述UV纹理贴图中的任意像素点的位置确定为目标原点,例如,可以将UV纹理贴图的中心点确定为目标原点。在确定目标原地后,可以将过所述目标原点且平行所述UV纹理贴图目标边缘的连线作为参考线段,该目标边缘可以是UV纹理贴图的任意一条边缘,对此不做限定,具体实施中可以根据需要进行设置。例如,当将UV纹理贴图的中心点确定为目标原点,且UV纹理贴图包括水平边缘和竖直边缘,可以将UV纹理贴图上过中心点的水平方向的连线确定为参考线段,或者可以将UV纹理贴图上过中心点的竖直方向的连线确定为参考线段。该参考线段用于帮助确定极坐标系中的极径和极角。
在确定参考线段后,将所述UV纹理贴图中的像素点距离所述参考线段的垂直距离作为所述极坐标系中的极径,并根据所述UV纹理贴图中的像素点在其对应的目标线段的位置确定所述像素点的极角;其中,所述目标线段过所述像素点且平行于所述参考线段;可选的,在根据所述UV纹理贴图中的像素点在其对应的目标线段的位置确定所述像素点的极角时,可以将目标线段上的所有像素点对应的极角,按照像素点的位置距离目标原点的距离分布到-π到π之间,从而使得每个像素点均可以根据其在目标线段上的位置确定极角。可选的,还可以直接将目标线段上的所有像素点对应的极角平均分布到0到2π之间,从而使得每个像素点均可以根据其在目标线段上的位置确定一个极角。在确定了每个像素点的极径与极角后,就可以根据所述极径与所述极角将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图。
参考图11,为本申请实施例中的一种UV纹理贴图,将图11的坐标系通过上述实施例的方法转化为极坐标系后,就得到了图12所示的极坐标纹理贴图,其中,图12所示的极坐标纹理贴图的极坐标的原点即为图11中上边缘的中心点。可以看到,同上述方法得到的图12所示的极坐标纹理贴图,可以直接将UV纹理贴图转化为圆形的极坐标纹理贴图,不仅消除了UV纹理贴图中的裂缝,而且通过圆形的极坐标纹理贴图生成目标特效动画,可以减少对目标模型的形状的要求,即使目标模型的形状不符合圆形特效的要求,也不会影响生成的目标圆形特效的圆滑程度。
在一些实施例中,还可以直接通过如下公式,将所述UV纹理贴图对应的坐标系转化为极坐标系:
θ=atan2(y,x);
其中,r表示极坐标的极径,x和y分别表示UV纹理贴图的直角坐标系中的两个坐标分量,θ表示极坐标的极角,atan2表示计算反正切的函数。由于在UV纹理贴图的直角坐标系中,可以获取到每个像素点的两个坐标分量,因此,在确定一个极坐标的原点后,就可以通过上述公式,将UV纹理贴图对应的坐标系转化为极坐标系。需要说明是,当确定的极坐标的原点与UV纹理贴图的直角坐标系的原点不重合时,需要进一步对上述直角坐标系中的两个坐标分量进行平移。例如,在UV纹理贴图的直角坐标系中,一般两个坐标分量的取值范围均为0到1,若确定的极坐标的原点距离UV纹理贴图的直角坐标系的原点沿x正方向平移了0.5,则需要先将UV纹理贴图的直角坐标系的坐标分量沿x正方向平移0.5,即用(x-0.5)替换上述公式中的x后,再计算极坐标系中的极径r和极角θ。
参考图13,为本申请实施例的另一种将UV纹理贴图转化为极坐标纹理贴图的示意图,图13为图11通过上述公式对应的实施例得到的极坐标纹理贴图。图13所示的极坐标纹理贴图同样消除了UV纹理贴图中的裂缝,但是,并没有将极坐标纹理贴图转化为圆形的纹理贴图。
在一些实施例中,参考图14,在通过渲染引擎将纹理贴图的直角坐标转化为极坐标的过程可以分成以下四部分:其中,第一部分(图14中的标号1所指的虚线框内)中的TextureCoordinate节点代表模型纹理坐标,即模型UV坐标,该UV坐标是一个二维向量,可选的,默认的UV值都为数值0到1的向量。Subtract节点,表示减法的意思。将TextureCoordinate连到Subtract节点的A输入口,B输入口输入参数0.5,得出一个UV坐标都整体偏移了-0.5的UV,此步骤的作用是将原本0到1的UV坐标变成了-0.5到0.5。第二部分(图14中标号2所指的虚线框)中的BreakComponent2节点,可以将输入的2维向量拆分为两个1维向量,这里是将UV坐标拆分成独立的U向量和V向量。Arctangent2节点用于计算反正切,这里将U向量和V向量进行反正切,得到一个一维向量。Pi节点表示π的意思。输入参数2相当于π乘以2,然后输出数值6.28318(2π)。Divide节点表示除法的意思。这里是将前面的一维向量除以6.28318,得出一个新的一维向量(假设为向量u)。第三部分(图14中标号3所指的虚线框)中的Length节点用于计算向量的模长,得出一个新的一维向量(假设为向量v)。Multiply节点表示乘法的意思。这里将向量v乘以2。第四部分(图14中标号4所指的虚线框)中的AppendVector(追加矢量)节点,用于将通道组合在一起,以创建通道数比原始矢量更多的矢量。这里是将向量u和向量v组合得出一个新的二维向量,这样就得到了极坐标UV。
在一些实施例中,参考图15和图16,在通过渲染引擎制作极坐标纹理贴图时,可以先在主贴图MainTex处写入一张纹理贴图的文件路径,即图15标号2处的位置,该步骤相当于为目标圆形特征动画获取了对应的纹理贴图,在写入纹理贴图后,可以在图15标号1处显示出贴图面片的纹理。图15中的标号1处是一个正方形的面片,用于显示材质渲染的内容。在写入纹理贴图后,可以在遮罩贴图MaskTex处写入一张圆形贴图的文件路径,这样可以使得模型的面片能显示一个圆的外轮廓,这样就有一个圆形的材质,进一步的不用专门做一个面数很高的圆形模型也能显示为圆形。在得到纹理贴图后,渲染引擎默认的纹理贴图的坐标系为直角坐标系,这时可以通过勾选MainPolar(贴图的极坐标UV功能开关),即图16中标号4的位置,从而可以使得纹理贴图的坐标系转化为极坐标系。图16中标号5的位置用于显示材质渲染的内容,可以看到,图16中的纹理贴图已经从图15中的直角坐标系转化极坐标系。
S104,基于所述极坐标纹理贴图生成所述目标特效动画。
具体实施时,在得到目标模型的极坐标纹理贴图后,就可以通过极坐标纹理贴图生成所述目标特效动画。可选的,在通过极坐标纹理贴图生成所述目标特效动画时,由于消除了UV纹理贴图中的裂缝,因此可以在目标模型的面数较低时,依然可以实现完美的特效动画,从而进一步减少了渲染性能的消耗。可选的,在根据极坐标纹理贴图生成所述目标特效动画时,可以通过在不同时刻使得极坐标纹理贴图的形态属性参数不同,而产生目标特效动画。
在一些实施例中,所述形态属性参数包括位移参数、扭曲参数、拉伸参数中的一种或多种。需要说明的是,在调节极坐标纹理贴图的形态属性参数时,可以同时调节一种或多种上述形态属性参数。参考图17,为调节了扭曲参数后的极坐标纹理贴图,可以看到极坐标纹理贴图出现了不一样的波动纹理。
在一些实施例中,基于所述极坐标纹理贴图生成所述目标特效动画,具体包括:
令所述极坐标纹理贴图的形态属性参数随时间发生变化,以使所述目标模型产生所述目标特效动画。
具体实施时,在通过极坐标纹理贴图生成所述目标特效动画时,可以通过调节极坐标纹理贴图的形态属性参数,使其随时间发生变化,从而得到纹理不断变化的目标模型,即可以使所述目标模型产生所述目标特效动画。
在一些实施例中,令所述极坐标纹理贴图的形态属性参数随时间发生变化,具体包括:
确定所述待生成特效动画的单次播放时间,令所述极坐标纹理贴图的形态属性参数在所述单次播放时间内从第一预设数值随时间变化到第二预设数值。
具体实施时,在调节极坐标纹理贴图的形态属性参数时,可以先确定所述待生成特效动画的单次播放时间,可选的,该单次播放时间可以根据需要进行设置,例如,该单次播放时间可以设置为1秒。然后令所述极坐标纹理贴图的形态属性参数在所述单次播放时间内从第一预设数值随时间变化到第二预设数值。例如,当形态属性参数为位移参数时,可以使极坐标纹理贴图对应的位移参数在1秒内由0逐渐变成1。
在一些实施例中,基于所述极坐标纹理贴图生成所述目标特效动画,具体包括:
对于所述目标特效动画的每一帧动画帧,确定所述动画帧的播放时间,并基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数,基于所述形态属性参数调整所述极坐标纹理贴图,并基于调整后的所述极坐标纹理贴图生产所述动画帧;
基于所有所述动画帧生成所述目标特效动画。
具体实施时,在基于所述极坐标纹理贴图生成所述目标特效动画时,先确定目标特效动画的每一帧动画帧的播放时间,例如,某目标特效动画每秒播放10帧,则每一帧动画帧的播放时间可以是第0.1秒、第0.2秒、第0.3秒等,然后根据每一帧动画帧的播放时间确定其对应的极坐标纹理贴图的形态属性参数,即使得每一帧的动画帧对应的极坐标纹理贴图的形态属性参数均不同,从而在目标特效动画逐帧播放时,坐标纹理贴图不断发生变化,产生动态的特效动画。在基于每一帧的动画帧对应的形态属性参数调整完极坐标纹理贴图后,就可以根据该极坐标纹理贴图生成每一帧动画帧,即根据调整后的纹理贴图生成每个一帧的画面,最终将所有生成的动画帧组合到一起就可以生成目标特效动画。
需要说明的是,在基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数时,可以预先设置播放时间与形态属性参数的预设关系函数,然后通过该预设关系函数来确定每一帧的动画帧对应的形态属性参数,也可以预先设置播放时间与形态属性参数的映射列表,然后根据该映射列表确定每一帧的动画帧对应的形态属性参数,对此不做限定。
在一些实施例中,基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数,具体包括:
确定所述目标特效动画的总播放时间,以及所述形态属性参数在所述目标特效动画开始播放时的第一预设数值和结束播放时的第二预设数值;
基于所述第一预设数值、所述第二预设数值以及所述总播放时间确定所述形态属性参数的变化速率;
基于所述变化速率、所述第一预设数值以及所述动画帧的播放时间确定所述动画帧对应的所述形态属性参数。
具体实施时,为了准确的确定每一帧动画帧对应的所述极坐标纹理贴图的形态属性参数,可以先确定所述目标特效动画的总播放时间,以及所述形态属性参数在所述目标特效动画开始播放时的第一预设数值和结束播放时的第二预设数值,可选的,该总播放时间、所述第一预设数值和所述第二预设数值可以通过用户的输入的数值来确定,也可以实现设置为固定值,对此不做限定。当确定了总播放时间、所述第一预设数值和所述第二预设数值后,就可以根据这三个数值计算所述形态属性参数的变化速率,可选的,可以用第二预设数值与第一预设数值的差值与总播放时间做除法,得到所述形态属性参数的变化速率,在得到所述形态属性参数的变化速率后,就可以根据第一预设数值(初始数值)和每一帧的播放时间确定各个动画帧对应的所述极坐标纹理贴图的形态属性参数。
在一些实施例中,在基于所述极坐标纹理贴图生成所述目标特效动画之前,所述方法还包括:
获取所述目标特效动画对应的圆形遮罩贴图;
基于所述圆形遮罩贴图确定所述极坐标纹理贴图中各个像素点的透明度。
具体实施时,为了更好的保证最终形成的特效动画为圆形,可以通过圆形遮罩贴图确定所述极坐标纹理贴图中各个像素点的透明度。参考图18为本申请实施例中的一种圆形遮罩贴图,当利用该圆形遮罩贴图调节极坐标纹理贴图中各个像素点的透明度时,可以令极坐标纹理贴图中与圆形遮罩贴图的黑色区域重合的部分的像素点的透明度为1,从而使得这部分的极坐标纹理贴图不被显示。在一些实施例中,当采用如图13所示的极坐标纹理贴图时,进一步的配合图18所示的圆形遮罩贴图,可以在目标模型的面数较低的情况下,依然保证生成的目标圆形特效整体为圆形,且边缘圆滑。
本申请提供的特效动画的生成方法,先确定待生成的目标特效动画对应的目标模型;获取所述目标特效动画对应的纹理贴图,然后基于所述纹理贴图确定所述目标模型的UV纹理贴图;将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;基于所述极坐标纹理贴图生成所述目标特效动画,从而通过极坐标纹理贴图实现了低面数模型高精度的模拟圆形类特效,降低了圆形类特效对性能的消耗,避免了游戏中由于渲染性能的消耗而产生的闪退或卡顿严重等现象。参考图19,为通过本申请实施例的方法得到的一种特效动画的效果示意图,可以看到,图19中目标模型的面数仅为8,但是纹理依然清晰且无折痕。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
示例性设备
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种特效动画的生成装置。
参考图20,所述特效动画的生成装置包括:
确定模块201,确定待生成的目标特效动画对应的目标模型;
获取模块202,获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;
转化模块203,将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;
生成模块204,基于所述极坐标纹理贴图生成所述目标特效动画。
在一些实施例中,所述目标模型为由多个多边形面拼接组成的多边形。
在一些实施例中,所述生成模块,具体用于:
对于所述目标特效动画的每一帧动画帧,确定所述动画帧的播放时间,并基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数,基于所述形态属性参数调整所述极坐标纹理贴图,并基于调整后的所述极坐标纹理贴图生产所述动画帧;
基于所有所述动画帧生成所述目标特效动画。
在一些实施例中,所述形态属性参数包括位移参数、扭曲参数、拉伸参数中的一种或多种。
在一些实施例中,所述生成模块,具体用于:
确定所述目标特效动画的总播放时间,以及所述形态属性参数在所述目标特效动画开始播放时的第一预设数值和结束播放时的第二预设数值;
基于所述第一预设数值、所述第二预设数值以及所述总播放时间确定所述形态属性参数的变化速率;
基于所述变化速率、所述第一预设数值以及所述动画帧的播放时间确定所述动画帧对应的所述形态属性参数。
在一些实施例中,所述装置还包括遮罩模块,用于:
获取所述目标特效动画对应的圆形遮罩贴图;
基于所述圆形遮罩贴图确定所述极坐标纹理贴图中各个像素点的透明度。
在一些实施例中,所述装置还包括数量模块,用于:
确定所述目标特效动画播放场景中的所有特效动画的数量;
基于所述所有特效动画的数量在预设数量范围内确定所述多个多边形面的数量。
在一些实施例中,所述数量模块还用于:
响应于确定所述目标特效动画为游戏技能的特效动画,从预设数量范围内确定出最大数量,将所述多个多边形面的数量确定为所述最大数量。
在一些实施例中,所述转化模块具体用于:
在所述UV纹理贴图中确定所述极坐标系的目标原点;
将过所述目标原点且平行所述UV纹理贴图目标边缘的连线作为参考线段;
基于所述UV纹理贴图中的像素点距离所述参考线段的垂直距离确定所述像素点在所述极坐标系中的极径;
基于所述UV纹理贴图中的像素点在其对应的目标线段的位置确定所述像素点在所述极坐标系中的极角;其中,所述目标线段过所述像素点且平行于所述参考线段;
基于所述极径与所述极角将所述UV纹理贴图对应的坐标系转化为极坐标系。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的系统用于实现前述任一实施例中相应的特效动画的生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的特效动画的生成方法。
图21示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的特效动画的生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
示例性程序产品
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的特效动画的生成方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的特效动画的生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器执行以使得所述处理器执行上述实施例所述的特效动画的生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
在一些实施例中,可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,本申请的实施例还可以以下方式进一步描述:
一种特效动画的生成方法,包括:
确定待生成的目标特效动画对应的目标模型;
获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;
将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;
基于所述极坐标纹理贴图生成所述目标特效动画。
可选的,所述目标模型为由多个多边形面拼接组成的多边形。
可选的,基于所述极坐标纹理贴图生成所述目标特效动画,具体包括:
对于所述目标特效动画的每一帧动画帧,确定所述动画帧的播放时间,并基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数,基于所述形态属性参数调整所述极坐标纹理贴图,并基于调整后的所述极坐标纹理贴图生产所述动画帧;
基于所有所述动画帧生成所述目标特效动画。
可选的,所述形态属性参数包括位移参数、扭曲参数、拉伸参数中的一种或多种。
可选的,基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数,具体包括:
确定所述目标特效动画的总播放时间,以及所述形态属性参数在所述目标特效动画开始播放时的第一预设数值和结束播放时的第二预设数值;
基于所述第一预设数值、所述第二预设数值以及所述总播放时间确定所述形态属性参数的变化速率;
基于所述变化速率、所述第一预设数值以及所述动画帧的播放时间确定所述动画帧对应的所述形态属性参数。
可选的,在基于所述极坐标纹理贴图生成所述目标特效动画之前,所述方法还包括:
获取所述目标特效动画对应的圆形遮罩贴图;
基于所述圆形遮罩贴图确定所述极坐标纹理贴图中各个像素点的透明度。
可选的,确定所述多个多边形面的数量的步骤包括:
确定所述目标特效动画播放场景中的所有特效动画的数量;
基于所述所有特效动画的数量在预设数量范围内确定所述多个多边形面的数量。
可选的,确定所述多个多边形面的数量的步骤包括:
响应于确定所述目标特效动画为游戏技能的特效动画,从预设数量范围内确定出最大数量,将所述多个多边形面的数量确定为所述最大数量。
可选的,将所述UV纹理贴图对应的坐标系转化为极坐标系,具体包括:
在所述UV纹理贴图中确定所述极坐标系的目标原点;
将过所述目标原点且平行所述UV纹理贴图目标边缘的连线作为参考线段;
基于所述UV纹理贴图中的像素点距离所述参考线段的垂直距离确定所述像素点在所述极坐标系中的极径;
基于所述UV纹理贴图中的像素点在其对应的目标线段的位置确定所述像素点在所述极坐标系中的极角;其中,所述目标线段过所述像素点且平行于所述参考线段;
基于所述极径与所述极角将所述UV纹理贴图对应的坐标系转化为极坐标系。
所在领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种特效动画的生成方法,其特征在于,包括:
确定待生成的目标特效动画对应的目标模型;
获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;
将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;
基于所述极坐标纹理贴图生成所述目标特效动画。
2.根据权利要求1所述的方法,其特征在于,所述目标模型为由多个多边形面拼接组成的多边形。
3.根据权利要求1所述的方法,其特征在于,基于所述极坐标纹理贴图生成所述目标特效动画,具体包括:
对于所述目标特效动画的每一帧动画帧,确定所述动画帧的播放时间,并基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数,基于所述形态属性参数调整所述极坐标纹理贴图,并基于调整后的所述极坐标纹理贴图生产所述动画帧;
基于所有所述动画帧生成所述目标特效动画。
4.根据权利要求3所述的方法,其特征在于,所述形态属性参数包括位移参数、扭曲参数、拉伸参数中的一种或多种。
5.根据权利要求3所述的方法,其特征在于,基于所述播放时间确定所述动画帧对应的所述极坐标纹理贴图的形态属性参数,具体包括:
确定所述目标特效动画的总播放时间,以及所述形态属性参数在所述目标特效动画开始播放时的第一预设数值和结束播放时的第二预设数值;
基于所述第一预设数值、所述第二预设数值以及所述总播放时间确定所述形态属性参数的变化速率;
基于所述变化速率、所述第一预设数值以及所述动画帧的播放时间确定所述动画帧对应的所述形态属性参数。
6.根据权利要求1所述的方法,其特征在于,在基于所述极坐标纹理贴图生成所述目标特效动画之前,所述方法还包括:
获取所述目标特效动画对应的圆形罩着贴图;
基于所述圆形遮罩贴图确定所述极坐标纹理贴图中各个像素点的透明度。
7.根据权利要求2所述的方法,其特征在于,确定所述多个多边形面的数量的步骤包括:
确定所述目标特效动画播放场景中的所有特效动画的数量;
基于所述所有特效动画的数量在预设数量范围内确定所述多个多边形面的数量。
8.根据权利要求2所述的方法,其特征在于,确定所述多个多边形面的数量的步骤包括:
响应于确定所述目标特效动画为游戏技能的特效动画,从预设数量范围内确定出最大数量,将所述多个多边形面的数量确定为所述最大数量。
9.根据权利要求1所述的方法,其特征在于,将所述UV纹理贴图对应的坐标系转化为极坐标系,具体包括:
在所述UV纹理贴图中确定所述极坐标系的目标原点;
将过所述目标原点且平行所述UV纹理贴图目标边缘的连线作为参考线段;
基于所述UV纹理贴图中的像素点距离所述参考线段的垂直距离确定所述像素点在所述极坐标系中的极径;
基于所述UV纹理贴图中的像素点在其对应的目标线段的位置确定所述像素点在所述极坐标系中的极角;其中,所述目标线段过所述像素点且平行于所述参考线段;
基于所述极径与所述极角将所述UV纹理贴图对应的坐标系转化为极坐标系。
10.一种特效动画的生成装置,其特征在于,包括:
确定模块,确定待生成的目标特效动画对应的目标模型;
获取模块,获取所述目标特效动画对应的纹理贴图,基于所述纹理贴图确定所述目标模型的UV纹理贴图;
转化模块,将所述UV纹理贴图对应的坐标系转化为极坐标系,得到所述目标模型的极坐标纹理贴图;
生成模块,基于所述极坐标纹理贴图生成所述目标特效动画。
11.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述程序时实现如权利要求1至9中任意一项所述的方法。
12.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311221182.0A CN117252959A (zh) | 2023-09-20 | 2023-09-20 | 特效动画的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311221182.0A CN117252959A (zh) | 2023-09-20 | 2023-09-20 | 特效动画的生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117252959A true CN117252959A (zh) | 2023-12-19 |
Family
ID=89130756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311221182.0A Pending CN117252959A (zh) | 2023-09-20 | 2023-09-20 | 特效动画的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117252959A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118096981A (zh) * | 2024-04-22 | 2024-05-28 | 山东捷瑞数字科技股份有限公司 | 一种基于模型动态变化的映射贴图处理方法、系统及设备 |
-
2023
- 2023-09-20 CN CN202311221182.0A patent/CN117252959A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118096981A (zh) * | 2024-04-22 | 2024-05-28 | 山东捷瑞数字科技股份有限公司 | 一种基于模型动态变化的映射贴图处理方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9691172B2 (en) | Furry avatar animation | |
US9852544B2 (en) | Methods and systems for providing a preloader animation for image viewers | |
US8817021B1 (en) | System for writing, interpreting, and translating three-dimensional (3D) scenes | |
Parisi | Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages | |
US8917270B2 (en) | Video generation using three-dimensional hulls | |
US8566736B1 (en) | Visualization of value resolution for multidimensional parameterized data | |
JP2016516241A (ja) | 拡張現実体験の様々な環境へのマッピング | |
KR20080090671A (ko) | 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치 | |
US20130278600A1 (en) | Rendering interactive photorealistic 3d model representations | |
US10740981B2 (en) | Digital stages for presenting digital three-dimensional models | |
US20130257856A1 (en) | Determining a View of an Object in a Three-Dimensional Image Viewer | |
CN117252959A (zh) | 特效动画的生成方法、装置、电子设备及存储介质 | |
US20140184596A1 (en) | Image based rendering | |
WO2022012349A1 (zh) | 动画处理方法、装置、电子设备及存储介质 | |
Montano-Murillo et al. | OpenMPD: A low-level presentation engine for Multimodal Particle-based Displays | |
CN114452646A (zh) | 虚拟对象透视处理方法、装置及计算机设备 | |
Yu et al. | A survey of real-time rendering on Web3D application | |
Arora | WebGL Game Development | |
Izani et al. | Economical vr/ar method for interior design programme | |
CN114299203A (zh) | 虚拟模型的处理方法和装置 | |
WO2023185228A1 (zh) | 网格模型处理方法、装置、设备以及存储介质 | |
CN117528171A (zh) | 弹幕显示方法、装置、电子设备、存储介质及程序产品 | |
CN117252976A (zh) | 模型渲染次序的确定方法、装置、电子设备及存储介质 | |
US20240104829A1 (en) | Using vector graphics to create 3d content | |
CN117599420A (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 |