CN115423903A - 动画生成方法及装置、介质、电子设备 - Google Patents
动画生成方法及装置、介质、电子设备 Download PDFInfo
- Publication number
- CN115423903A CN115423903A CN202211046230.2A CN202211046230A CN115423903A CN 115423903 A CN115423903 A CN 115423903A CN 202211046230 A CN202211046230 A CN 202211046230A CN 115423903 A CN115423903 A CN 115423903A
- Authority
- CN
- China
- Prior art keywords
- map
- sequence
- animation
- maps
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开属于动画制作技术领域,涉及一种动画生成方法及装置、介质、电子设备。该方法包括:获取序列贴图,并对序列贴图进行拆分处理得到单张贴图;利用单张贴图生成流动图,并根据流动图对预设材质进行调整得到材质函数;调用材质函数得到序列贴图的灰度信息,以使粒子系统根据灰度信息生成序列图动画。本公开利用图库等位置中存储的现有的序列贴图生成流动图,省去了在相关软件中生成流动图所带来的大量工作步骤,大幅度缩减了工作时间,能够起到降本增效的作用。进一步的,利用流动图生成序列图动画,提升了序列图动画的流畅度,也能够减少序列图动画的尺寸,起到优化性能的作用。
Description
技术领域
本公开涉及动画制作技术领域,尤其涉及一种动画生成方法与动画生成装置、计算机可读存储介质及电子设备。
背景技术
游戏引擎目前模拟烟雾流体普遍是以序列贴图配合材质和粒子系统实现的。在Maya(三维软件)、3DsMax(3D建模渲染和制作软件)等软件中,利用该软件的粒子系统模拟烟雾、流体的效果,并渲染出图,再用外部软件合成为一张N*N(大小为2次幂)的序列贴图,从而导入引擎配合材质、粒子系统还原贴图的动态效果。如果需要生成相应的流动图,则需要使用Houdini(三维计算机图形软件)或者EmberGen(实时气态流体模拟工具)来模拟和渲染出图。
具体的,目前普遍采用的序列贴图还原动态的方法是利用材质中的ParticleSubUV节点作为贴图的采样节点开启帧与帧之间的混合,粒子系统中SubUV的差值算法选择线性混合模式已达到帧与帧之间的融合过度效果。但是,由于动画的单次播放时长是由粒子生命时间来决定的,所以粒子生命时间越长,动画就需要更多的关键帧来补帧,所以会导致贴图尺寸增加。进一步的,如果尺寸有限定,那么只能减少每一帧的占比来塞下更多帧的贴图,又会导致贴图精度的丢失。
鉴于此,本领域亟需开发一种新的动画生成方法及装置。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种动画生成方法、动画生成装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的贴图精度低和尺寸大的技术问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本发明实施例的第一个方面,提供一种动画生成方法,所述方法包括:
获取序列贴图,并对所述序列贴图进行拆分处理得到单张贴图;
利用所述单张贴图生成流动图,并根据所述流动图对预设材质进行调整得到材质函数;
调用所述材质函数得到所述序列贴图的灰度信息,以使粒子系统根据所述灰度信息生成序列图动画。
根据本发明实施例的第二个方面,提供一种动画生成装置,包括:
光照创建模块,被配置为获取处于三维场景中的低模模型,并在所述三维场景中创建场景光照;
贴图设置模块,被配置为针对所述低模模型启用投影贴图,以在所述低模模型的输出中添加光影信息贴图;
光影渲染模块,被配置为根据所述场景光照渲染所述光影信息贴图,并将所述光影信息贴图赋予所述低模模型,以使所述低模模型具有光影信息。
根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例中的动画生成方法。
根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的动画生成方法。
由上述技术方案可知,本公开示例性实施例中的动画生成方法、动画生成装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
在本公开的示例性实施例提供的方法及装置中,利用图库等位置中存储的现有的序列贴图生成流动图,省去了在相关软件中生成流动图所带来的大量工作步骤,大幅度缩减了工作时间,能够起到降本增效的作用。进一步的,利用流动图生成序列图动画,提升了序列图动画的流畅度,也能够减少序列图动画的尺寸,起到优化性能的作用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了采样节点和材质的表达式选项的界面示意图;
图2示意性示出了粒子系统中的SubUV选项的界面示意图;
图3示意性示出了粒子系统中的SubImageIndex模块和属性的界面示意图;
图4示意性示出了本公开示例性实施例中一种动画生成方法的流程示意图;
图5示意性示出了本公开示例性实施例中SlateEditor软件的界面示意图;
图6示意性示出了本公开示例性实施例中对序列贴图进行拆分处理的方法的流程示意图;
图7示意性示出了本公开示例性实施例中GhostCatTools软件的界面示意图;
图8示意性示出了本公开示例性实施例中GhostCatTools软件的工具集合的界面示意图;
图9示意性示出了本公开示例性实施例中图片处理工具的界面示意图;
图10示意性示出了本公开示例性实施例中选择单张贴图的方法的流程示意图;
图11示意性示出了本公开示例性实施例中利用Photoshop软件对序列贴图进行拆分处理的界面示意图;
图12示意性示出了本公开示例性实施例中导出的序列贴图和流动图;
图13示意性示出了本公开示例性实施例中生成材质函数的方法的流程示意图;
图14示意性示出了本公开示例性实施例中生成序列图动画的方法的流程示意图;
图15性示出了本公开示例性实施例中输入序列贴图、流动图和扰动强度的界面示意图;
图16示意性示出了本公开示例性实施例中进一步生成序列图动画的方法的流程示意图;
图17示意性示出了本公开示例性实施例中不同像素值的贴图在虚幻引擎中的资产尺寸的界面示意图;
图18示意性示出本公开示例性实施例中一种动画生成装置的结构示意图;
图19示意性示出本公开示例性实施例中一种用于实现动画生成方法的电子设备;
图20示意性示出本公开示例性实施例中一种用于实现动画生成方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
游戏引擎目前模拟烟雾流体普遍是以序列贴图配合材质和粒子系统实现的。在Maya、3DsMax等软件中,利用该软件的粒子系统模拟烟雾、流体的效果,并渲染出图,再用外部软件合成为一张N*N(大小为2次幂)的序列贴图,从而导入引擎配合材质、粒子系统还原贴图的动态效果。如果需要生成相应的流动图,则需要使用Houdini或者EmberGen来模拟和渲染出图。
具体的,目前普遍采用的序列贴图还原动态的方法是利用材质中的ParticleSubUV节点作为贴图的采样节点开启帧与帧之间的混合,粒子系统中SubUV的差值算法选择线性混合模式已达到帧与帧之间的融合过度效果。
现有的技术原理是粒子系统利用曲线控制采样器依序读取贴图的第一行第一列的贴图信息,以横向作为读取方向顺序的读取下去,再配合帧融合达到连贯的动画效果。
图1示出了采样节点和材质的表达式选项的界面示意图,如图1所示,勾选该材质中的采样节点和材质的表达式选项,即可开启混合计算。
图2示出了粒子系统中的SubUV选项的界面示意图,如图2所示,第一行的是选择帧之间的差值计算模式,这里选择的Linear Blend为线性混合的模式。
图3示出了粒子系统中的SubImageIndex模块和属性的界面示意图,如图3所示,InVal的0代表生命0%,In Val的1代表生命为100%,Out Val代表读取第几张贴图。
由于虚幻引擎中是从0开始计数的,所以该曲线的设置意义是当粒子生命值为0%时,读取第1张贴图;当粒子生命为100%时,读取第64张图片。
由于动画的单次播放时长是由粒子生命时间来决定的,所以粒子生命时间越长,动画就需要更多的关键帧来补帧,所以会导致贴图尺寸增加。进一步的,如果尺寸有限定,那么只能减少每一帧的占比来塞下更多帧的贴图,又会导致贴图精度的丢失。
针对相关技术中存在的问题,本公开提出了一种动画生成方法。图4示出了动画生成方法的流程图,如图4所示,动画生成方法至少包括以下步骤:
步骤S410.获取序列贴图,并对序列贴图进行拆分处理得到单张贴图。
步骤S420.利用单张贴图生成流动图,并根据流动图对预设材质进行调整得到材质函数。
步骤S430.调用材质函数得到序列贴图的灰度信息,以使粒子系统根据灰度信息生成序列图动画。
在本公开的示例性实施例中,利用图库等位置中存储的现有的序列贴图生成流动图,省去了在相关软件中生成流动图所带来的大量工作步骤,大幅度缩减了工作时间,能够起到降本增效的作用。进一步的,利用流动图生成序列图动画,提升了序列图动画的流畅度,也能够减少序列图动画的尺寸,起到优化性能的作用。
下面对动画生成方法的各个步骤进行详细说明。
在步骤S410中,获取序列贴图,并对序列贴图进行拆分处理得到单张贴图。
在本公开的示例性实施例中,在制作特效的过程中,为了达到更高的效率,会重复使用特效贴图库中的序列贴图。
其中,序列贴图是指一组或多组具有连续性的图像,可以通过一定规律播放来形成某种动态视觉效果。
在获取到特效贴图库或者其他图库中的序列贴图之后,可以制作与序列贴图对应的流动图。
图5示出了SlateEditor软件的界面示意图,如图5所示,使用Slate Editor软件可以制作已有的序列贴图的流动图。
图6示出了对序列贴图进行拆分处理的方法的流程示意图,如图6所示,该方法至少可以包括以下步骤:在步骤S610中,获取序列贴图的排列格式,排列格式包括水平排列格式和竖直排列格式。
当使用特效贴图库等图库中的一张已有的序列贴图时,可以获取该序列贴图的排列格式。举例而言,该排列格式可以是4*4排列的,也可以是8*8排列的,还可以是2*8、5*5或6*6的等,本示例性实施例对此不做特殊限定。
其中,排列格式为4*4的序列贴图的水平排列格式即为4,竖直排列格式也为4;排列格式为2*8的序列贴图的水平排列格式为2,竖直排列格式为8。
在步骤S620中,按照水平排列格式对序列贴图进行水平方向上的拆分处理,并按照竖直排列格式对序列贴图进行竖直方向上的拆分处理,以得到单张贴图。
在获取到水平排列格式和竖直排列格式之后,可以按照该水平排列格式和竖直排列格式对序列贴图进行拆分处理。
图7示出了GhostCatTools软件的界面示意图,如图7所示,当序列贴图为4*4排列的时,可以直接利用GhostCatTools(图片拆分工具)软件可以对序列贴图进行拆分处理,以拆分成单张连续的贴图。
图8示出了GhostCatTools软件的工具集合的界面示意图,如图8所示,当序列贴图为8*8排列的时,可以选用GhostCatTools软件的图片处理工具对序列贴图进行拆分处理。
图9示出了图片处理工具的界面示意图,如图9所示,由于序列贴图为8*8排列的,因此,可以按照水平排列格式设置宽为8,按照竖直排列格式设置高也为8进行拆分处理得到64张单张贴图。
在图9所示的界面示意图中点击“保存”控件可以将该64张单张贴图保存到当前路径。因此,可以提前新建文件夹,以便于拆分处理得到的单张贴图的保存。
由于单张贴图一般以16张为最佳,因此,当拆分后的贴图的数量过大时,可以对拆分后的贴图进行进一步的筛选,以得到单张贴图。
图10示出了选择单张贴图的方法的流程示意图,如图10所示,该方法至少可以包括以下步骤:在步骤S1010中,对序列贴图进行拆分处理得到初始贴图,并获取初始贴图的贴图数量以及与贴图数量对应的数量阈值。
当序列贴图按照8*8排列时,可以按照图6所示的方式拆分得到64张初始贴图。因此,此时的贴图数量为64。
拆分后的单张贴图一般以16张为最佳,因此,数量阈值可以是16。除此之外,也可以根据实际情况的需求设定其他阈值,本示例性实施例对此不做特殊限定。
在步骤S1020中,若贴图数量大于数量阈值,获取与贴图数量对应的筛选步长。
当对贴图数量和数量阈值进行比较,并确定贴图数量大于数量阈值时,可以根据贴图数量和数量阈值确定筛选步长。
举例而言,当贴图数量为64时,可以确定筛选步长为3,亦即在初始贴图中每隔三张选一张,最终选得16张单张贴图。
除此之外,当序列贴图按照6*6的格式进行排列时,对该序列贴图进行拆分处理之后可以得到36张初始贴图,因此,可以确定筛选步长为2,亦即在在初始贴图中每隔两张选一张,那么,最终会选择18张贴图。为了能够保证得到16张单张贴图,可以丢弃最后两张贴图。
在步骤S1030中,按照筛选步长在初始贴图中选择单张贴图。
在确定筛选步长之后,每隔筛选步长的长度选择一张单张贴图,以最终得到16张单张贴图,最大程度地还原64张等多张初始贴图所呈现的动态信息。
将拆分处理得到的16张单张贴图打包,并单独复制粘贴到两一个文件夹中。值得说明的是,该文件夹的命名不能是中文,且不能放在桌面或C盘等必须要管理员权限才能操作的路径下。
除了可以利用GhostCatTools软件的图片处理工具对序列贴图进行拆分处理之外,还可以利用Photoshop(图片制作处理软件)软件中进行拆分处理。
图11示出了利用Photoshop软件对序列贴图进行拆分处理的界面示意图,如图11所示,将序列贴图导入Photoshop软件之后,可以利用划分切片工具输入水平划分的纵向切片个数,以及输入垂直方向划分的横向切片个数。
该纵向切片个数和横向切片个数即为水平排列格式和竖直排列格式的数值。
进一步的,在左上的点击“文件”,进一步点击“导出”,再储存在Web(World WideWeb,全球广域网)所用格式即可。
在拆分得到的单张贴图的界面中,筛选框中的浅灰色边框表示选中。进一步的,点击预设选择PNG-24,以输出带有透明度的PNG(Portable Network Graphics,便携式网络图形)格式的单张贴图。最后,点击存储按钮,并选择保存路径,能够自动生成一个文件夹,并将单张贴图保存在该文件夹中。
在步骤S420中,利用单张贴图生成流动图,并根据流动图对预设材质进行调整得到材质函数。
在本公开的示例性实施例中,使用SlateEditor软件生成与单张贴图对应的流动图。
其中,流动图是一张记录了2D向量信息的纹理。Flow map(流动图)上的颜色(RG(Red、Green)通道)记录向量场(二维向量)的方向,从而让模型上某一点表现出定量流动的特征。
打开SlateEditor软件,并将存储16张单张贴图的文件夹拖入到软件视口。
在SlateEditor软件中找到OpticalFlow模块,并勾选最后一帧空白,最后点击GenerateAll生成全部的流动图。
在可选的实施例中,确定与流动图对应的贴图格式,并按照贴图格式导出流动图。
在流动图生成之后,可以选择保存流动图的导出路径。
除此之外,由于后续要将流动图导入UE4(虚幻引擎)等引擎中制作序列图动画,可以根据引擎的要求确定导出流动图的格式。举例而言,当将流动图导入UE4时,可以确定贴图格式为PNG或TGA(Tagged Gr aphics,一种图像文件格式)。
进一步的,在勾选OpticalFlow之后,最后由RenderLayers导出贴图。
图12示出了导出的序列贴图和流动图,如图12所示,此时导出的序列贴图为减帧后的贴图。进一步的,将该序列贴图和流动图导入虚幻引擎,能够在虚幻引擎内使用该流动图制作序列图动画,以极大程度的减少序列图动画之间的跳帧现象。
在将该序列贴图和流动图导入虚幻引擎之后,需要取消勾选sRGB选项,以进行颜色校正,保证流动图与序列贴图的灰度信息一致。
在可选的实施例中,图13示出了生成材质函数的方法的流程示意图,如图13所示,该方法至少可以包括以下步骤:在步骤S1310中,获取预设材质以及预设材质的材质坐标值,并获取流动图的贴图坐标值。
该预设材质可以是UE4引擎中自带的材质,也可以是通过其他方式得到的材质,本示例性实施例对此不做特殊限定。
由于该预设材质无法在粒子系统内通过粒子时间进行控制,因此获取预设材质的材质坐标值和流动图的贴图坐标值,实现对预设材质的优化。
其中,材质坐标值可以是预设材质的UV值,贴图坐标值也可以是流动图的UV值。
UV是uv纹理贴图坐标的简称(它和空间模型的X,Y,Z轴是类似的)。它定义了图片上每个点的位置的信息,这些点与3D模型是相互联系的,以决定表面纹理贴图的位置。
UV就是将图像上每一个点精确对应到模型物体的表面,在点与点之间的间隙位置由软件进行图像光滑插值处理。
在步骤S1320中,对材质坐标值和贴图坐标值进行融合得到优化材质,并将流动图赋予优化材质得到材质函数。
为对预设材质进行优化,可以是将预设材质的材质坐标值和流动图的贴图坐标值进行求和计算得到优化材质。
进一步的,将流动图贴到优化后的优化材质上,以得到材质函数。
其中,材质(shader),用来指定模型表面或数个面的特性,它决定这些平面在着色时的特性,例如颜色、光亮程度、自发光度及不透明度等。对应的,指定到材质上的图形称为“贴图(texture)”。
材质函数(Material Functions)使得能够将部分材质图表打包成可复用的资产并分享到库中,还能轻松插入其他材质。它们的作用是立即获取常用的材质节点网络,从而简化材质的制作过程。
由于UE4原有的材质不能放在粒子系统中,用粒子时间进行控制,因此需要对原有材质进行优化。
优化方式可以是将导入的流动图作为扰动图,并将该扰动图的UV值与原有材质的UV值进行求和计算得到优化后的材质。然后,将流动图贴到优化后的材质上得到材质函数,以便于调用。
在步骤S430中,调用材质函数得到序列贴图的灰度信息,以使粒子系统根据灰度信息生成序列图动画。
在本公开的示例性实施例中,生成材质函数之后,由于材质函数执行的是帧融合的逻辑,因此可以通过调用材质函数的方式生成序列图动画。
图14示出了生成序列图动画的方法的流程示意图,如图14所示,该方法至少可以包括以下步骤:在步骤S1410中,获取新建材质以及扰动强度。
其中,该新建材质可以是能够被粒子系统读取的材质。
该扰动强度可以是用于决定序列图动画的流畅度的参数,因此,可以根据粒子系统中生成的序列图动画的效果调整扰动强度。
在步骤S1420中,在新建材质上调用材质函数,并将序列贴图、流动图和扰动强度作为材质函数的输入,以使材质函数输出透明度信息和灰度信息。
在该新建材质上调用材质函数,并创建MotionVector贴图参数、Sub UVtexture参数和Strength参数,以将流动图、序列贴图和扰动强度作为材质函数的输入。
图15出了输入序列贴图、流动图和扰动强度的界面示意图,如图15所示,可以设定Strength参数,亦即扰动强度为0.025,并在后续根据粒子系统中生成的序列图动画的效果调整扰动强度。
除此之外,输入序列贴图为SmokeFlow01_44_4×4,输入流动图为SmokeFlow01_44_OF。
在对材质函数确定输入之后,可以使得材质函数输出透明度信息和灰度信息。由于粒子系统无法读取材质函数,因此通过在新建材质上执行材质函数的方式,便于后续的例子系统读取输出的透明度信息和灰度信息。
在步骤S1430中,利用透明度信息和灰度信息生成序列图动画。
在可选的实施例中,图16示出了进一步生成序列图动画的方法的流程示意图,如图16所示,该方法至少可以包括以下步骤:在步骤S1610中,利用透明度信息对灰度信息进行去除得到目标颜色信息,并新建粒子系统。
由于材质函数输出的灰度信息中会包括黑色和白色的部分,因此,为了去除黑色部分,便于生成序列图动画,可以使得灰度信息中减去透明度信息,以对灰度信息进行去除处理得到不包含黑色的目标颜色信息。
除此之外,还可以新建粒子系统。
粒子系统通过发射许多微小粒子来表示不规则模糊物体。粒子系统常用于游戏引擎,用来实现火、云、烟花、雨、雪花等效果的实现。
通俗来讲,在Android(安卓)中一个粒子就是一个小的Drawable,例如雨点图片。而粒子系统的作用就是不停生成雨点,并按照一定的轨迹发射,以实现下雨的效果。
在步骤S1620中,利用粒子系统读取目标颜色信息,以生成序列图动画。
利用粒子系统中的SubImageIndex模块读取目标颜色信息,以还原序列贴图中的信息生成序列图动画。
在日常产出中,使用4*4的序列贴图能够方便快捷的生成流动图,进而生成十分顺滑的序列图动画效果,降低了序列贴图的性能消耗。
值得说明的是,使用流动图可以在减少序列贴图帧数的情况下达到帧与帧之间的顺畅衔接,所以相同像素的序列贴图,如果帧数越少,则每张列贴图的占比也大,因此,每张序列贴图的精度也会更高。
举例而言,对于一张1024*1024像素的贴图,序列贴图是8*8的情况下,实际每帧贴图的尺寸只有128像素;如果是4*4的序列贴图,每帧贴图的尺寸就达到了256像素,精度扩大了一倍。
因此,从贴图的尺寸方面来看,在相同效果下,使用流动图的序列贴图只需要512*512就可以达到与1024*1024相同的效果。
图17示出了不同像素值的贴图在虚幻引擎中的资产尺寸的界面示意图,如图17所示,将1024像素、512像素和256像素的贴图导入虚幻引擎,并以相同贴图压缩格式的情况下,三者的资产尺寸是不同的。
具体的,1024像素的贴图达到了1365KB大小,而512像素贴图只有341KB。流动图本身对精度要不会很高,可以用像素图除以2的大小。
除此之外,256像素的贴图大小仅有85KB。这样,通过341KB和85KB大小的贴图就可以得到比1365KB大小贴图还要流畅的序列帧动画。
由此可见,贴图大小的缩减,首先可以减少客户端包体,其次也降低了显存带宽,起到了优化性能的作用。
在本公开的示例性实施例中的动画生成方法,利用图库中存储的现有的序列贴图生成流动图,省去了在相关软件中生成流动图所带来的大量工作步骤,大幅度缩减了工作时间,能够起到降本增效的作用。进一步的,利用流动图生成序列图动画,提升了序列图动画的流畅度,也能够减少序列图动画的尺寸,起到优化性能的作用。
此外,在本公开的示例性实施例中,还提供一种动画生成装置。图18示出了动画生成装置的结构示意图,如图18所示,动画生成装置1800可以包括:贴图拆分模块1810、材质优化模块1820和动画生成模块1830。其中:
贴图拆分模块1810,被配置为获取序列贴图,并对所述序列贴图进行拆分处理得到单张贴图;
材质优化模块1820,被配置为利用所述单张贴图生成流动图,并根据所述流动图对预设材质进行调整得到材质函数;
动画生成模块1830,被配置为调用所述材质函数得到所述序列贴图的灰度信息,以使粒子系统根据所述灰度信息生成序列图动画。
上述动画生成装置1800的具体细节已经在对应的动画生成方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了动画生成装置1800的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
下面参照图19来描述根据本发明的这种实施例的电子设备1900。图19显示的电子设备1900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图19所示,电子设备1900以通用计算设备的形式表现。电子设备1900的组件可以包括但不限于:上述至少一个处理单元1910、上述至少一个存储单元1920、连接不同系统组件(包括存储单元1920和处理单元1910)的总线1930、显示单元1940。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1910执行,使得所述处理单元1910执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
存储单元1920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1921和/或高速缓存存储单元1922,还可以进一步包括只读存储单元(ROM)1923。
存储单元1920还可以包括具有一组(至少一个)程序模块1925的程序/实用工具1924,这样的程序模块1925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1900也可以与一个或多个外部设备2100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1900交互的设备通信,和/或与使得该电子设备1900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1950进行。并且,电子设备1900还可以通过网络适配器1960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1960通过总线1930与电子设备1900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
参考图20所示,描述了根据本发明的实施例的用于实现上述方法的程序产品2000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (10)
1.一种动画生成方法,其特征在于,所述方法包括:
获取序列贴图,并对所述序列贴图进行拆分处理得到单张贴图;
利用所述单张贴图生成流动图,并根据所述流动图对预设材质进行调整得到材质函数;
调用所述材质函数得到所述序列贴图的灰度信息,以使粒子系统根据所述灰度信息生成序列图动画。
2.根据权利要求1所述的动画生成方法,其特征在于,所述对所述序列贴图进行拆分处理得到单张贴图,包括:
获取所述序列贴图的排列格式,所述排列格式包括水平排列格式和竖直排列格式;
按照所述水平排列格式对所述序列贴图进行水平方向上的拆分处理,并按照所述竖直排列格式对所述序列贴图进行竖直方向上的拆分处理,以得到单张贴图。
3.根据权利要求1所述的动画生成方法,其特征在于,所述对所述序列贴图进行拆分处理得到单张贴图,包括:
对所述序列贴图进行拆分处理得到初始贴图,并获取所述初始贴图的贴图数量以及与所述贴图数量对应的数量阈值;
若所述贴图数量大于所述数量阈值,获取与所述贴图数量对应的筛选步长;
按照所述筛选步长在所述初始贴图中选择单张贴图。
4.根据权利要求1所述的动画生成方法,其特征在于,在所述利用所述单张贴图生成流动图之后,所述方法还包括:
确定与所述流动图对应的贴图格式,并按照所述贴图格式导出所述流动图。
5.根据权利要求1所述的动画生成方法,其特征在于,所述根据所述流动图对预设材质进行调整得到材质函数,包括:
获取预设材质以及所述预设材质的材质坐标值,并获取所述流动图的贴图坐标值;
对所述材质坐标值和所述贴图坐标值进行融合得到优化材质,并将所述流动图赋予所述优化材质得到材质函数。
6.根据权利要求1所述的动画生成方法,其特征在于,所述调用所述材质函数得到所述序列贴图的灰度信息,以使粒子系统根据所述灰度信息生成序列图动画,包括:
获取新建材质以及扰动强度;
在所述新建材质上调用所述材质函数,并将所述序列贴图、所述流动图和所述扰动强度作为所述材质函数的输入,以使所述材质函数输出透明度信息和灰度信息;
利用所述透明度信息和所述灰度信息生成序列图动画。
7.根据权利要求1-6中任一项所述的动画生成方法,其特征在于,所述利用所述透明度信息和所述灰度信息生成序列图动画,包括:
利用所述透明度信息对所述灰度信息进行去除得到目标颜色信息,并新建粒子系统;
利用所述粒子系统读取所述目标颜色信息,以生成序列图动画。
8.一种动画生成装置,其特征在于,包括:
贴图拆分模块,被配置为获取序列贴图,并对所述序列贴图进行拆分处理得到单张贴图;
材质优化模块,被配置为利用所述单张贴图生成流动图,并根据所述流动图对预设材质进行调整得到材质函数;
动画生成模块,被配置为调用所述材质函数得到所述序列贴图的灰度信息,以使粒子系统根据所述灰度信息生成序列图动画。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任意一项所述的动画生成方法。
10.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-7中任意一项所述的动画生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211046230.2A CN115423903A (zh) | 2022-08-30 | 2022-08-30 | 动画生成方法及装置、介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211046230.2A CN115423903A (zh) | 2022-08-30 | 2022-08-30 | 动画生成方法及装置、介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115423903A true CN115423903A (zh) | 2022-12-02 |
Family
ID=84199761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211046230.2A Pending CN115423903A (zh) | 2022-08-30 | 2022-08-30 | 动画生成方法及装置、介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115423903A (zh) |
-
2022
- 2022-08-30 CN CN202211046230.2A patent/CN115423903A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111105491B (zh) | 场景渲染方法、装置、计算机可读存储介质和计算机设备 | |
EP0993659B1 (en) | A computer graphics system | |
CN105354872A (zh) | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 | |
CN109523622B (zh) | 一种非结构化的光场渲染方法 | |
CN112891946B (zh) | 游戏场景生成方法和装置、可读存储介质、电子设备 | |
US20230033319A1 (en) | Method, apparatus and device for processing shadow texture, computer-readable storage medium, and program product | |
CN111179391A (zh) | 一种三维动画制作方法、系统及存储介质 | |
US9704290B2 (en) | Deep image identifiers | |
CN115082609A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN112883102B (zh) | 数据可视化展示的方法、装置、电子设备及存储介质 | |
JP2006172479A (ja) | 3次元映像の階層的構造に基づいた適応的レンダリング装置、セルデータ生成装置、セルデータ生成方法、レンダリング方法、及び、それらの方法を行うためのコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体 | |
WO2023159595A1 (zh) | 构建和配置三维空间场景的模型的方法、装置及计算机程序产品 | |
JP2003168130A (ja) | リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法 | |
CN115423903A (zh) | 动画生成方法及装置、介质、电子设备 | |
US11487408B1 (en) | Method for associating production elements with a production approach | |
US20140002476A1 (en) | Efficient feedback-based illumination and scatter culling | |
KR101268865B1 (ko) | 3d 가상현실 저작도구의 실시간 재질 생성을 위한 편집 방법 | |
CN117412452B (zh) | 氛围灯设备及其配色方法和相应的装置、介质 | |
CN117412450B (zh) | 氛围灯设备及其灯效配色方法和相应的装置、介质 | |
CN115640044B (zh) | 基于Unity的三维软件开发方法、装置、设备及介质 | |
CN114022605A (zh) | 贴图处理方法及装置、存储介质、电子设备 | |
CN115708959A (zh) | 虚拟场景中的水域编辑方法、装置、存储介质与电子设备 | |
CN114022629A (zh) | 虚拟地形处理方法、装置、存储介质与电子设备 | |
CN116310049A (zh) | 体积雾生成方法、装置、电子设备及计算机可读存储介质 | |
CN110909401A (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 |