贴图处理方法及装置、存储介质、电子设备与流程

文档序号:28810277发布日期:2022-02-09 03:48阅读:157来源:国知局
贴图处理方法及装置、存储介质、电子设备与流程

1.本公开涉及计算机图形技术领域,尤其涉及一种贴图处理方法与贴图处理装置、计算机可读存储介质及电子设备。


背景技术:

2.在制作虚拟沙漠等雾效场景时,通常需要制作出非常大且真实的沙尘暴等特效。对游戏场景中的需求进行分析可知,沙尘暴需要做到可以接收光照,并且是动态的,需要有很强的体积感。但是,现行市面上的游戏并没有能达到所需品质的效果方案,大多数为了节省性能一般是利用特效发射贴图来达到此类效果。
3.通过粒子特效系统发射带扰动和移动的透明特效贴图来模拟沙暴效果,虽然消耗较低,但并不能满足一些美术表现较为精致的项目需求。具体的,由于制作材质算法本身和光源信息没有发生任何关系,因此不能看到光照射在沙尘身上产生的边缘光。其次,由于需要考虑到风沙的动态效果,发射的贴图大多是无规律随机旋转的,所以会造成体积感的缺失或者并不能表达准确的“体积感”。更为重要的是,由于是用贴图模拟沙暴效果,所以沙尘暴内是不存在沙尘内部景象的,沙尘的表达也并不细腻,没法融入地形,只能做“假”阴影。
4.鉴于此,本领域亟需开发一种新的贴图处理方法及装置。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开的目的在于提供一种贴图处理方法、贴图处理装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的雾效制作效果不佳的技术问题。
7.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
8.根据本发明实施例的第一个方面,提供一种贴图处理方法,所述方法包括:
9.获取第一贴图和雾效材质,并对所述第一贴图和所述雾效材质进行混合处理生成絮状雾效;
10.对所述絮状雾效进行纹理移动处理得到飘动雾效,并对所述飘动雾效和所述第一贴图进行混合处理得到拉丝态雾效;
11.对所述拉丝态雾效进行光照偏移处理得到散射雾效,并对所述散射雾效进行明暗层次调整得到目标雾效。
12.在本发明的一种示例性实施例中,所述获取第一贴图和雾效材质,包括:
13.获取单个面片模型,并获取所述单个面片模型的材质贴图;
14.对所述材质贴图进行合成处理得到第一贴图,并获取雾效材质。
15.在本发明的一种示例性实施例中,所述对所述第一贴图和所述雾效材质进行混合
处理生成絮状雾效,包括:
16.对所述第一贴图和所述雾效材质进行混合处理得到原始雾效,并获取第二贴图;
17.对所述第二贴图和所述原始雾效进行叠加处理得到块状雾效,并获取第三贴图;
18.对所述第三贴图和所述块状雾效进行叠加处理得到絮状雾效。
19.在本发明的一种示例性实施例中,所述方法还包括:
20.对所述飘动雾效和所述第二贴图进行混合处理得到拉丝态雾效。
21.在本发明的一种示例性实施例中,所述对所述散射雾效进行明暗层次调整得到目标雾效,包括:
22.对所述散射雾效和所述第二贴图进行混合处理得到混合雾效,并获取自发光贴图;
23.对所述混合雾效和所述自发光贴图进行明暗层次调整得到目标雾效。
24.在本发明的一种示例性实施例中,所述方法还包括:
25.对所述飘动雾效和所述第三贴图进行混合处理得到拉丝态雾效。
26.在本发明的一种示例性实施例中,所述对所述散射雾效进行明暗层次调整得到目标雾效,包括:
27.对所述散射雾效和所述第三贴图进行混合处理得到混合雾效,并获取自发光贴图;
28.对所述混合雾效和所述自发光贴图进行明暗层次调整得到目标雾效。
29.在本发明的一种示例性实施例中,所述对所述拉丝态雾效进行光照偏移处理得到散射雾效,包括:
30.确定与所述拉丝态雾效对应的光照方向,并复制所述拉丝态雾效得到备份雾效;
31.根据所述光照方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调整处理得到明度雾效,以确定所述拉丝态雾效和所述明度雾效为散射雾效。
32.在本发明的一种示例性实施例中,所述根据所述光照方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调整处理得到明度雾效,包括:
33.按照所述光照方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调大处理得到明度雾效;或
34.按照所述光照方向的反方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调小处理得到明度雾效。
35.在本发明的一种示例性实施例中,所述对所述散射雾效进行明暗层次调整得到目标雾效,包括:
36.对所述散射雾效和所述第一贴图进行混合处理得到混合雾效,并获取自发光贴图;
37.对所述混合雾效和所述自发光贴图进行明暗层次调整得到目标雾效。
38.根据本发明实施例的第二个方面,提供一种贴图处理装置,包括:
39.混合处理模块,被配置为获取第一贴图和雾效材质,并对所述第一贴图和所述雾效材质进行混合处理生成絮状雾效;
40.移动处理模块,被配置为对所述絮状雾效进行纹理移动处理得到飘动雾效,并对所述飘动雾效和所述第一贴图进行混合处理得到拉丝态雾效;
41.雾效调整模块,被配置为对所述拉丝态雾效进行光照偏移处理得到散射雾效,并对所述散射雾效进行明暗层次调整得到目标雾效。
42.根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例中的贴图处理方法。
43.根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的贴图处理方法。
44.由上述技术方案可知,本公开示例性实施例中的贴图处理方法、贴图处理装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
45.在本公开的示例性实施例提供的方法及装置中,对第一贴图和雾效材质进行混合处理以及后续的混合处理都充分发挥了点阵的特性,使得雾效的纹理表现更加具有体积感和层次感,并且在性能消耗较低的前提下带来更加真实的雾效。更进一步的,在对雾效进行纹理移动处理、光照偏移处理和明暗层次调整的时候加入了多个新方向上的参数调整,为雾效赋予了更多的表现可能性,丰富了雾效的应用场景,也能够适用于更多的游戏美术风格的项目。
46.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1示意性示出了相关技术中粒子特效系统模拟沙暴效果的一种效果示意图;
49.图2示意性示出了相关技术中粒子特效系统模拟沙暴效果的另一种效果示意图;
50.图3示意性示出本公开示例性实施例中一种贴图处理方法的流程示意图;
51.图4示意性示出了本公开示例性实施例中获取第一贴图和雾效材质的方法的流程示意图;
52.图5示意性示出本公开示例性实施例中混合处理的方法的流程示意图;
53.图6示意性示出本公开示例性实施例中光照偏移处理的方法的流程示意图;
54.图7示意性示出本公开示例性实施例中明度调整处理的方法的流程示意图;
55.图8示意性示出本公开示例性实施例中一种明暗层次调整的方法的流程示意图;
56.图9示意性示出本公开示例性实施例中另一种明暗层次调整的方法的流程示意图;
57.图10示意性示出本公开示例性实施例中再一种明暗层次调整的方法的流程示意图;
58.图11示意性示出本公开示例性实施例中应用场景下获取第一贴图的方法的界面示意图;
59.图12示意性示出本公开示例性实施例中应用场景下生成的原始雾效的效果示意图;
60.图13示意性示出本公开示例性实施例中应用场景下块状雾效的效果示意图;
61.图14示意性示出本公开示例性实施例中应用场景下通过叠加第三贴图得到的絮状雾效的效果示意图;
62.图15示意性示出本公开示例性实施例中应用场景下的拉丝态雾效的效果示意图;
63.图16示意性示出本公开示例性实施例中应用场景下的散射雾效的效果示意图;
64.图17示意性示出本公开示例性实施例中应用场景下目标雾效的效果示意图;
65.图18示意性示出本公开示例性实施例中应用场景下生成的沙尘暴效果的效果示意图;
66.图19示意性示出本公开示例性实施例中根据粒子特效发射贴图生成的沙尘效果和本公开方法生成的沙尘效果的对比图;
67.图20示意性示出本公开示例性实施例中应用场景下使用本公开的贴图处理方法的界面示意图;
68.图21示意性示出本公开示例性实施例中应用场景下调整参数的界面示意图;
69.图22示意性示出本公开示例性实施例中一种贴图处理装置的结构示意图;
70.图23示意性示出本公开示例性实施例中一种用于实现贴图处理方法的电子设备;
71.图24示意性示出本公开示例性实施例中一种用于实现贴图处理方法的计算机可读存储介质。
具体实施方式
72.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
73.本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
74.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
75.在制作虚拟沙漠等雾效场景时,通常需要制作出非常大且真实的沙暴等特效。对游戏场景中的需求进行分析可知,沙尘暴需要做到可以接收光照,并且是动态的,需要有很强的体积感。但是,现行市面上的游戏并没有能达到所需品质的效果方案,大多数为了节省
性能一般是利用特效发射贴图来达到此类效果。
76.通过粒子特效系统发射带扰动和移动的透明特效贴图来模拟沙暴效果,虽然消耗较低,但并不能满足一些美术表现较为精致的项目需求。
77.图1示出了相关技术中粒子特效系统模拟沙暴效果的一种效果示意图,如图1所示,由于制作材质算法本身和光源信息没有发生任何关系,因此不能看到光照射在沙尘身上产生的边缘光。
78.图2示出了相关技术中粒子特效系统模拟沙暴效果的另一种效果示意图,如图1所示,由于是用贴图模拟沙暴效果,所以沙尘暴内是不存在沙尘内部景象的,沙尘的表达也并不细腻,没法融入地形,只能做“假”阴影。
79.除此之外,由于需要考虑到风沙的动态效果,发射的贴图大多是无规律随机旋转的,所以会造成体积感的缺失或者并不能表达准确的“体积感”。
80.因此,在制作虚拟沙漠等雾效场景需要制作出非常大且真实的沙尘暴等特效时,沙尘暴需要做到可以接收光照,并且是动态的,需要有很强的体积感。但是,现行市面上的游戏并没有能达到所需品质的效果方案,大多数为了节省性能一般是利用特效发射贴图来达到此类效果。
81.通过粒子特效系统发射带扰动和移动的透明特效贴图来模拟沙暴效果,虽然消耗较低,但并不能满足一些美术表现较为精致的项目需求。具体的,由于制作材质算法本身和光源信息没有发生任何关系,因此不能看到光照射在沙尘身上产生的边缘光。其次,由于需要考虑到风沙的动态效果,发射的贴图大多是无规律随机旋转的,所以会造成体积感的缺失或者并不能表达准确的“体积感”。更为重要的是,由于是用贴图模拟沙暴效果,所以沙尘暴内是不存在沙尘内部景象的,沙尘的表达也并不细腻,没法融入地形,只能做“假”阴影。
82.针对相关技术中存在的问题,本公开提出了一种贴图处理方法。图3示出了贴图处理方法的流程图,如图3所示,贴图处理方法至少包括以下步骤:
83.步骤s310.获取第一贴图和雾效材质,并对第一贴图和雾效材质进行混合处理生成絮状雾效。
84.步骤s320.对絮状雾效进行纹理移动处理得到飘动雾效,并对飘动雾效和第一贴图进行混合处理得到拉丝态雾效。
85.步骤s330.对拉丝态雾效进行光照偏移处理得到散射雾效,并对散射雾效进行明暗层次调整得到目标雾效。
86.在本公开的示例性实施例中,对第一贴图和雾效材质进行混合处理以及后续的混合处理都充分发挥了点阵的特性,使得雾效的纹理表现更加具有体积感和层次感,并且在性能消耗较低的前提下带来更加真实的雾效。更进一步的,在对雾效进行纹理移动处理、光照偏移处理和明暗层次调整的时候加入了多个新方向上的参数调整,为雾效赋予了更多的表现可能性,丰富了雾效的应用场景,也能够适用于更多的游戏美术风格的项目。
87.下面对贴图处理方法的各个步骤进行详细说明。
88.在步骤s310中,获取第一贴图和雾效材质,并对第一贴图和雾效材质进行混合处理生成絮状雾效。
89.在本公开的示例性实施例中,可以先获取第一贴图和雾效材质。
90.在可选的实施例中,图4示出了获取第一贴图和雾效材质的方法的流程示意图,如
图4所示,该方法至少包括以下步骤:在步骤s410中,获取单个面片模型,并获取单个面片模型的材质贴图。
91.其中,单个面片模型可以是ue4引擎(unreal engine 4,虚幻4引擎)发射生成的粒子。
92.值得说明的是,该粒子只需发射一个,而无需发射多个粒子,以在复杂材质的前提下,解决过多粒子的性能问题。
93.进一步的,还可以使用ue4引擎获取该单个粒子,亦即单个面片模型的材质贴图。
94.在步骤s420中,对材质贴图进行合成处理得到第一贴图,并获取雾效材质。
95.利用ue4引擎对多张体积较小的材质贴图进行合成处理得到一张3d(3-dimension,三维)贴图,亦即第一贴图。
96.进一步的,获取ue4引擎自带的volume(体积)材质作为雾效材质。
97.其中,volume材质是体积雾所使用的材质类型,可以利用到覆盖场景全局的点阵(体素)上制作效果。并且,还能给游戏中的贴图云和贴图雾增加体积,使得光线在透过云雾时,能够得到更加自然的散射画面。
98.在本示例性实施例中,通过单个面片模型可以获取到对应的第一贴图,获取方式简单准确,并且为后续的无效生成提供了贴图基础。
99.在获取到第一贴图和雾效材质之后,可以对第一贴图和雾效材质进行混合处理。
100.在可选的实施例中,图5示出了混合处理的方法的流程示意图,如图5所示,该方法至少包括以下步骤:在步骤s510中,对第一贴图和雾效材质进行混合处理得到原始雾效,并获取第二贴图。
101.具体的,可以是利用第一贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式表现在世界空间坐标系内,标识出世界空间中云雾的透明和不透明的范围,以得到原始雾效。
102.进一步的,为对原始雾效进行叠加处理,还可以获取第二贴图。该第二贴图为与第一贴图不同的贴图。
103.在步骤s520中,对第二贴图和原始雾效进行叠加处理得到块状雾效,并获取第三贴图。
104.在获取到世界空间坐标系之后,可以在世界空间坐标系内将第一贴图平铺多次,例如256次,然后对平铺多次后的第一贴图按照常量进行随机偏移。然后,将第二贴图缩小16倍或其他倍数,以增加重复度。进一步的,将随机偏移后的第一贴图和缩小后的第二贴图输入到雾效材质的点阵信息里面,以使材质函数进行处理得到块状雾效。
105.块状雾效虽然已经进行了2次混合,但是并没有解决重复度过高的问题,亦即明暗表现像被网格划分出的表现效果,因此,可以进一步获取第三贴图,以使用第三贴图继续进行叠加处理。
106.值得说明的是,该第三贴图为纹理细节更加多的贴图。
107.在步骤s530中,对第三贴图和块状雾效进行叠加处理得到絮状雾效。
108.具体的,可以是利用第三贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式表现在世界空间坐标系内,以进一步标识世界空间中云雾的透明和不透明的范围得到絮状雾效。
109.并且,由于叠加处理与混合处理的处理方式是相同的,因此,该叠加处理也与步骤s520中的叠加处理的过程相同,在此不再赘述。
110.在本示例性实施例中,利用第一贴图、第二贴图和第三贴图对雾效材质进行三次连续的混合处理得到絮状雾效,从明暗划分的角度提升了细节表现力,相较于原始雾效和块状雾效也出现了与现实中雾效相同的絮状效果,雾效效果表现更佳。
111.在步骤s320中,对絮状雾效进行纹理移动处理得到飘动雾效,并对飘动雾效和第一贴图进行混合处理得到拉丝态雾效。
112.在本公开的示例性实施例中,得到絮状雾效之后,可以对絮状雾效进行纹理移动处理。
113.具体的,利用抓取到的ue4引擎内的time属性,用来移动之前混合操作时候抓取的世界坐标位置,让絮状雾效移动起来得到飘动雾效。该time属性是ue4引擎内置的属性,是可以随着游戏时间的增长不断增加的值。
114.其中,可以通过定义3个属性融合进纹理移动。这三个属性分别是timeoffset、densitytexturea_moving和windri。timeoffset表达了时间偏移控制,densitytexturea_moving定义了云层飘动的速度,windri表达了飘动的方向。
115.但是,现实生活中的云雾或者沙尘并不是一块一块的,而是略微带有一点拉丝状态。因此,为了达到真实状态的云雾,还可以使用之前的第一贴图在飘动雾效上增加一层置换效果,亦即时间交错感,以得到拉丝态雾效。
116.具体的,可以是利用第一贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将飘动雾效表现在世界空间坐标系内,和之前的雾效交错开得到拉丝态雾效。
117.并且,由于此处的混合处理相当于利用第一贴图进行了又一次的叠加处理,因此,该混合处理也与步骤s520中的叠加处理的过程相同,在此不再赘述。
118.除此之外,还可以利用第二贴图或第三贴图进行混合处理。
119.在可选的实施例中,对飘动雾效和第二贴图进行混合处理得到拉丝态雾效。
120.具体的,可以是利用第二贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将飘动雾效表现在世界空间坐标系内,和之前的雾效交错开得到拉丝态雾效。
121.并且,由于此处的混合处理相当于利用第二贴图进行了又一次的叠加处理,因此,该混合处理也与步骤s520中的叠加处理的过程相同,在此不再赘述。
122.在可选的实施例中,对飘动雾效和第三贴图进行混合处理得到拉丝态雾效。
123.具体的,可以是利用第三贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将飘动雾效表现在世界空间坐标系内,和之前的雾效交错开得到拉丝态雾效。
124.并且,由于此处的混合处理相当于利用第三贴图进行了又一次的叠加处理,因此,该混合处理也与步骤s520中的叠加处理的过程相同,在此不再赘述。
125.在本示例性实施例中,为得到拉丝态雾效,可以利用第一贴图、第二贴图或第三贴图与飘动雾效进行混合处理,混合处理的贴图为之前使用过的贴图,因此不会带来性能上的消耗。并且,还可以根据想要的拉丝态的效果选择已使用过的三张贴图中的任意一个,为混合处理提供了多种选择和生成效果。
126.在步骤s330中,对拉丝态雾效进行光照偏移处理得到散射雾效,并对散射雾效进行明暗层次调整得到目标雾效。
127.在本公开的示例性实施例中,得到拉丝态雾效之后,可以对拉丝态雾效进行光照偏移处理。
128.在可选的实施例中,图6示出了光照偏移处理的方法的流程示意图,如图6所示,该方法至少包括以下步骤:在步骤s610中,确定与拉丝态雾效对应的光照方向,并复制拉丝态雾效得到备份雾效。
129.该光照方向可以是抓取到的ue4引擎内的平行光的光照方向,也可以根据实际情况设置其他光照方向,本示例性实施例对此不做特殊限定。
130.进一步的,复制已经得到的拉丝态雾效作为备份雾效。
131.在步骤s620中,根据光照方向对备份雾效进行偏移处理得到偏移雾效,并对偏移雾效进行明度调整处理得到明度雾效,以确定拉丝态雾效和明度雾效为散射雾效。
132.在可选的实施例中,图7示出了明度调整处理的方法的流程示意图,如图7所示,该方法至少包括以下步骤:在步骤s710中,按照光照方向对备份雾效进行偏移处理得到偏移雾效,并对偏移雾效进行明度调大处理得到明度雾效。
133.将复制得到的备份雾效朝着光照方向进行一定程度的偏移得到偏移雾效。具体的,可以是将该偏移雾效移动至拉丝态雾效的上方。
134.进一步的,调整偏移雾效的明度,以使偏移雾效的明度升高得到明度雾效。
135.在步骤s720中,按照光照方向的反方向对备份雾效进行偏移处理得到偏移雾效,并对偏移雾效进行明度调小处理得到明度雾效。
136.将复制得到的备份雾效朝着光照方向的反方向进行一定程度的偏移得到偏移雾效。具体的,可以是将该偏移雾效移动至拉丝态雾效的下方。
137.进一步的,调整偏移雾效的明度,以使偏移雾效的明度降低得到明度雾效。
138.在本示例性实施例中,根据光照方向对备份雾效进行差异化的偏移处理和明度调整处理得到对应的明度雾效,处理方式简单准确,使得雾效的展现与光源信息发生联系,并且与现实场景相符,得到了光照射在雾效身上产生的边缘光的效果,增加了明度雾效的逼真感和现实感。
139.在得到明度雾效之后,可以将明度雾效和拉丝态雾效作为散射雾效,呈现散射状态。
140.在得到散射雾效之后,可以对散射雾效进行明暗层次调整。
141.在可选的实施例中,图8示出了一种明暗层次调整的方法的流程示意图,如图8所示,该方法至少包括以下步骤:在步骤s810中,对散射雾效和第一贴图进行混合处理得到混合雾效,并获取自发光贴图。
142.具体的,可以是利用第一贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将散射雾效表现在世界空间坐标系内得到混合雾效。
143.进一步的,还可以获取自发光贴图。
144.该自发光贴图(emissive)可以控制表面发射光的颜色和亮度。当场景中使用了自发光贴图,会看起来像一个可见光,物体的表面也将呈现自放光的效果。
145.在步骤s820中,对混合雾效和自发光贴图进行明暗层次调整得到目标雾效。
146.具体的,获取世界空间坐标系上相较于混合雾效偏下的位置,并通过自发光贴图控制偏下位置的所有空间变亮,该变亮效果可以是部分区域变亮,部分区域不亮的效果。亦
即,混合雾效的透明部分可以透过下层的自发光贴图变亮,而透明度低的部分无法或者一定程度上不会透过自发光贴图变亮,从而达到视觉上变亮的效果,以得到目标雾效。
147.在本示例性实施例中,通过第一贴图和自发光贴图对散射雾效进行明暗层次调整得到对应的目标雾效,使得目标雾效的呈现更加具有体积感和层次感,能够更真实地展现云雾或者沙尘的效果。并且,该目标雾效能够有更多的表现可能性,为后续更多的游戏美术风格的展示提供依据。
148.除此之外,对散射雾效的明暗层次调整还可以通过第二贴图和第三贴图实现。
149.在可选的实施例中,图9示出了另一种明暗层次调整的方法的流程示意图,如图9所示,该方法至少包括以下步骤:在步骤s910中,对散射雾效和第二贴图进行混合处理得到混合雾效,并获取自发光贴图。
150.具体的,可以是利用第二贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将散射雾效表现在世界空间坐标系内得到混合雾效。
151.进一步的,还可以获取自发光贴图。该自发光贴图可以控制表面发射光的颜色和亮度。当场景中使用了自发光贴图,会看起来像一个可见光,物体的表面也将呈现自放光的效果。
152.在步骤s920中,对混合雾效和自发光贴图进行明暗层次调整得到目标雾效。
153.具体的,获取世界空间坐标系上相较于混合雾效偏下的位置,并通过自发光贴图控制偏下位置的所有空间变亮,该变亮效果可以是部分区域变亮,部分区域不亮的效果。亦即,混合雾效的透明部分可以透过下层的自发光贴图变亮,而透明度低的部分无法或者一定程度上不会透过自发光贴图变亮,从而达到视觉上变亮的效果,以得到目标雾效。
154.在本示例性实施例中,通过第二贴图和自发光贴图对散射雾效进行明暗层次调整得到对应的目标雾效,使得目标雾效的呈现更加具有体积感和层次感,能够更真实地展现云雾或者沙尘的效果。并且,该目标雾效能够有更多的表现可能性,为后续更多的游戏美术风格的展示提供依据。
155.在可选的实施例中,图10示出了再一种明暗层次调整的方法的流程示意图,如图10所示,该方法至少包括以下步骤:在步骤s1010中,对散射雾效和第三贴图进行混合处理得到混合雾效,并获取自发光贴图。
156.具体的,可以是利用第三贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将散射雾效表现在世界空间坐标系内得到混合雾效。
157.进一步的,还可以获取自发光贴图。该自发光贴图可以控制表面发射光的颜色和亮度。当场景中使用了自发光贴图,会看起来像一个可见光,物体的表面也将呈现自放光的效果。
158.在步骤s1020中,对混合雾效和自发光贴图进行明暗层次调整得到目标雾效。
159.具体的,获取世界空间坐标系上相较于混合雾效偏下的位置,并通过自发光贴图控制偏下位置的所有空间变亮,该变亮效果可以是部分区域变亮,部分区域不亮的效果。亦即,混合雾效的透明部分可以透过下层的自发光贴图变亮,而透明度低的部分无法或者一定程度上不会透过自发光贴图变亮,从而达到视觉上变亮的效果,以得到目标雾效。
160.在本示例性实施例中,通过第三贴图和自发光贴图对散射雾效进行明暗层次调整得到对应的目标雾效,使得目标雾效的呈现更加具有体积感和层次感,能够更真实地展现
云雾或者沙尘的效果。并且,该目标雾效能够有更多的表现可能性,为后续更多的游戏美术风格的展示提供依据。
161.下面结合一应用场景对本公开实施例中的贴图处理方法做出详细说明。
162.图11示出了应用场景下获取第一贴图的方法的界面示意图,如图11所示,获取单个面片模型,并获取单个面片模型的材质贴图。
163.其中,单个面片模型可以是ue4引擎发射生成的粒子。
164.值得说明的是,该粒子只需发射一个,而无需发射多个粒子,以在复杂材质的前提下,解决过多粒子的性能问题。
165.进一步的,还可以使用ue4引擎获取该单个粒子,亦即单个面片模型的材质贴图。
166.对材质贴图进行合成处理得到第一贴图。
167.利用ue4引擎对多张体积较小的材质贴图进行合成处理得到一张3d贴图,亦即第一贴图。
168.图12示出了应用场景下生成的原始雾效的效果示意图,如图12所示,进一步的,获取ue4引擎自带的volume材质作为雾效材质。
169.其中,volume材质是体积雾所使用的材质类型,可以利用到覆盖场景全局的点阵(体素)上制作效果。并且,还能给游戏中的贴图云和贴图雾增加体积,使得光线在透过云雾时,能够得到更加自然的散射画面。
170.在获取到第一贴图和雾效材质之后,可以对第一贴图和雾效材质进行混合处理。
171.具体的,可以是利用第一贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式表现在世界空间坐标系内,标识出世界空间中云雾的透明和不透明的范围,以得到原始雾效。
172.显然,雾效材质的表面本身并无明暗划分,而原始雾效在与第一贴图混合之后可以呈现出较为明显的明暗划分。
173.但是,现阶段的原始雾效的重复度,亦即明暗划分像被网格划分出来一样,过于明显的效果还是过高,因此可以再叠加一层3d贴图来消除过高的重复度。
174.为对原始雾效进行叠加处理,还可以获取第二贴图。该第二贴图为与第一贴图不同的贴图。
175.并且,对第二贴图和原始雾效进行叠加处理得到块状雾效。
176.具体的,在获取到世界空间坐标系之后,可以在世界空间坐标系内将第一贴图平铺多次,例如256次,然后对平铺多次后的第一贴图按照常量进行随机偏移。然后,将第二贴图缩小16倍或其他倍数,以增加重复度。进一步的,将随机偏移后的第一贴图和缩小后的第二贴图输入到雾效材质的点阵信息里面,以使材质函数进行处理得到块状雾效。
177.图13示出了应用场景下块状雾效的效果示意图,如图13所示,块状雾效虽然已经进行了2次混合,但是并没有解决重复度过高的问题,因此,可以进一步获取第三贴图,以使用第三贴图继续进行叠加处理。
178.图14示出了应用场景下通过叠加第三贴图得到的絮状雾效的效果示意图,如图14所示,该第三贴图为纹理细节更加多的贴图。
179.对第三贴图和块状雾效进行叠加处理得到絮状雾效。
180.具体的,可以是利用第三贴图内存储的空间坐标关系,以雾效材质生成的点阵的
形式表现在世界空间坐标系内,以进一步标识世界空间中云雾的透明和不透明的范围得到絮状雾效。
181.相较于块状雾效,絮状雾效可以呈现出与现实更加贴近的絮状效果。
182.进一步的,可以通过ue4引擎内更多的参数对絮状雾效的基础信息进行控制。
183.在应用场景下控制絮状雾效的参数的方式可以是通过两个参数规定了絮状雾效的叠加重复度以及明暗度。而每一层都多增加了2个参数,因此在三次混合之后会多增加6个参数。
184.其中,重复度的控制可以是通过tilling参数实现的,明暗度可以是通过纹理的细致程度的参数实现的。并且,由于明暗度与雾效的高度有关,因此,还可以加入雾效的高度这一参数进行控制。
185.由于絮状雾效在现阶段更像是白色云雾,因此,为了让絮状雾效“动”起来,还可以进一步对絮状雾效进行纹理移动处理。
186.在应用场景下进行纹理移动处理的方法可以是利用抓取到的ue4引擎内的time属性,用来移动之前混合操作时候抓取的世界坐标位置,让絮状雾效移动起来得到飘动雾效。该time属性是ue4引擎内置的属性,是可以随着游戏时间的增长不断增加的值。
187.其中,可以通过定义3个属性融合进纹理移动。这三个属性分别是timeoffset、densitytexturea_moving和windri。timeoffset表达了时间偏移控制,densitytexturea_moving定义了云层飘动的速度,windri表达了飘动的方向。
188.当然,现实生活中的云雾或者沙尘并不是一块一块的,而是略微带有一点拉丝状态。因此,为了达到真实状态的云雾,还可以使用之前的贴图在飘动雾效上增加一层置换效果,亦即时间交错感,以得到拉丝态雾效。
189.由于云雾都是同样的移动速度是很假的,因此飘动雾效的每一层的移动速度需要抓取原始的世界坐标位置,再混合一张3d贴图,以设定不同的时间,和之前的雾效交错开形成拉丝状态的拉丝态雾效。
190.值得说明的是,混合的3d贴图可以是之前使用过的第一贴图、第二贴图或第三贴图中的任意一个,可以根据想要的拉丝状态决定,并且,由于使用的是之前使用过的贴图,也不会带来性能消耗。
191.具体的,可以是利用第一贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将飘动雾效表现在世界空间坐标系内,和之前的雾效交错开得到拉丝态雾效。
192.或者可以是利用第二贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将飘动雾效表现在世界空间坐标系内,和之前的雾效交错开得到拉丝态雾效。
193.还可以是利用第三贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将飘动雾效表现在世界空间坐标系内,和之前的雾效交错开得到拉丝态雾效。
194.图15示出了应用场景下的拉丝态雾效的效果示意图,如图15所示,通过飘动雾效和第一贴图的混合处理增加了一层置换效果,使得原本状态很“假”的飘动雾效呈现出拉丝状态。
195.进一步的,为了攻克最难的云雾或沙尘的体积感的问题,可以从光照表现和层次表现两方面克服。
196.在应用场景下确定光照方向的方法可以是利用ue4引擎抓取引擎内的平行光的光
照方向。
197.在应用场景下得到与拉丝态雾效对应的明度雾效的方法可以是首先复制已经得到的拉丝态雾效作为备份雾效。
198.然后,根据光照方向对备份雾效进行偏移处理得到偏移雾效,并对偏移雾效进行明度调整处理得到明度雾效。
199.其一,按照光照方向对备份雾效进行偏移处理得到偏移雾效,并对偏移雾效进行明度调大处理得到明度雾效。
200.将复制得到的备份雾效朝着光照方向进行一定程度的偏移得到偏移雾效。具体的,可以是将该偏移雾效移动至拉丝态雾效的上方。
201.进一步的,调整偏移雾效的明度,以使偏移雾效的明度升高得到明度雾效。
202.其二,按照光照方向的反方向对备份雾效进行偏移处理得到偏移雾效,并对偏移雾效进行明度调小处理得到明度雾效。
203.将复制得到的备份雾效朝着光照方向的反方向进行一定程度的偏移得到偏移雾效。具体的,可以是将该偏移雾效移动至拉丝态雾效的下方。
204.进一步的,调整偏移雾效的明度,以使偏移雾效的明度降低得到明度雾效。
205.在得到明度雾效之后,可以将明度雾效和拉丝态雾效作为散射雾效。
206.图16示出了应用场景下的散射雾效的效果示意图,如图16所示,该散射雾效可以模拟出被光照射时,云雾所折射的边缘光,呈现散射效果。
207.在得到散射雾效之后,可以对散射雾效进行明暗层次调整。
208.在应用场景下的明暗层次调整的方法可以是对散射雾效和第一贴图进行混合处理得到混合雾效,并获取自发光贴图。
209.具体的,可以是利用第一贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将散射雾效表现在世界空间坐标系内得到混合雾效。
210.进一步的,还可以获取自发光贴图。
211.该自发光贴图可以控制表面发射光的颜色和亮度。当场景中使用了自发光贴图,会看起来像一个可见光,物体的表面也将呈现自放光的效果。
212.对混合雾效和自发光贴图进行明暗层次调整得到目标雾效。
213.具体的,获取世界空间坐标系上相较于混合雾效偏下的位置,并通过自发光贴图控制偏下位置的所有空间变亮,该变亮效果可以是部分区域变亮,部分区域不亮的效果。亦即,混合雾效的透明部分可以透过下层的自发光贴图变亮,而透明度低的部分无法或者一定程度上不会透过自发光贴图变亮,从而达到视觉上变亮的效果,以得到目标雾效。
214.除此之外,对散射雾效的明暗层次调整还可以通过第二贴图和第三贴图实现。
215.对散射雾效和第二贴图进行混合处理得到混合雾效,并获取自发光贴图。
216.具体的,可以是利用第二贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将散射雾效表现在世界空间坐标系内得到混合雾效。
217.进一步的,还可以获取自发光贴图。该自发光贴图可以控制表面发射光的颜色和亮度。当场景中使用了自发光贴图,会看起来像一个可见光,物体的表面也将呈现自放光的效果。
218.对混合雾效和自发光贴图进行明暗层次调整得到目标雾效。
219.具体的,获取世界空间坐标系上相较于混合雾效偏下的位置,并通过自发光贴图控制偏下位置的所有空间变亮,该变亮效果可以是部分区域变亮,部分区域不亮的效果。亦即,混合雾效的透明部分可以透过下层的自发光贴图变亮,而透明度低的部分无法或者一定程度上不会透过自发光贴图变亮,从而达到视觉上变亮的效果,以得到目标雾效。
220.对散射雾效和第三贴图进行混合处理得到混合雾效,并获取自发光贴图。
221.具体的,可以是利用第三贴图内存储的空间坐标关系,以雾效材质生成的点阵的形式将散射雾效表现在世界空间坐标系内得到混合雾效。
222.进一步的,还可以获取自发光贴图。
223.该自发光贴图可以控制表面发射光的颜色和亮度。当场景中使用了自发光贴图,会看起来像一个可见光,物体的表面也将呈现自放光的效果。
224.对混合雾效和自发光贴图进行明暗层次调整得到目标雾效。
225.具体的,获取世界空间坐标系上相较于混合雾效偏下的位置,并通过自发光贴图控制偏下位置的所有空间变亮,该变亮效果可以是部分区域变亮,部分区域不亮的效果。亦即,混合雾效的透明部分可以透过下层的自发光贴图变亮,而透明度低的部分无法或者一定程度上不会透过自发光贴图变亮,从而达到视觉上变亮的效果,以得到目标雾效。
226.图17示出了应用场景下目标雾效的效果示意图,如图17所示,纯黑色区域为目标雾效,而发白区域为透上来发亮的自发光贴图效果,因此,目标雾效通过自发光贴图的透射作用更加富有层次。
227.图18示出了应用场景下生成的沙尘暴效果的效果示意图,如图18所示,在生成目标雾效之后,可以按照实际需求对目标雾效的敏感度、复杂度、偏移和云雾颜色等参数进行微调,即可得到最后的沙尘表现效果。
228.图19示出了根据粒子特效发射贴图生成的沙尘效果和本公开方法生成的沙尘效果的对比图,如图19所示,通过粒子特效系统发射带扰动和移动的透明特效贴图来模拟沙暴效果,虽然消耗较低,但并不能满足一些美术表现较为精致的项目需求。具体的,由于制作材质算法本身和光源信息没有发生任何关系,因此不能看到光照射在沙尘身上产生的边缘光。其次,由于需要考虑到风沙的动态效果,发射的贴图大多是无规律随机旋转的,所以会造成体积感的缺失或者并不能表达准确的“体积感”。更为重要的是,由于是用贴图模拟沙暴效果,所以沙尘暴内是不存在沙尘内部景象的,沙尘的表达也并不细腻,没法融入地形,只能做“假”阴影。
229.但是,按照本公开方法生成的沙尘效果充分发挥了多次混合处理使用的点阵特性,使得沙尘效果更加具有体积感和层次感,实现了更加真实的沙尘暴的效果。并且,在贴图处理的过程中增加了多个新方向的调整参数,使得沙尘能够具有更加的表现可能性,且能够适用于更多游戏美术风格的项目。这也是一种在没有过多性能消耗的前提下,尽量表现更真实的沙尘效果的方式。
230.图20示出了应用场景下使用本公开的贴图处理方法的界面示意图,如图20所示,根据不同游戏美术风格的需求可以制作不同的3d贴图。举例而言,当制作云海时,由于云朵比较绵软,因此不需要3d贴图的黑白很小块;当制作沙尘时,则需要3d贴图的黑白块更加密集。
231.进一步的,可以使用制作的3d体贴替换之前ue4引擎内包含的贴图,并应用到
niagara系统上发射一个粒子。
232.其中,在最新的ue4引擎中,niagara模块已经被加入到引擎的插件中。需要使用时,只需通过菜单edit-》plugin打开plugin窗口,搜索“niagara”,并选择enabled即可。然后,在content browser中点击鼠标右键会出现新的菜单选项fx,该子菜单中包含了niagara系统的各种资源选项。其中,niagara系统中包含的各种资源,分别有niagara system为粒子系统资源,niagara emitter为发射器资源,niagara script为粒子系统逻辑脚本资源,niagara parameter collection为参数集合资源。
233.niagara system资源类似于cascade中的particle system资源。其创建方式可以通过右键菜单”fx-》niagara system”创建,将其拖入场景中时,引擎会自动创建niagara actor,并在其niagara component中引用该niagara system资源。双击niagara system资源可打开编辑器进行编辑。
234.niagara系统提供了类似于blueprint的编辑方式,从而使粒子系统的制作更加方便、更加灵活。不光对粒子发射器可以进行控制,同时让用户可以对粒子也可以进行控制,从而可以让用户自定义粒子的运动状态,进而制作出更为复杂的粒子特效。
235.图21示出了应用场景下调整参数的界面示意图,如图21所示,在niagara系统上发射一个粒子之后,可以在shader(材质)的参数表上指定需要调整的参数,并进行调整。最后,将shader应用在niagara系统发射的粒子材质上得到目标雾效。
236.其中,物体呈现时除了形体之外,还包括固有颜色和质地。质地也决定了物体是使用什么材质制成的。
237.基于此,在相关技术使用特效发射贴图来达到云雾或者沙尘的效果时,由于制作材质算法本身和光源信息没有发生任何关系,因此不能看到光照射在沙尘身上产生的边缘光。其次,由于需要考虑到风沙的动态效果,发射的贴图大多是无规律随机旋转的,所以会造成体积感的缺失或者并不能表达准确的“体积感”。更为重要的是,由于是用贴图模拟沙暴效果,所以沙尘暴内是不存在沙尘内部景象的,沙尘的表达也并不细腻,没法融入地形,只能做“假”阴影。
238.而在本公开的示例性实施例中的贴图处理方法,对第一贴图和雾效材质进行混合处理以及后续的混合处理都充分发挥了点阵的特性,使得雾效的纹理表现更加具有体积感和层次感,并且在性能消耗较低的前提下带来更加真实的雾效。而在沙尘的效果表现上,能够融入地形,使得沙尘的表现更加细腻。更进一步的,在对雾效进行纹理移动处理、光照偏移处理和明暗层次调整的时候加入了多个新方向上的参数调整,为雾效赋予了更多的表现可能性,丰富了雾效的应用场景,也能够适用于更多的游戏美术风格的项目。
239.此外,在本公开的示例性实施例中,还提供一种贴图处理装置。图22示出了贴图处理装置的结构示意图,如图22所示,贴图处理装置2900可以包括:混合处理模块2210、移动处理模块2220和雾效调整模块2230。其中:
240.混合处理模块2210,被配置为获取第一贴图和雾效材质,并对第一贴图和雾效材质进行混合处理生成絮状雾效;移动处理模块2220,被配置为对絮状雾效进行纹理移动处理得到飘动雾效,并对飘动雾效和第一贴图进行混合处理得到拉丝态雾效;雾效调整模块2230,被配置为对拉丝态雾效进行光照偏移处理得到散射雾效,并对散射雾效进行明暗层次调整得到目标雾效。
241.在本发明的一种示例性实施例中,所述获取第一贴图和雾效材质,包括:
242.获取单个面片模型,并获取所述单个面片模型的材质贴图;
243.对所述材质贴图进行合成处理得到第一贴图,并获取雾效材质。
244.在本发明的一种示例性实施例中,所述对所述第一贴图和所述雾效材质进行混合处理生成絮状雾效,包括:
245.对所述第一贴图和所述雾效材质进行混合处理得到原始雾效,并获取第二贴图;
246.对所述第二贴图和所述原始雾效进行叠加处理得到块状雾效,并获取第三贴图;
247.对所述第三贴图和所述块状雾效进行叠加处理得到絮状雾效。
248.在本发明的一种示例性实施例中,所述方法还包括:
249.对所述飘动雾效和所述第二贴图进行混合处理得到拉丝态雾效。
250.在本发明的一种示例性实施例中,所述对所述散射雾效进行明暗层次调整得到目标雾效,包括:
251.对所述散射雾效和所述第二贴图进行混合处理得到混合雾效,并获取自发光贴图;
252.对所述混合雾效和所述自发光贴图进行明暗层次调整得到目标雾效。
253.在本发明的一种示例性实施例中,所述方法还包括:
254.对所述飘动雾效和所述第三贴图进行混合处理得到拉丝态雾效。
255.在本发明的一种示例性实施例中,所述对所述散射雾效进行明暗层次调整得到目标雾效,包括:
256.对所述散射雾效和所述第三贴图进行混合处理得到混合雾效,并获取自发光贴图;
257.对所述混合雾效和所述自发光贴图进行明暗层次调整得到目标雾效。
258.在本发明的一种示例性实施例中,所述对所述拉丝态雾效进行光照偏移处理得到散射雾效,包括:
259.确定与所述拉丝态雾效对应的光照方向,并复制所述拉丝态雾效得到备份雾效;
260.根据所述光照方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调整处理得到明度雾效,以确定所述拉丝态雾效和所述明度雾效为散射雾效。
261.在本发明的一种示例性实施例中,所述根据所述光照方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调整处理得到明度雾效,包括:
262.按照所述光照方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调大处理得到明度雾效;或
263.按照所述光照方向的反方向对所述备份雾效进行偏移处理得到偏移雾效,并对所述偏移雾效进行明度调小处理得到明度雾效。
264.在本发明的一种示例性实施例中,所述对所述散射雾效进行明暗层次调整得到目标雾效,包括:
265.对所述散射雾效和所述第一贴图进行混合处理得到混合雾效,并获取自发光贴图;
266.对所述混合雾效和所述自发光贴图进行明暗层次调整得到目标雾效。
267.上述贴图处理装置2200的具体细节已经在对应的贴图处理方法中进行了详细的
描述,因此此处不再赘述。
268.应当注意,尽管在上文详细描述中提及了贴图处理装置2200的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
269.此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
270.下面参照图23来描述根据本发明的这种实施例的电子设备2300。图23显示的电子设备2300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
271.如图23所示,电子设备2300以通用计算设备的形式表现。电子设备2300的组件可以包括但不限于:上述至少一个处理单元2310、上述至少一个存储单元2320、连接不同系统组件(包括存储单元2320和处理单元2310)的总线2330、显示单元2340。
272.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元2310执行,使得所述处理单元2310执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
273.存储单元2320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)2321和/或高速缓存存储单元2322,还可以进一步包括只读存储单元(rom)2323。
274.存储单元2320还可以包括具有一组(至少一个)程序模块2325的程序/实用工具2324,这样的程序模块2325包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
275.总线2330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
276.电子设备2300也可以与一个或多个外部设备2500(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备2300交互的设备通信,和/或与使得该电子设备2300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口2350进行。并且,电子设备2300还可以通过网络适配器2360与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器2360通过总线2330与电子设备2300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备2300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
277.通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
278.在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述
程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
279.参考图24所示,描述了根据本发明的实施例的用于实现上述方法的程序产品2400,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
280.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
281.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
282.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
283.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
284.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1