CN115797524A - 虚拟水花动画的生成方法、装置、存储介质及电子装置 - Google Patents
虚拟水花动画的生成方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN115797524A CN115797524A CN202211297990.0A CN202211297990A CN115797524A CN 115797524 A CN115797524 A CN 115797524A CN 202211297990 A CN202211297990 A CN 202211297990A CN 115797524 A CN115797524 A CN 115797524A
- Authority
- CN
- China
- Prior art keywords
- virtual
- splash
- map
- normal
- normal information
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟水花动画的生成方法、装置、存储介质及电子装置。该方法包括:获取预设的虚拟水花的资产文件;确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息;基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息;利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画。本申请解决了相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种虚拟水花动画的生成方法、装置、存储介质及电子装置。
背景技术
在虚拟场景的画面设计过程中,经常需要模拟水花打在镜头上的效果。现有方案中,通常使用自定义的着色器,通过水滴法线贴图对屏幕坐标进行扭曲,进而根据扭曲结果和虚拟场景画面帧,得到水花打在镜头上的效果。然而,这种方法的缺陷在于:水花效果比较单一,用户体验差。
针对上述的问题,目前尚未提出有效的解决方案。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请实施例提供了一种虚拟水花动画的生成方法、装置、存储介质及电子装置,以至少解决相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
根据本申请实施例的一个方面,提供了一种虚拟水花动画的生成方法,包括:获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息;基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息;利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画。
根据本申请实施例的另一方面,还提供了一种虚拟水花动画的生成装置,包括:获取模块,用于获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;第一确定模块,用于确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息;第二确定模块,用于基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息;生成模块,用于利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画。
根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟水花动画的生成方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括:包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟水花动画的生成方法。
在本申请至少部分实施例中,通过获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴,确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息,进一步基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息,并利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画,达到了基于虚拟水花的流动水滴法线信息和非流动水滴法线信息制作虚拟场景对应的虚拟水花动画的目的,从而实现了通过虚拟水花动画提高虚拟水花效果的丰富度进而提升用户体验的技术效果,进而解决了相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据相关技术的一种虚拟水花效果的示意图;
图2是根据本申请其中一实施例的一种虚拟水花动画的生成方法的移动终端的硬件结构框图;
图3是根据本申请其中一实施例的一种虚拟水花动画的生成方法的流程图;
图4是根据本申请其中一实施例的一种水滴流动方向控制方式的示意图;
图5是根据本申请其中一实施例的一种虚拟水花动画效果的示意图;
图6是根据本申请其中一实施例的一种虚拟水花动画的生成装置的结构框图;
图7是根据本申请其中一实施例的一种电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请的说明书中,“例如”一词用来表示“用作例子、例证或说明”。本申请中被描述为“例如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
在对本申请实施例进行描述的过程中,出现的部分名词或术语适用于如下解释:
Shader着色器:用于对虚拟场景进行实时渲染,以计算生成该虚拟场景对应的不同画面效果。该Shader着色器能够用于图像后处理,并且支持用户自定义。
屏幕坐标(ScreenUV):是指基于设备屏幕(例如,手机显示屏、电脑显示屏等)的二维坐标信息,其中,U可以表示横向坐标,V可以表示纵向坐标,U与V相互垂直。
Neox2.0引擎:是指一款网易自研的游戏引擎。该Neox2.0引擎中包含动画系统(Timeline系统),该Timeline系统能够通过对虚拟对象(例如,虚拟模型、虚拟相机和虚拟材质等)配置关键帧以实现该虚拟对象的动画效果。
目前,根据相关技术提供的虚拟水花动画的生成方法,通常通过一张预设的水滴法线贴图对ScreenUV进行扭曲,并采用扭曲后的ScreenUV对虚拟场景的当前画面帧进行采样,以得到虚拟场景对应的虚拟水花效果。图1是根据相关技术的一种虚拟水花效果的示意图,如图1所示,采用相关技术得到的虚拟水花效果是静态的,无法呈现与现实场景类似的水花中部分水滴流动的效果,使得虚拟场景的画面丰富度较低,用户体验较差。
在本申请的一种可能的实施方式中,针对计算机技术和图像处理领域下,技术人员在虚拟场景画面设计背景中通常所采用的虚拟水花动画的生成方法,发明人经过实践并仔细研究后,仍然存在由于虚拟水花效果单一导致虚拟场景画面丰富度低且用户体验较差的技术问题。基于此,本申请实施例的应用场景可以是涉及虚拟水花生成过程的游戏画面设计场景,所针对的游戏类型可以是动作类、冒险类、模拟类、角色扮演类和休闲类等。
本申请实施例提出了一种虚拟水花动画的生成方法,基于Shader着色器和Neox2.0引擎,采用基于虚拟水花的流动水滴法线信息和非流动水滴法线信息制作虚拟场景对应的虚拟水花动画的技术构思,实现了通过虚拟水花动画提高虚拟水花效果的丰富度进而提升用户体验的技术效果,进而解决了相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
本申请涉及到的上述方法实施例,可以在终端设备(例如,移动终端、计算机终端或者类似的运算装置)中执行。以运行在移动终端上为例,该移动终端可以是智能手机、平板电脑、掌上电脑以及移动互联网设备、PAD、游戏机等终端设备。
图2是根据本申请其中一实施例的一种虚拟水花动画的生成方法的移动终端的硬件结构框图。如图2所示,移动终端可以包括一个或多个(图2中仅示出一个)处理器202、存储器204、传输设备206、输入输出设备208以及显示设备210。以虚拟水花动画的生成方法通过该移动终端应用于电子游戏场景为例,处理器202调用并运行存储器204中存储的计算机程序以执行该虚拟水花动画的生成方法,所生成的电子游戏场景中的虚拟水花动画通过传输设备206传输至输入输出设备208和/或显示设备210,进而将该虚拟水花动画提供给玩家。
仍然如图2所示,处理器202可以包括但不限于:中央处理器(Central ProcessingUnit,CPU)、图形处理器(Graphics Processing Unit,GPU)、数字信号处理(DigitalSignal Processing,DSP)芯片、微处理器(Microcontroller Unit,MCU)、可编程逻辑器件(Field Programmable Gate Array,FPGA)、神经网络处理器(Neural-Network ProcessingUnit,NPU)、张量处理器(Tensor Processing Unit,TPU)、人工智能(ArtificialIntelligence,AI)类型处理器等的处理装置。
本领域技术人员可以理解,图2所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
在一些以游戏场景为主的可选实施例中,上述终端设备还可以提供具有触摸触敏表面的人机交互界面,该人机交互界面可以感应手指接触和/或手势来与图形用户界面(Graphical User Interface,GUI)进行人机交互,该人机交互功能可以包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
本申请涉及到的上述方法实施例,还可以在服务器中执行。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。以虚拟水花动画的生成方法通过电子游戏服务器应用于电子游戏场景为例,电子游戏服务器可基于该虚拟水花动画的生成方法生成电子游戏场景中的虚拟水花动画,并将该虚拟水花动画提供给玩家(例如,可以渲染显示在玩家终端的显示屏上,或者,通过全息投影提供给玩家等)。
根据本申请其中一实施例,提供了一种虚拟水花动画的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一种可能的实施方式中,提供了一种运行于上述移动终端的虚拟水花动画的生成方法。图3是根据本申请其中一实施例的一种虚拟水花动画的生成方法的流程图,如图3所示,该方法包括如下步骤:
步骤S31,获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;
上述虚拟水花可以是虚拟场景画面中显示的水花蒙版。例如:在电子游戏场景中,当虚拟角色进入河流或海水中时,为了模拟现实场景中的水花飞溅效果,需要在图形用户界面上显示虚拟水花,具体地,可以通过使用该电子游戏场景对应的水花蒙版,实现水花打在虚拟相机上并在屏幕上留下水滴的效果。
上述虚拟水花的资产文件为美术人员预先制作的数字资产文件。该数字资产文件可以包括多张用于描述虚拟水花视觉效果的贴图文件,还可以包括虚拟水花的屏幕坐标信息。
为了提高虚拟水花效果的动态效果进而提升虚拟场景画面的丰富度,上述虚拟水花可以包含多个流动水滴和多个非流动水滴。该多个流动水滴可以是该虚拟水花中能够流动的动态水滴,该多个非流动水滴可以是该虚拟水花中停滞在画面中的静态水滴。
容易理解的是,上述流动水滴可以用于模拟现实场景中水花打在相机镜头上结成水滴并流下的效果,上述非流动水滴可以用于模拟现实场景中水花打在相机镜头上结成各种形状的水滴并停滞在镜头上的效果。
容易理解的是,为了提高虚拟水花效果的动态效果进而提升虚拟场景画面的丰富度,上述虚拟水花中可以包括流动水滴和非流动水滴。该流动水滴可以用于模拟现实场景中水花打在相机镜头上结成水滴并流下的效果,该非流动水滴可以用于模拟现实场景中水花打在相机镜头上结成各种形状的水滴并停滞在镜头上的效果。
步骤S32,确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息;
对上述虚拟水花的资产文件进行解析,可以得到虚拟水花的水滴流向贴图和水滴法线贴图。水滴流向贴图可以是用于确定上述虚拟水花的流动方向信息的贴图。具体地,该水滴流向贴图可以用于确定该虚拟水花中多个流动水滴的流动方向信息。水滴法线贴图可以是用于确定上述虚拟水花的法线信息的贴图。具体地,该水滴法线贴图可以用于确定该虚拟水花中多个流动水滴的和多个非流动水滴的法线信息。该法线信息(包括流动法线和非流动法线)可以用于生成该虚拟水花的动画效果。
图4是根据本申请其中一实施例的一种水滴流动方向控制方式的示意图,如图4所示,在上述虚拟水花对应水滴流向贴图中,技术人员可以通过预先在R通道和G通道存储不同的数值,生成不同的贴图颜色,进而控制对应的流动水滴的流动方向。例如:当水滴流向贴图的R通道中存储的数值为255,且G通道中存储的数值为0时,生成的贴图颜色对应的RGB值为(255,0,x),表示流动水滴的流动方向为右偏下45°;当水滴流向贴图的R通道中存储的数值为128,且G通道中存储的数值为0时,生成的贴图颜色对应的RGB值为(128,0,x),表示流动水滴的流动方向为向正下方;当水滴流向贴图的R通道中存储的数值为0,且G通道中存储的数值为128时,生成的贴图颜色对应的RGB值为(0,128,x),表示流动水滴的流动方向为向正左方;当水滴流向贴图的R通道中存储的数值为255,且G通道中存储的数值为255时,生成的贴图颜色对应的RGB值为(255,255,x),表示流动水滴的流动方向为向右偏上45°。
需要说明的是,上述贴图颜色对应的RGB值中,x的值为上述水滴流向贴图的B通道存储的数值,在本方案中并不对该x的值做出限定,也就是说,在应用场景中,该x的值可以是任意指定数值或者随机数值。
需要说明的是,在上述具体实施方式中关于水滴的流动方向的描述中,涉及的“左”、“右”、“上”、“下”均基于屏幕坐标(ScreenUV)。例如:正上方和正下方可以与V表示的纵向方向平行,正左方和正右方可以与U表示的横向方向平行。
上述获取虚拟水花对应的水滴流向贴图的具体实现方式可以是:从技术人员预先自定义的后处理Shader着色器中获取。在该后处理Shader着色器中,该水滴流向贴图可以作为暴露的参数之一被获取,进而可以便于技术人员操作,提高虚拟水花生成效率。
与上述水滴流向贴图类似,上述获取虚拟水花对应的水滴法线贴图的具体实现方式可以是:从技术人员预先自定义的后处理Shader着色器中获取。在该后处理Shader着色器中,该水滴法线贴图可以作为暴露的参数之一被获取,进而可以便于技术人员操作,提高虚拟水花生成效率。
上述虚拟水花对应的上述原始屏幕坐标(ScreenUV)为虚拟场景对应的扭曲前(可以是未显示虚拟水花效果的原始状态)的ScreenUV,与扭曲后的ScreenUV对应。该扭曲后的ScreenUV可以参照下文中对于本申请实施例的进一步介绍。
上述获取虚拟水花对应的原始屏幕坐标的具体实现方式可以是:从Neox2.0引擎中获取。特别地,ScreenUV与Neox2.0引擎中的时间系统相关联,因此,上述原始屏幕坐标可以是Neox2.0引擎中指定时刻(如需要显示虚拟水花的当前时刻)的ScreenUV。
步骤S33,基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息;
上述第一法线信息可以是上述虚拟水花中多个流动水滴的法线信息。该第一法线信息可以用于生成该虚拟水花对应的流动水滴动画效果。
上述第二法线信息可以是上述虚拟水花中多个非流动水滴的法线信息。该第二法线信息可以用于生成该虚拟水花对应的非流动水滴静态效果。
具体地,上述基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息,还可以包括其他方法步骤,可以参照下文中对于本申请实施例的进一步介绍,此处不予赘述。
步骤S34,利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画。
上述虚拟场景可以是计算机技术和图像处理领域下涉及虚拟水花生成过程的游戏画面设计场景。该游戏画面设计场景对应的游戏类型可以是:动作类(例如:第一人称或第三人称射击游戏、二维或三维格斗游戏、战争动作游戏和体育动作游戏等)、冒险类(例如:探险游戏、收藏游戏、解谜游戏等)、模拟类(例如:模拟沙盘游戏、模拟养成游戏、策略模拟游戏、城市建造模拟游戏、商业模拟游戏等)、角色扮演类和休闲类(例如:棋牌桌游游戏、休闲竞技游戏、音乐节奏游戏、换装养成游戏等)等。
上述虚拟场景的当前图像帧可以是指定时刻(如需要显示虚拟水花的当前时刻)该虚拟场景在图形用户界面内显示的图像帧。该当前图像帧中通常可以是未显示有虚拟水花效果的图像帧。
通过利用上述虚拟水花中流动水滴的法线信息(相当于上述第一法线信息)、上述虚拟水花中非流动水滴的法线信息(相当于上述第二法线信息)和原始ScreenUV,可以对上述虚拟场景的当前图像帧进行采样,进而生成该虚拟场景对应的虚拟水花动画。通过在图形用户界面内展示该虚拟场景对应的虚拟水花动画,能够提高虚拟场景画面的丰富度,进而提高用户体验。
例如:游戏A涉及在虚拟海滩场景(包括沙滩区域和海水区域)下多个游戏角色的动作竞技,在游戏过程中,每当游戏角色从沙滩区域进入海水区域或者从海水区域进入沙滩区域时,为了模拟现实场景中的水花飞溅效果,都需要在游戏画面中生成虚拟水花。此时,可以采用本申请的上述实施例提供的虚拟水花动画的生成方法,以生成游戏画面中的虚拟水花动画效果,提高游戏画面的丰富度。
具体地,上述利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画,还可以包括其他方法步骤,可以参照下文中对于本申请实施例的进一步介绍,此处不予赘述。
根据本申请实施例提供的上述实施方式,通过获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息,进一步基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息,并利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画,达到了基于虚拟水花的流动水滴法线信息和非流动水滴法线信息制作虚拟场景对应的虚拟水花动画的目的,从而实现了通过虚拟水花动画提高虚拟水花效果的丰富度进而提升用户体验的技术效果,进而解决了相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
下面对本申请实施例的上述方法进行进一步介绍。
可选地,在步骤S33中,基于水滴流向贴图和水滴法线贴图,确定第一法线信息可以包括以下执行步骤:
步骤S331,对水滴流向贴图进行映射计算,得到虚拟水花中流动水滴的流动方向信息;
步骤S332,利用流动方向信息和虚拟水花的原始屏幕坐标,生成流动屏幕坐标贴图;
步骤S333,利用流动屏幕坐标贴图,对水滴法线贴图进行采样,得到第一采样结果;
步骤S334,对第一采样结果与第一强度参数进行乘法计算,得到第一法线信息,其中,第一强度参数用于控制虚拟水花中流动水滴的数量。
上述水滴流向贴图可以是上述虚拟水花中流动水滴对应的流动方向贴图,记为Flowmap。对该Flowmap进行映射计算,可以得到上述虚拟水花中流动水滴的流动方向信息。
仍然以为游戏A生成虚拟水花动画效果为例,由于从后处理Shader着色器中获取的Flowmap中存储的数值在0到1之间,可以通过对该Flowmap进行映射计算,将存储的数值变换至-1到1之间,然后以该变换后的数值作为虚拟水花中流动水滴的流动方向。
示例性地,上述对Flowmap进行的映射计算可以按照如下公式(1)进行:
水滴流动方向=Flowmap×2-1 公式(1)
需要说明的是,上述变换后的数值在-1至1之间,也就是说,Flowmap的R通道中存储的数值和G通道中存储的数值均在-1至1之间。此时,可以通过R通道存储的数值r和G通道存储的数值g对应的二维向量(r,g)确定流动水滴的方向。
例如:R通道中存储的数值为1表示正上方,R通道中存储的数值为-1表示正下方,G通道中存储的数值为1表示正右方,G通道中存储的数值为-1表示正左方。那么,二维向量(1,1)表示的水滴流动方向为右偏上45°,二维向量(-1,0)表示的水滴流动方向为向正下方,依此类推。
上述原始屏幕坐标可以是原始ScreenUV贴图。利用上述Flowmap和该原始ScreenUV贴图,可以生成上述流动屏幕坐标(ScreenUV)贴图。具体的实现方式可以参照下文中的进一步说明。
上述水滴法线贴图可以是用于确定该虚拟水花的法线信息的水滴法线贴图,记为WaterDrop。利用上述流动ScreenUV贴图,对该WaterDrop进行采样,可以得到上述第一采样结果。该第一采样结果可以是流动水滴的初始水滴法线。
需要说明的是,在本申请的上述实施例中,并不对利用流动ScreenUV贴图对WaterDrop进行采样得到第一采样结果的过程中使用的采样方式做出限定,也就是说,该采样方式可以是任意可实现的贴图采样方式,例如:使用sampler采样器采样、随机采样、平均采样等。
进一步地,将上述第一采样结果与上述第一强度参数进行乘法计算,可以得到上述第一法线信息。该第一强度参数可以是流动水滴强度参数,该流动水滴强度参数用于控制虚拟水花中流动水滴的数量。例如:该流动水滴强度参数的取值在0至1之间,流动水滴强度参数取值为0表示虚拟水花中的流动水滴数量为预设的最小值(可以是0,也就是说虚拟水花中没有流动水滴),流动水滴强度参数取值为1表示虚拟水花中的流动水滴数量为预设的最大值(可以等于虚拟水花的水滴总数,也就是说,虚拟水花中的水滴全部为流动水滴)。
容易理解的是,通过将上述流动水滴的初始水滴法线(相当于上述第一采样结果)与流动水滴强度参数(相当于上述第一强度参数)进行乘法计算,能够得到可控制强度的流动水滴法线信息(相当于上述第一法线信息)。
需要说明的是,上述流动水滴强度参数(相当于上述第一强度参数)的获取方式可以是,从技术人员预先自定义的后处理Shader着色器中获取。在该后处理Shader着色器中,该流动水滴强度参数可以作为暴露的参数之一被获取,进而可以便于技术人员操作,提高虚拟水花生成效率。
在应用场景中,技术人员可以对后处理Shader着色器进行预先定义时,指定该流动水滴强度参数的数值,进而控制该流动水滴法线信息,从而控制最终生成的虚拟水花动画效果。
需要说明的是,上述将上述第一采样结果与上述第一强度参数进行乘法计算得到上述第一法线信息的具体实现方式可以是:将上述第一采样结果对应的数值与上述第一强度参数的数值直接相乘,将得到的乘积作为上述第一法线信息对应的数值。
通过本申请的上述可选的实施例,可以生成可控制强度的第一法线信息,该可控制强度的第一法线信息可以用于生成虚拟水花中可控制强度的流动水滴动画效果,由此,可以提高技术人员制作虚拟水花的制作效率和制作灵活度,进一步提高虚拟场景画面的丰富度。
可选地,在步骤S332中,利用流动方向信息和虚拟水花的原始屏幕坐标,生成流动屏幕坐标贴图可以包括以下执行步骤:
步骤S3321,对流动方向信息、时间参数和速度参数进行乘法计算,得到计算结果,其中,时间参数用于控制虚拟水花在虚拟场景中的显示时间,速度参数用于控制虚拟水花中流动水滴的流动速度;
步骤S3322,将计算结果与原始屏幕坐标进行加法计算,生成流动屏幕坐标贴图。
上述时间参数可以是从上述Neox2.0引擎中的时间系统中获取的与上述虚拟场景相关联的时间参数。该时间参数可以用于控制上述虚拟水花在虚拟场景中的显示时间。例如:通过在Neox2.0引擎中的时间系统中控制该时间参数,进而灵活地控制虚拟水花在虚拟场景中的出现时间和消失时间等。
上述速度参数可以是用于控制上述虚拟水花中流动水滴的流动速度的参数。该速度参数的获取方式可以是,从技术人员预先自定义的后处理Shader着色器中获取。在该后处理Shader着色器中,该速度参数可以作为暴露的参数之一被获取,进而可以便于技术人员操作,提高虚拟水花生成效率。
上述流动方向信息可以是对水滴流向贴图(Flowmap)进行映射计算得到虚拟水花中流动水滴的流动方向。对上述流动方向、上述时间参数和上述速度参数进行乘法计算的具体实现方式可以是:将该流动方向对应的数值、该时间参数对应的数值和该速度参数对应的数值直接相乘。
将上述乘法计算的计算结果与上述原始屏幕坐标(原始ScreenUV贴图)相加,可以得到上述流动ScreenUV贴图。
示例性地,上述利用水滴流动方向、时间参数(记为Time)、速度参数(记为WaterDropSpeed)以及原始屏幕坐标(原始ScreenUV贴图)进行计算,生成流动屏幕坐标贴图(流动ScreenUV贴图)的具体过程可以按照如下公式实现:水滴流动方向×Time×WaterDropSpeed+原始ScreenUV贴图=流动ScreenUV贴图。
通过本申请的上述可选的实施例,可以生成可控制时间和速度的流动ScreenUV贴图,该可控制时间和速度的流动ScreenUV贴图可以用于生成上述可控制强度的第一法线信息,进而生成虚拟水花中流动水滴动画效果,由此,可以提高技术人员制作虚拟水花的制作效率和制作灵活度,进一步提高虚拟场景画面的丰富度。
可选地,在步骤S33中,确定虚拟水花中的非流动水滴对应的第二法线信息可以包括以下执行步骤:
步骤S335,利用虚拟水花的原始屏幕坐标,对水滴法线贴图进行采样,得到第二采样结果;
步骤S336,对第二采样结果与第二强度参数进行乘法计算,得到第二法线信息,其中,第二强度参数用于控制虚拟水花中非流动水滴的数量。
上述原始屏幕坐标可以是原始ScreenUV贴图。上述水滴法线贴图可以是用于确定该虚拟水花的法线信息的水滴法线贴图,记为WaterDrop。利用该原始ScreenUV贴图对该WaterDrop进行采样,可以得到上述第二采样结果。该第二采样结果可以是虚拟水花中多个非流动水滴的初始水滴法线。
需要说明的是,在本申请的上述实施例中,并不对利用原始ScreenUV贴图对WaterDrop进行采样得到第二采样结果的过程中使用的采样方式做出限定,也就是说,该采样方式可以是任意可实现的贴图采样方式,例如:使用sampler采样器采样、随机采样、平均采样等。
进一步地,将上述第二采样结果与上述第二强度参数进行乘法计算,可以得到上述第二法线信息。该第二强度参数可以是虚拟水花中非流动水滴的强度参数(以下称为非流动水滴强度参数),该非流动水滴强度参数用于控制虚拟水花中非流动水滴的数量。例如:该非流动水滴强度参数的取值在0至1之间,非流动水滴强度参数取值为0表示虚拟水花中的非流动水滴数量为预设的最小值(可以是0,也就是说虚拟水花中没有非流动水滴),非流动水滴强度参数取值为1表示虚拟水花中的非流动水滴数量为预设的最大值(可以等于虚拟水花的水滴总数,也就是说,虚拟水花中的水滴全部为非流动水滴)。
容易理解的是,通过将上述非流动水滴的初始水滴法线(相当于上述第二采样结果)与非流动水滴强度参数(相当于上述第二强度参数)进行乘法计算,能够得到可控制强度的非流动水滴法线信息(相当于上述第二法线信息)。
需要说明的是,上述非流动水滴强度参数(相当于上述第二强度参数)的获取方式可以是,从技术人员预先自定义的后处理Shader着色器中获取。在该后处理Shader着色器中,该非流动水滴强度参数可以作为暴露的参数之一被获取,进而可以便于技术人员操作,提高虚拟水花生成效率。
在应用场景中,技术人员可以对后处理Shader着色器进行预先定义时,指定该非流动水滴强度参数的数值,进而控制该非流动水滴法线信息,从而控制最终生成的虚拟水花动画效果。
需要说明的是,上述将上述第二采样结果与上述第二强度参数进行乘法计算得到上述第二法线信息的具体实现方式可以是:将上述第二采样结果对应的数值与上述第二强度参数的数值直接相乘,将得到的乘积作为上述第二法线信息对应的数值。
通过本申请的上述可选的实施例,可以生成可控制强度的第二法线信息,该可控制强度的第二法线信息可以用于生成虚拟水花中可控制强度的非流动水滴静态效果,由此,可以提高技术人员制作虚拟水花的制作效率和制作灵活度,进一步提高虚拟场景画面的丰富度。
可选地,在步骤S34中,利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画可以包括以下执行步骤:
步骤S341,利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成第三采样结果,其中,第三采样结果用于确定虚拟水花动画的生成方式;
步骤S342,为第三采样结果配置多个关键帧,生成虚拟场景对应的虚拟水花动画。
利用上述可控制强度的流动水滴法线信息(相当于上述第一法线信息)、可控制强度的非流动水滴法线信息(相当于上述第二法线信息)和原始ScreenUV贴图(相当于上述原始屏幕坐标),可以对上述虚拟场景的当前图像帧进行采样,进而可以得到上述第三采样结果。上述虚拟场景的当前图像帧可以是指定时刻(如需要显示虚拟水花的当前时刻)该虚拟场景在图形用户界面内显示的图像帧。该当前图像帧中通常可以是未显示有虚拟水花效果的图像帧。
需要说明的是,在本申请的上述实施例中,并不对利用第一法线信息、第二法线信息和原始屏幕坐标对虚拟场景的当前图像帧进行采样生成第三采样结果的过程中使用的采样方式做出限定,也就是说,该采样方式可以是任意可实现的贴图采样方式,例如:使用sampler采样器采样、随机采样、平均采样等。
上述第三采样结果可以是用于生成虚拟场景对应的虚拟水花动画的基础贴图。具体地,在Neox2.0引擎中的时间系统中,为该第三采样结果配置多个关键帧,进而可以得到上述虚拟场景对应的虚拟水花动画。
此外,在Neox2.0引擎中的时间系统中,技术人员可以通过控制上述关键帧的帧数,进一步控制虚拟场景对应的虚拟水花动画的显示效果(例如:出现时间、消失时间、变化速度等)。
仍然以为游戏A生成虚拟水花动画效果为例,技术人员可以在预先定义后处理Shader着色器的过程中,指定流动方向贴图flowmap以控制虚拟水花中流动水滴的流动方向,指定水滴法线贴图WaterDrop以控制虚拟水花中的水滴形状,指定速度参数WaterDropSpeed以控制虚拟水花中流动水滴的流动速度,指定流动水滴强度参数WaterDropInten1以控制虚拟水花中流动水滴的数量,指定非流动水滴强度参数WaterDropInten2以控制虚拟水花中非流动水滴的数量。
仍然以为游戏A生成虚拟水花动画效果为例,技术人员可以在Neox2.0引擎中,控制上述多个关键帧的帧数K,以控制虚拟水花中流动水滴的出现和消失效果(如出现时间、流动时间、消失时间等)。
例如:技术人员可以在Neox2.0引擎中,指定上述多个关键帧的帧数K为24,并设置第0帧时流动水滴强度参数WaterDropInten1为0,设置第24帧时流动水滴强度参数WaterDropInten1为1,此时,可以得到在第0帧到第24帧的时间段内,虚拟水花中流动水滴逐渐出现的效果。反之,设置第0帧时流动水滴强度参数WaterDropInten1为1,设置第24帧时流动水滴强度参数WaterDropInten1为0,此时,可以得到在第0帧到第24帧的时间段内,虚拟水花中流动水滴逐渐消失的效果。
仍然以为游戏A生成虚拟水花动画效果为例,图5是根据本申请其中一实施例的一种虚拟水花动画效果的示意图,如图5所示,通过本申请的上述可选的实施例提供的虚拟水花动画的生成方法,可以控制游戏A场景画面对应的虚拟水花逐渐出现。该虚拟水花中包括多个流动水滴(如图5中的阴影部分所示的水滴)和多个非流动水滴(如图5中空心圆形所示的水滴)。通过结合预定义的后处理Shader着色器和Neox2.0引擎对虚拟水花效果进行控制,还可以实现多个流动水滴不同步出现和消失(如图5中所示的多个流动水滴长度不一,表示该多个流动水滴处于不同的出现状态)。
容易理解的是,由于流动轨迹长度可以由流动方向、流动时间和流动速度确定,结合上述对流动方向贴图、时间参数和速度参数的控制,还可以实现对虚拟水花中流动水滴的流动轨迹长度的控制。
可选地,在步骤S341中,利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成第三采样结果可以包括以下执行步骤:
步骤S3411,利用第一法线信息、第二法线信息,对原始屏幕坐标进行扭曲变换,生成变换结果;
步骤S3412,利用变换结果对虚拟场景的当前图像帧进行采样,生成第三采样结果。
利用上述可控制强度的流动水滴法线信息(相当于上述第一法线信息)、可控制强度的非流动水滴法线信息(相当于上述第二法线信息),可以对上述原始ScreenUV贴图(相当于上述原始屏幕坐标)进行扭曲变换,得到扭曲后的ScreenUV贴图(相当于上述变换结果)。
可选地,在步骤S3411中,利用第一法线信息、第二法线信息,对原始屏幕坐标进行扭曲变换,生成变换结果可以包括以下执行步骤:
步骤S3413,根据预设混合方式,将第一法线信息与第二法线信息进行混合,得到混合结果;
步骤S3414,利用混合结果对原始屏幕坐标进行扭曲变换,生成变换结果。
上述预设混合方式可以是常用的法线混合方式。例如:该法线混合方式可以是:线性混合(Liner Blending)、覆盖(Overlay)混合、偏导混合(Partial DerivativeBlending)、虚幻开发者网络(Unreal Developer Network,UDN)混合、重定向法线映射(Reoriented Normal mapping,RNM)混合等。
根据上述预设混合方式,将可控制强度的流动水滴法线信息(相当于上述第一法线信息)与可控制强度的非流动水滴法线信息(相当于上述第二法线信息)进行混合,可以得到混合结果。该混合结果中既包含流动水滴的法线信息,又包含非流动水滴的法线信息。
利用上述混合结果,对原始ScreenUV贴图(相当于上述原始屏幕坐标)进行扭曲变换,得到扭曲后的ScreenUV贴图(相当于上述变换结果)。利用该变换结果对虚拟场景的当前图像帧进行采样,可以生成第三采样结果,进而为该第三采样结果配置多个关键帧,生成虚拟场景对应的虚拟水花动画。
容易注意到的是,根据本申请的上述可选的实施例,结合预先定义的后处理Shader处理器中对多个参数的控制,以及Neox2.0引擎的时间系统中对关键帧的控制,能够生成既包含流动水滴动画效果又包含非流动水滴静态效果的虚拟水花动画,达到了基于虚拟水花的流动水滴法线信息和非流动水滴法线信息制作虚拟场景对应的虚拟水花动画的目的,从而实现了通过虚拟水花动画提高虚拟水花效果的丰富度进而提升用户体验的技术效果,进而解决了相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种虚拟水花动画的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请其中一实施例的一种虚拟水花动画的生成装置的结构框图,如图6所示,该装置包括:获取模块61,用于获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;第一确定模块62,用于确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息;第二确定模块63,用于基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息;生成模块64,用于利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画。
可选地,上述第二确定模块63,还用于:对水滴流向贴图进行映射计算,得到虚拟水花中流动水滴的流动方向信息;利用流动方向信息和虚拟水花的原始屏幕坐标,生成流动屏幕坐标贴图;利用流动屏幕坐标贴图,对水滴法线贴图进行采样,得到第一采样结果;对第一采样结果与第一强度参数进行乘法计算,得到第一法线信息,其中,第一强度参数用于控制虚拟水花中流动水滴的数量。
可选地,上述第二确定模块63,还用于:对流动方向信息、时间参数和速度参数进行乘法计算,得到计算结果,其中,时间参数用于控制虚拟水花在虚拟场景中的显示时间,速度参数用于控制虚拟水花中流动水滴的流动速度;将计算结果与原始屏幕坐标进行加法计算,生成流动屏幕坐标贴图。
可选地,上述第二确定模块63,还用于:利用虚拟水花的原始屏幕坐标,对水滴法线贴图进行采样,得到第二采样结果;对第二采样结果与第二强度参数进行乘法计算,得到第二法线信息,其中,第二强度参数用于控制虚拟水花中非流动水滴的数量。
可选地,上述生成模块64,还用于:利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成第三采样结果,其中,第三采样结果用于确定虚拟水花动画的生成方式;为第三采样结果配置多个关键帧,生成虚拟场景对应的虚拟水花动画。
可选地,上述生成模块64,还用于:利用第一法线信息、第二法线信息,对原始屏幕坐标进行扭曲变换,生成变换结果;利用变换结果对虚拟场景的当前图像帧进行采样,生成第三采样结果。
可选地,上述生成模块64,还用于:根据预设混合方式,将第一法线信息与第二法线信息进行混合,得到混合结果;利用混合结果对原始屏幕坐标进行扭曲变换,生成变换结果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;
S2,确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息;
S3,基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息;
S4,利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:对水滴流向贴图进行映射计算,得到虚拟水花中流动水滴的流动方向信息;利用流动方向信息和虚拟水花的原始屏幕坐标,生成流动屏幕坐标贴图;利用流动屏幕坐标贴图,对水滴法线贴图进行采样,得到第一采样结果;对第一采样结果与第一强度参数进行乘法计算,得到第一法线信息,其中,第一强度参数用于控制虚拟水花中流动水滴的数量。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:对流动方向信息、时间参数和速度参数进行乘法计算,得到计算结果,其中,时间参数用于控制虚拟水花在虚拟场景中的显示时间,速度参数用于控制虚拟水花中流动水滴的流动速度;将计算结果与原始屏幕坐标进行加法计算,生成流动屏幕坐标贴图。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:利用虚拟水花的原始屏幕坐标,对水滴法线贴图进行采样,得到第二采样结果;对第二采样结果与第二强度参数进行乘法计算,得到第二法线信息,其中,第二强度参数用于控制虚拟水花中非流动水滴的数量。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成第三采样结果,其中,第三采样结果用于确定虚拟水花动画的生成方式;为第三采样结果配置多个关键帧,生成虚拟场景对应的虚拟水花动画。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:利用第一法线信息、第二法线信息,对原始屏幕坐标进行扭曲变换,生成变换结果;利用变换结果对虚拟场景的当前图像帧进行采样,生成第三采样结果。
可选地,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:根据预设混合方式,将第一法线信息与第二法线信息进行混合,得到混合结果;利用混合结果对原始屏幕坐标进行扭曲变换,生成变换结果。
在该实施例的计算机可读存储介质中,提供了一种虚拟水花动画的生成方法的技术方案。通过获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息,进一步基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息,并利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画,达到了基于虚拟水花的流动水滴法线信息和非流动水滴法线信息制作虚拟场景对应的虚拟水花动画的目的,从而实现了通过虚拟水花动画提高虚拟水花效果的丰富度进而提升用户体验的技术效果,进而解决了相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,计算机可读存储介质上存储有能够实现本实施例上述方法的程序产品。在一些可能的实施方式中,本申请实施例的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本实施例上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
根据本申请的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请实施例的程序产品不限于此,在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述程序产品可以采用一个或多个计算机可读介质的任意组合。该计算机可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列举)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴;
S2,确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息;
S3,基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息;
S4,利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:对水滴流向贴图进行映射计算,得到虚拟水花中流动水滴的流动方向信息;利用流动方向信息和虚拟水花的原始屏幕坐标,生成流动屏幕坐标贴图;利用流动屏幕坐标贴图,对水滴法线贴图进行采样,得到第一采样结果;对第一采样结果与第一强度参数进行乘法计算,得到第一法线信息,其中,第一强度参数用于控制虚拟水花中流动水滴的数量。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:对流动方向信息、时间参数和速度参数进行乘法计算,得到计算结果,其中,时间参数用于控制虚拟水花在虚拟场景中的显示时间,速度参数用于控制虚拟水花中流动水滴的流动速度;将计算结果与原始屏幕坐标进行加法计算,生成流动屏幕坐标贴图。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:利用虚拟水花的原始屏幕坐标,对水滴法线贴图进行采样,得到第二采样结果;对第二采样结果与第二强度参数进行乘法计算,得到第二法线信息,其中,第二强度参数用于控制虚拟水花中非流动水滴的数量。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成第三采样结果,其中,第三采样结果用于确定虚拟水花动画的生成方式;为第三采样结果配置多个关键帧,生成虚拟场景对应的虚拟水花动画。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:利用第一法线信息、第二法线信息,对原始屏幕坐标进行扭曲变换,生成变换结果;利用变换结果对虚拟场景的当前图像帧进行采样,生成第三采样结果。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:根据预设混合方式,将第一法线信息与第二法线信息进行混合,得到混合结果;利用混合结果对原始屏幕坐标进行扭曲变换,生成变换结果。
在该实施例的电子装置中,提供了一种虚拟水花动画的生成方法的技术方案。通过获取预设的虚拟水花的资产文件,其中,虚拟水花包括流动水滴和非流动水滴,确定资产文件对应的水滴流向贴图和水滴法线贴图,其中,水滴流向贴图用于描述虚拟水花中流动水滴的流动方向信息,水滴法线贴图用于描述虚拟水花的法线信息,进一步基于水滴流向贴图和水滴法线贴图,确定虚拟水花中的流动水滴对应的第一法线信息,以及确定虚拟水花中的非流动水滴对应的第二法线信息,并利用第一法线信息、第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成虚拟场景对应的虚拟水花动画,达到了基于虚拟水花的流动水滴法线信息和非流动水滴法线信息制作虚拟场景对应的虚拟水花动画的目的,从而实现了通过虚拟水花动画提高虚拟水花效果的丰富度进而提升用户体验的技术效果,进而解决了相关技术中由于虚拟水花效果单一导致虚拟场景画面丰富度低、用户体验差的技术问题。
图7是根据本申请其中一实施例的一种电子装置的示意图。如图7所示,电子装置700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子装置700以通用计算设备的形式表现。电子装置700的组件可以包括但不限于:上述至少一个处理器710、上述至少一个存储器720、连接不同系统组件(包括存储器720和处理器710)的总线730和显示器740。
其中,上述存储器720存储有程序代码,所述程序代码可以被处理器710执行,使得处理器710执行本申请实施例的上述方法部分中描述的根据本申请各种示例性实施方式的步骤。
存储器720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至电子装置700。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理器710或者使用多种总线结构中的任意总线结构的局域总线。
显示器740可以例如触摸屏式的液晶显示器(Liquid Crystal Display,LCD),该液晶显示器可使得用户能够与电子装置700的用户界面进行交互。
可选地,电子装置700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置700交互的设备通信,和/或与使得该电子装置700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子装置700还可以通过网络适配器760与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器760通过总线730与电子装置700的其它模块通信。应当明白,尽管图7中未示出,可以结合电子装置700使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
上述电子装置700还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置700还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。存储器720可用于存储计算机程序及对应的数据,如本申请实施例中的虚拟水花动画的生成方法对应的计算机程序及对应的数据。处理器710通过运行存储在存储器720内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的虚拟水花动画的生成方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种虚拟水花动画的生成方法,其特征在于,包括:
获取预设的虚拟水花的资产文件,其中,所述虚拟水花包括流动水滴和非流动水滴;
确定所述资产文件对应的水滴流向贴图和水滴法线贴图,其中,所述水滴流向贴图用于描述所述虚拟水花中所述流动水滴的流动方向信息,所述水滴法线贴图用于描述所述虚拟水花的法线信息;
基于所述水滴流向贴图和所述水滴法线贴图,确定所述虚拟水花中的所述流动水滴对应的第一法线信息,以及确定所述虚拟水花中的所述非流动水滴对应的第二法线信息;
利用所述第一法线信息、所述第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成所述虚拟场景对应的虚拟水花动画。
2.根据权利要求1所述的虚拟水花动画的生成方法,其特征在于,基于所述水滴流向贴图和所述水滴法线贴图,确定所述第一法线信息包括:
对所述水滴流向贴图进行映射计算,得到所述虚拟水花中所述流动水滴的所述流动方向信息;
利用所述流动方向信息和所述虚拟水花的所述原始屏幕坐标,生成流动屏幕坐标贴图;
利用所述流动屏幕坐标贴图,对所述水滴法线贴图进行采样,得到第一采样结果;
对所述第一采样结果与第一强度参数进行乘法计算,得到所述第一法线信息,其中,所述第一强度参数用于控制所述虚拟水花中所述流动水滴的数量。
3.根据权利要求2所述的虚拟水花动画的生成方法,其特征在于,利用所述流动方向信息和所述虚拟水花的所述原始屏幕坐标,生成流动屏幕坐标贴图包括:
对所述流动方向信息、时间参数和速度参数进行乘法计算,得到计算结果,其中,所述时间参数用于控制所述虚拟水花在所述虚拟场景中的显示时间,所述速度参数用于控制所述虚拟水花中所述流动水滴的流动速度;
将所述计算结果与所述原始屏幕坐标进行加法计算,生成所述流动屏幕坐标贴图。
4.根据权利要求1所述的虚拟水花动画的生成方法,其特征在于,确定所述虚拟水花中的所述非流动水滴对应的所述第二法线信息包括:
利用所述虚拟水花的所述原始屏幕坐标,对所述水滴法线贴图进行采样,得到第二采样结果;
对所述第二采样结果与第二强度参数进行乘法计算,得到所述第二法线信息,其中,所述第二强度参数用于控制所述虚拟水花中所述非流动水滴的数量。
5.根据权利要求1所述的虚拟水花动画的生成方法,其特征在于,利用所述第一法线信息、所述第二法线信息和所述原始屏幕坐标,对所述虚拟场景的当前图像帧进行采样,生成所述虚拟场景对应的所述虚拟水花动画包括:
利用所述第一法线信息、所述第二法线信息和所述原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成第三采样结果,其中,所述第三采样结果用于确定所述虚拟水花动画的生成方式;
为所述第三采样结果配置多个关键帧,生成所述虚拟场景对应的所述虚拟水花动画。
6.根据权利要求5所述的虚拟水花动画的生成方法,其特征在于,利用所述第一法线信息、所述第二法线信息和所述原始屏幕坐标,对所述虚拟场景的当前图像帧进行采样,生成所述第三采样结果包括:
利用所述第一法线信息、所述第二法线信息,对所述原始屏幕坐标进行扭曲变换,生成变换结果;
利用所述变换结果对所述虚拟场景的当前图像帧进行采样,生成所述第三采样结果。
7.根据权利要求6所述的虚拟水花动画的生成方法,其特征在于,利用所述第一法线信息、所述第二法线信息,对所述原始屏幕坐标进行扭曲变换,生成所述变换结果包括:
根据预设混合方式,将所述第一法线信息与所述第二法线信息进行混合,得到混合结果;
利用所述混合结果对所述原始屏幕坐标进行扭曲变换,生成所述变换结果。
8.一种虚拟水花动画的生成装置,其特征在于,包括:
获取模块,用于获取预设的虚拟水花的资产文件,其中,所述虚拟水花包括流动水滴和非流动水滴;
第一确定模块,用于确定所述资产文件对应的水滴流向贴图和水滴法线贴图,其中,所述水滴流向贴图用于描述所述虚拟水花中所述流动水滴的流动方向信息,所述水滴法线贴图用于描述所述虚拟水花的法线信息;
第二确定模块,用于基于所述水滴流向贴图和所述水滴法线贴图,确定所述虚拟水花中的所述流动水滴对应的第一法线信息,以及确定所述虚拟水花中的所述非流动水滴对应的第二法线信息;
生成模块,用于利用所述第一法线信息、所述第二法线信息和原始屏幕坐标,对虚拟场景的当前图像帧进行采样,生成所述虚拟场景对应的虚拟水花动画。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行权利要求1至7任一项中所述的虚拟水花动画的生成方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项中所述的虚拟水花动画的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211297990.0A CN115797524A (zh) | 2022-10-21 | 2022-10-21 | 虚拟水花动画的生成方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211297990.0A CN115797524A (zh) | 2022-10-21 | 2022-10-21 | 虚拟水花动画的生成方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115797524A true CN115797524A (zh) | 2023-03-14 |
Family
ID=85433479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211297990.0A Pending CN115797524A (zh) | 2022-10-21 | 2022-10-21 | 虚拟水花动画的生成方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115797524A (zh) |
-
2022
- 2022-10-21 CN CN202211297990.0A patent/CN115797524A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7019742B2 (en) | Dynamic 2D imposters of 3D graphic objects | |
KR20090035539A (ko) | 게임기반 장면 생성 | |
US20230290043A1 (en) | Picture generation method and apparatus, device, and medium | |
US20100231590A1 (en) | Creating and modifying 3d object textures | |
CN111672122B (zh) | 界面显示方法、装置、终端及存储介质 | |
CN113826147A (zh) | 动画角色的改进 | |
CN115082608A (zh) | 虚拟角色服装渲染方法、装置、电子设备和存储介质 | |
CN111589114B (zh) | 虚拟对象的选择方法、装置、终端及存储介质 | |
CN115082607A (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
Miller et al. | XNA game studio 4.0 programming: developing for windows phone 7 and xbox 360 | |
Lang et al. | Massively multiplayer online worlds as a platform for augmented reality experiences | |
KR102108244B1 (ko) | 이미지 처리 방법 및 장치 | |
CN116271814A (zh) | 场景画面处理方法、装置、存储介质及电子装置 | |
CN115797524A (zh) | 虚拟水花动画的生成方法、装置、存储介质及电子装置 | |
CN115713589A (zh) | 虚拟建筑群的图像生成方法、装置、存储介质及电子装置 | |
CN114742970A (zh) | 虚拟三维模型的处理方法、非易失性存储介质及电子装置 | |
CN113350785A (zh) | 虚拟角色渲染方法、装置及电子设备 | |
Jensen et al. | The race for real-time photorealism | |
Yazdani et al. | Adoption of VR influencing AI on 3D objects | |
CN116889723A (zh) | 虚拟场景的画面生成方法、装置、存储介质及电子装置 | |
Gite et al. | ImmerseHub: Realistic Interaction Adventure Game | |
CN116726501A (zh) | 游戏场景中生成投影的方法、装置、存储介质及电子装置 | |
Ruti | Optimization of 3D Models for Mobile Games: Balancing Quality and Performance | |
CN117899470A (zh) | 游戏的显示控制方法、装置、存储介质及电子装置 | |
CN116645461A (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 |