CN120318393A - 纹理贴图的处理方法和装置、存储介质及电子设备 - Google Patents
纹理贴图的处理方法和装置、存储介质及电子设备Info
- Publication number
- CN120318393A CN120318393A CN202410052302.7A CN202410052302A CN120318393A CN 120318393 A CN120318393 A CN 120318393A CN 202410052302 A CN202410052302 A CN 202410052302A CN 120318393 A CN120318393 A CN 120318393A
- Authority
- CN
- China
- Prior art keywords
- target
- texture
- texture map
- terminal
- map
- 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
Landscapes
- Image Generation (AREA)
Abstract
本申请公开了一种纹理贴图的处理方法和装置、存储介质及电子设备。其中,该方法包括:在目标应用已安装在第一终端,且目标应用已启动的情况下,在第一终端上获取当前需要在目标应用中显示的第一虚拟模型,在第一虚拟模型当前需要进行高精度显示的情况下,在第一终端上查找目标纹理贴图,在未查找到目标纹理贴图的情况下,在第一终端上从目标服务器下载目标纹理贴图,并在目标纹理贴图已下载完毕的情况下,在第一终端上加载渲染目标纹理贴图。本申请解决了由于虚拟模型的纹理贴图资源占用空间较大,使得虚拟模型的渲染性能较差的技术问题。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种纹理贴图的处理方法和装置、存储介质及电子设备。
背景技术
目前,为了使得虚拟模型在观感上更加真实,往往需要在设计处理虚拟模型的过程中为虚拟模型添加纹理,相关技术中主要通过下载虚拟模型对应的纹理贴图资源以增强虚拟模型的视觉效果,由于一个虚拟场景中可能存在多个虚拟模型,并且,就单个虚拟模型而言,在不同的观察距离下,或者在不同的虚拟场景中,所需要的纹理贴图资源均不相同,需要一次性下载虚拟模型全部的纹理贴图资源,也即,每一次下载的纹理贴图资源过多,使得虚拟模型的纹理贴图资源占用空间较大,容易造成显示设备的运行卡顿,进而,导致了在显示设备上使用纹理贴图资源对虚拟模型进行渲染的过程中,出现虚拟模型显示异常的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种纹理贴图的处理方法和装置、存储介质及电子设备,以至少解决由于虚拟模型的纹理贴图资源占用空间较大,使得虚拟模型的渲染性能较差的技术问题。
根据本申请实施例的一个方面,提供了一种纹理贴图的处理方法,包括:在目标应用已安装在第一终端,且所述目标应用已启动的情况下,在所述第一终端上获取当前需要在所述目标应用中显示的第一虚拟模型;在所述第一虚拟模型当前需要进行高精度显示的情况下,在所述第一终端上查找目标纹理贴图,其中,所述目标纹理贴图用于在所述目标应用上对所述第一虚拟模型进行高精度渲染,所述目标纹理贴图预先存储于目标服务器;在未查找到所述目标纹理贴图的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上加载渲染所述目标纹理贴图。
根据本申请实施例的另一方面,还提供了一种纹理贴图的处理装置,包括:获取模块,用于在目标应用已安装在第一终端,且所述目标应用已启动的情况下,在所述第一终端上获取当前需要在所述目标应用中显示的第一虚拟模型;查找模块,用于在所述第一虚拟模型当前需要进行高精度显示的情况下,在所述第一终端上查找目标纹理贴图,其中,所述目标纹理贴图用于在所述目标应用上对所述第一虚拟模型进行高精度渲染,所述目标纹理贴图预先存储于目标服务器;下载模块,用于在未查找到所述目标纹理贴图的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上加载渲染所述目标纹理贴图。
可选地,所述装置用于通过如下方式在所述第一虚拟模型当前需要进行高精度显示的情况下,在所述第一终端上查找目标纹理贴图:在所述第一终端上获取所述第一虚拟模型的目标渲染等级,其中,所述目标渲染等级用于指示所述第一虚拟模型当前是否需要进行高精度显示,所述目标渲染等级与所述第一虚拟模型在所述目标应用的视野范围内所处的位置相关;在所述目标渲染等级指示所述第一虚拟模型需要进行高精度显示的情况下,在所述第一终端上查找所述目标纹理贴图;在所述目标渲染等级指示所述第一虚拟模型不需要进行高精度显示的情况下,在所述第一终端上查找第一纹理贴图,其中,所述第一纹理贴图预先存储于所述第一终端,所述目标纹理贴图的图像分辨率大于所述第一纹理贴图。
可选地,所述装置用于通过如下方式在未查找到所述目标纹理贴图的情况下,从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,加载渲染所述目标纹理贴图:在未查找到所述目标纹理贴图的情况下,在所述第一终端上加载渲染所述第一纹理贴图;在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上加载渲染所述目标纹理贴图。
可选地,所述装置用于通过如下方式在未查找到所述目标纹理贴图的情况下,在所述第一终端上加载渲染所述第一纹理贴图,包括以下至少之一:在未查找到所述目标纹理贴图,且所述第一终端的网络状态未满足预设网络条件的情况下,在所述第一终端上加载渲染所述第一纹理贴图;在未查找到所述目标纹理贴图,且所述目标应用处于预设场景的情况下,在所述第一终端上加载渲染所述第一纹理贴图;在未查找到所述目标纹理贴图,且所述目标纹理贴图处于下载过程中的情况下,在所述第一终端上加载渲染所述第一纹理贴图。
可选地,所述装置还用于:在所述第一终端上获取当前需要在所述目标应用中显示的第一虚拟模型之前,在所述第一终端上获取所述目标应用的安装包,使用所述安装包在所述第一终端上安装所述目标应用,其中,所述安装包包括所述第一虚拟模型对应的纹理配置文件和所述第一纹理贴图,所述纹理配置文件用于指示所述目标渲染等级和所述目标服务器的网络地址;所述在所述第一终端上从所述目标服务器下载所述目标纹理贴图,包括:在所述第一终端上根据所述网络地址生成目标任务,其中,所述目标任务表示任务队列中等待下载所述目标纹理贴图的任务,所述目标任务包括下载子任务和挂载子任务,所述下载子任务用于从所述目标服务器下载所述目标纹理贴图,并缓存至所述第一终端的目标缓存空间,所述挂载子任务用于将所述目标缓存空间的所述目标纹理贴图挂载到所述目标应用的虚拟文件系统;在所述第一终端上通过控制所述任务队列执行所述目标任务,下载所述目标纹理贴图,其中,所述目标任务是否允许被执行由所述任务队列的队列属性和所述目标应用的场景属性确定。
可选地,所述装置还用于:在所述目标纹理贴图包括第一目标纹理贴图和第二目标纹理贴图,且所述第一目标纹理贴图和所述第二目标纹理贴图具有不同图像分辨率的情况下,在所述第一终端上将所述第一目标纹理贴图对应的第一任务和所述第二目标纹理贴图对应的第二任务合并为所述目标任务;在所述目标纹理贴图已下载,且所述目标纹理贴图满足预设存储条件的情况下,在所述第一终端上删除所述目标纹理贴图。
可选地,所述装置还用于:在所述第二终端上获取第一初始纹理贴图,其中,所述第一初始纹理贴图表示预先为所述第一虚拟模型制作的最高精度贴图;在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,其中,所述第一纹理贴图集合包括所述目标纹理贴图和所述第一纹理贴图;在所述第二终端上对所述第一纹理贴图集合执行分割打包操作,得到第一纹理资源文件和第二纹理资源文件,其中,所述第一纹理资源文件用于表示与所述第一虚拟模型对应的低精度贴图集合,所述第二纹理资源文件用于表示与所述第一虚拟模型对应的高精度贴图集合;在所述第二终端上将所述第一纹理资源文件保存至所述目标应用的安装包,并将所述第二纹理资源文件发送至所述目标服务器。
可选地,所述装置用于通过如下方式在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合:在所述第二终端上根据所述第一虚拟模型的模型参数设置渲染等级集合,其中,所述渲染等级集合包括所述目标渲染等级;在所述第二终端上根据所述渲染等级集合对所述第一初始纹理贴图进行纹理采样,得到所述第一纹理贴图集合,其中,所述第一纹理贴图集合中的纹理贴图与所述渲染等级集合中的渲染等级一一对应。
可选地,所述装置用于通过如下方式在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合:在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到所述目标纹理贴图;在所述第二终端上对所述目标纹理贴图进行纹理采样,得到所述第一纹理贴图;在所述第二终端上对所述第一纹理贴图进行纹理采样,得到第二纹理贴图,其中,所述第一纹理贴图的图像分辨率大于所述第二纹理贴图的图像分辨率;在所述第二终端上将所述目标纹理贴图、所述第一纹理贴图和所述第二纹理贴图确定为所述第一纹理贴图集合。
可选地,所述装置还用于:在所述第二终端上获取第二初始纹理贴图,其中,所述第二初始纹理贴图表示预先为所述第二虚拟模型制作的最高精度贴图,第二虚拟模型与所述第一虚拟模型不同;在所述第二终端上对所述第二初始纹理贴图进行纹理采样,得到第二纹理贴图集合,其中,所述第二纹理贴图集合包括与不同图像分辨率对应的纹理贴图;在所述第二终端上对所述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件,其中,所述第三纹理资源文件用于表示与所述第二虚拟模型对应的低精度贴图集合,所述第四纹理资源文件用于表示与所述第二虚拟模型对应的高精度贴图集合;在所述第二终端上将所述第三纹理资源文件保存至所述目标应用的安装包,并将所述第四纹理资源文件发送至所述目标服务器,其中,所述第四纹理资源文件和所述第二纹理资源文件分别独立存储。
可选地,所述装置用于通过如下方式在所述第二终端上对所述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件之后,在所述第一虚拟模型和所述第二虚拟模型的模型类型相同的情况下,在所述第二终端上将所述第二纹理资源文件和所述第四纹理资源文件合并,生成第五纹理资源文件,并将所述第五纹理资源文件发送至所述目标服务器;在当前需要在所述第一终端上显示所述第一虚拟模型的情况下,在所述第一终端上从所述目标服务器下载所述第五纹理资源文件,其中,所述第五纹理资源文件包括所述目标纹理贴图。
可选地,所述装置还用于:在所述第一终端上显示资源提示面板,其中,所述资源提示面板包括第一资源下载对象、第二资源下载对象以及目标资源下载对象,所述第一资源下载对象被设置为在触发时下载高精度纹理资源,并在所述高精度纹理资源下载完成的情况下,显示所述目标应用的应用界面,所述第二资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为禁止下载所述高精度纹理资源,所述目标资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为在所述目标应用的运行过程中下载所述高精度纹理资源,所述高精度纹理资源包括所述目标纹理贴图;响应于对所述目标资源下载对象执行的触发操作,显示所述应用界面,并在所述第一终端需要高精度显示所述第一虚拟模型的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上显示使用所述目标纹理贴图渲染的所述第一虚拟模型。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述纹理贴图的处理方法。
根据本申请实施例的又一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上纹理贴图的处理方法。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的纹理贴图的处理方法。
在本申请实施例中,采用在目标应用已安装在第一终端,且目标应用已启动的情况下,在第一终端上获取当前需要在目标应用中显示的第一虚拟模型;在第一虚拟模型当前需要进行高精度显示的情况下,在第一终端上查找目标纹理贴图,其中,目标纹理贴图用于在目标应用上对第一虚拟模型进行高精度渲染,目标纹理贴图预先存储于目标服务器;在未查找到目标纹理贴图的情况下,在第一终端上从目标服务器下载目标纹理贴图,并在目标纹理贴图已下载完毕的情况下,在第一终端上加载渲染目标纹理贴图的方式,根据第一终端上的第一虚拟模型的显示需求确定在目标应用中是否需要目标纹理贴图,以对第一虚拟模型执行高精度渲染,进而,在需要目标纹理贴图的情况下获取目标纹理贴图,首先在第一终端进行本地查询,若本地的存储空间中不存在目标纹理贴图,即可以从目标服务器上下载目标纹理贴图,在下载完成之后,使用目标纹理贴图对第一虚拟模型执行高精度渲染,达到了快速获取目标纹理贴图的目的,从而,实现了即时获取目标纹理贴图,无需获取多余的纹理贴图,只需要通过目标纹理贴图对第一虚拟模型进行高精度渲染,在保证第一虚拟模型的显示精度的同时,提高了第一虚拟模型的渲染效率的技术效果,进而解决了由于虚拟模型的纹理贴图资源占用空间较大,使得虚拟模型的渲染性能较差的技术问题。
此外,在第一终端上未获取到目标纹理贴图的情况下,可以从目标服务器中下载目标纹理贴图,并且,在下载过程中,只会下载第一虚拟模型当前在目标应用上所需的目标纹理贴图,在第一终端上通过目标纹理贴图对第一虚拟模型进行渲染,不需要下载第一虚拟模型的全部纹理贴图,进一步地,节约了第一终端的本地存储空间,使得第一终端上的目标应用可以流畅运行,第一虚拟模型的视觉显示效果更具真实性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的纹理贴图的处理方法的应用环境的示意图;
图2是根据本申请实施例的一种可选的纹理贴图的处理方法的流程示意图;
图3是根据本申请实施例的一种可选的纹理贴图的处理方法的示意图;
图4是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图;
图5是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图;
图6是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图;
图7是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图;
图8是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图;
图9是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图;
图10是根据本申请实施例的一种可选的纹理贴图的处理装置的结构示意图;
图11是根据本申请实施例的一种可选的纹理贴图的处理产品的结构示意图;
图12是根据本申请实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
纹理(Texture):计算机图形学中应用于三维模型表面的二维图像,可以为模型赋予表面的颜色、纹理、细节和光照效果,使模型在渲染过程中呈现出更加真实和生动的外观,纹理通常由像素组成,每个像素包含了表面的颜色信息,像素可以根据坐标映射到三维模型的表面上,从而,为每个表面点提供相应的颜色值,通过在模型的不同部位应用不同的纹理,可以实现模拟各种材质、图案和效果,例如,木纹、石纹、金属质感、皮肤等,纹理在计算机图形学中扮演着重要的角色,可以增强模型的视觉效果,使其更加逼真和细致,通过合理的纹理设计和应用,可以实现各种视觉效果,如光照、阴影、反射、折射等,以提升游戏、动画和虚拟现实等领域的视觉质量和真实感。
Level of Detail(LOD):细节层次技术,一种在计算机图形学中常用的技术,用于根据观察距离和场景需求,动态地调整模型的细节程度,LOD技术旨在提高渲染效率和性能,同时保持场景的视觉质量,在3D场景中,模型的细节通常是通过多边形数量来表示的,高细节模型具有更多的多边形,可以呈现出更精细的外观,但也需要更多的计算资源来渲染。而低细节模型则具有较少的多边形,外观相对简化,但渲染效率更高。结合到纹理,程序可以根据观察者的距离和场景需求,动态的调整纹理的分辨率,提高渲染效率和性能。
MipMap(多级贴图):是一种用于优化纹理渲染的技术,通过预先生成一系列不同分辨率的纹理图像来适应不同的观察距离和场景需求。在MipMap中,原始纹理图像被缩小为一系列分辨率较低的图像,这些图像被存储在一个纹理金字塔结构中。每个级别的纹理都是前一个级别的一半大小,直到达到最小分辨率,Mip0是最高分辨率,然后是Mip1、Mip2……分辨率依次递减,当渲染引擎需要根据观察距离选择合适的纹理时,它可以直接从纹理金字塔中选择最接近所需分辨率的级别。使用MipMap技术可以减少纹理显现的锯齿状边缘(锯齿效应)和纹理失真,以提高渲染的视觉质量,其次,Mip可以提高渲染效率,因为渲染引擎可以根据观察距离直接选择合适的纹理级别,而无需在运行时进行纹理缩放,此外,MipMap还可以减少纹理采样时的纹理过滤和插值计算,从而提高渲染性能,MipMap技术在游戏开发、虚拟现实和计算机图形学中得到广泛应用。它可以改善纹理渲染的视觉效果和性能,使得远处的纹理细节更加平滑,同时减少了渲染引擎的计算负载。通过使用MipMap,可以提供更好的视觉体验,并提高游戏或应用程序的性能。
纹理流送(Texture Streaming):是一种用于优化纹理加载和渲染的技术。它旨在减少纹理内存占用和加载时间,同时提高渲染性能和视觉质量。在游戏或应用程序中,纹理通常是占用大量内存的资源。当同时加载和渲染大量高分辨率纹理时,会导致内存压力和加载延迟,影响性能和视觉体验。纹理流送技术通过动态加载和释放高精度资源,以及根据需要进行渐进式加载,以解决上述问题。纹理流送的基本原理是根据相机视野和距离,只加载和保留当前可见区域附近的纹理,当相机移动时,纹理流送系统会根据相机的位置和视野范围,预加载附近的纹理,并在需要时释放远离视野的纹理。这样可以减少内存占用,并确保只有当前需要的纹理被加载和渲染。纹理流送技术还可以使用多级细节(MipMap)来进一步优化纹理加载。通过根据观察距离选择合适的MipMap级别,可以减少纹理的分辨率和内存占用,同时保持视觉质量,在不牺牲细节的情况下提高渲染性能。
CDN(Content Delivery Network):内容分发网络,是一种分布式网络架构,用于提供高效的内容传输和分发服务,CDN通过将内容存储在位于全球各地的服务器节点上,使得对象可以从最接近的节点获取内容,从而提高内容的传输速度和可用性。
游戏安装包:包含游戏程序和相关资源的文件集合,用于安装和运行游戏,通常是一个压缩文件,其中包含了游戏的可执行文件、音频、图像、视频、配置文件等必要的组件和资源。游戏安装包的主要目的是将游戏的所有必需文件打包在一起,以便玩家可以方便地下载、安装和运行游戏。安装包通常由游戏开发者或发行商创建,通过官方网站、游戏平台或其他渠道供玩家下载和安装。游戏安装包的内容和结构可能因游戏类型和平台而存在差异。对于大型游戏而言,安装包可能非常庞大,需要较长的下载和安装时间。
下面结合实施例对本申请进行说明:
根据本申请实施例的一个方面,提供了一种纹理贴图的处理方法,可选地,在本实施例中,上述纹理贴图的处理方法可以应用于如图1所示的由服务器101和终端设备103所构成的硬件环境中。如图1所示,服务器101通过网络与终端设备103进行连接,可用于为终端设备或终端设备上安装的应用程序107提供服务,应用程序可以是视频应用程序、即时通信应用程序、浏览器应用程序、教育应用程序、游戏应用程序等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,游戏数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络,终端设备103可以是配置有应用程序的终端,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视、智能语音交互设备、智能家电、车载终端、飞行器、虚拟现实(VirtualReality,简称VR)终端、增强现实(Augmented Reality,简称AR)终端、混合现实(MixedReality,简称MR)终端等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。
结合图1所示,上述纹理贴图的处理方法可以由电子设备执行,该电子设备可以是终端设备或服务器,上述纹理贴图的处理方法可以由终端设备或服务器分别实现,或由终端设备和服务器共同实现。
上述仅是一种示例,本实施例不做具体的限定。
可选地,作为一种可选的实施方式,如图2所示,上述纹理贴图的处理方法包括:
S202,在目标应用已安装在第一终端,且目标应用已启动的情况下,在第一终端上获取当前需要在目标应用中显示的第一虚拟模型;
可选地,上述目标应用可以包括但不限于游戏应用,社交媒体应用,生产工具应用,教育应用,音乐和视频应用等,上述第一终端可以包括但不限于电脑,个人笔记本,智能手机,智能穿戴设备等,上述第一虚拟模型可以理解为,对实体实物的抽象和模拟,在目标应用中,第一虚拟模型可以用来描述和模拟真实场景中的实体、关系等,在目标应用中可以对第一虚拟模型进行操作和处理,例如,人、物品、地点、事件等,以及它们之间的关联和交互。
以目标应用为游戏应用为例,将个人笔记本作为第一终端,玩家进入游戏应用之后,上述第一虚拟模型可以包括但不限于游戏角色,游戏NPC(非玩家角色,Non-PlayerCharacter)等,该玩家通过游戏角色的视角,可以获取当前游戏场景中的内容,包括但不限游戏NPC,其他游戏角色等,假设玩家通过操作该游戏角色在游戏场景中移动,与游戏NPC,由其他玩家操作的游戏角色发生交互,例如,执行游戏任务等,可以将游戏NPC,由其他玩家操作的游戏角色确定为上述第一虚拟模型。
需要说明的是,上述第一虚拟模型可以包含多个,同样地,以游戏应用为例,可以在游戏场景中将游戏角色A,游戏角色B同时确定为上述第一虚拟模型。
S204,在第一虚拟模型当前需要进行高精度显示的情况下,在第一终端上查找目标纹理贴图,其中,目标纹理贴图用于在目标应用上对第一虚拟模型进行高精度渲染,目标纹理贴图预先存储于目标服务器;
示例性地,将上述第一虚拟模型进行高精度显示,可以理解为,高精度显示的第一虚拟模型较之未进行高精度显示的第一虚拟模型而言,拥有更多的模型细节和模型特征,为了实现第一虚拟模型的高精度显示,可以通过为第一虚拟模型设置如下内容,包括但不限于模型颜色、模型纹理、模型细节和模型光照效果等,也即,使用上述目标纹理贴图为第一虚拟模型进行高精度渲染。
需要说明的是,上述目标纹理贴图可以包括但不限于由像素组成,目标纹理贴图中的每个像素均包含了模型表面的颜色信息,将目标纹理贴图中的像素根据坐标映射到上述第一虚拟模型的表面,使用目标纹理贴图来模拟第一虚拟模型的表面,可以包括但不限于在第一虚拟模型的不同部位应用不同的目标纹理贴图,以实现模拟模型材质、模型图案和模型效果等,例如木纹、石纹、金属质感、皮肤等,达到增强第一虚拟模型的视觉效果的目的,此处的视觉效果可以包括但不限于光照、阴影、反射、折射等。
可选地,在本申请实施例中,上述目标纹理贴图可以包括但不限于通过如下方式生成,使用MipMap技术生成具有不同分辨率的纹理贴图,也即,目标纹理贴图可以包括但不限于多个纹理贴图,不同的纹理贴图的分辨率可以相同,在不同的观察距离,场景需求下可以使用不同分辨率的纹理贴图作为目标纹理贴图,以游戏应用为例,在获取到该游戏中的第一虚拟模型之后,可以根据观察距离和游戏场景需求,对第一虚拟模型的细节程度进行动态调整,此处的观察距离可以理解为,观察者与虚拟场景或虚拟模型之间的距离,例如,在游戏应用中,玩家所操作的游戏角色与游戏场景中的另一个游戏角色之间的距离。
例如,存在一张原始纹理贴图,可以通过如下方式生成与该原始纹理贴图对应的具有不同分辨率的纹理贴图,包括但不限于最近邻插值、双线性插值或三线性插值等,以一张分辨率为100*100的原始纹理贴图举例,使用MipMap技术生成具有不同分辨率的纹理贴图,直到生成最小分辨率的纹理贴图,一个具有不同分辨率的纹理贴图对应于一个高精度Mip资源文件,该纹理贴图与原始纹理贴图显示的图像内容相同,图像分辨率不同,将其中一张纹理贴图确定为上述目标纹理贴图,例如:
S1,将分辨率为100*100的原始纹理贴图缩放一倍,得到一张分辨率为的纹理贴图;
S2,将S1原始纹理贴图缩小一倍,得到一张分辨率为50*50的纹理贴图;
S3,将S2原始纹理贴图缩小一倍,得到一张分辨率为25*25的纹理贴图;
具体而言,依次将上一次通过缩放得到的纹理贴图再进行缩放,以得到当前的纹理贴图,重复操作,直到得到最小分辨率的一张纹理贴图,此处的最小分辨率可以灵活设置,假设得到了10张纹理贴图,将这10张图像以及原始纹理贴图共同存储在纹理金字塔中,图3是根据本申请实施例的一种可选的纹理贴图的处理方法的示意图,如图3所示,纹理金字塔的每一级对应于一个纹理贴图,例如,分辨率为128*128的纹理贴图302、分辨率为64*64的纹理贴图304、分辨率为32*32的纹理贴图306、分辨率为16*16的纹理贴图308。也即,处于纹理金字塔的不同级的纹理贴图的分辨率均不相同,纹理金字塔中的原始纹理贴图的分辨率最大,进一步地,可以在不同的虚拟场景中,或者,在不同的观察距离下,从纹理金字塔中选择其中一级的纹理贴图作为目标纹理贴图,或者,将直接下载整个纹理金字塔中全部的纹理贴图作为目标纹理贴图,在下一次需要获取该纹理金字塔中的纹理贴图时将根据指定的图像分辨率选择第一设备存储空间中的一张纹理贴图对第一虚拟模型进行高精度渲染。
示例性地,一个游戏场景中可以包括但不限于多个虚拟模型,这多个虚拟模型均可以被确定为上述第一虚拟模型,可以同时获取每个虚拟模型对应的目标纹理贴图,完成虚拟模型的高精度渲染,以游戏应用为例,玩家通过设备进入游戏应用,来到游戏应用中的一个游戏场景中,操作游戏角色A到达位置A,此时,虚拟模型B也处于该游戏场景中,虚拟模型B将被确定为上述第一虚拟模型,通过游戏角色A的游戏视角是可以看到虚拟模型B的,在这个游戏场景中,玩家可以控制游戏角色A进行各种动作和交互,与虚拟模型B进行互动,需要说明的是,虚拟模型B可以是游戏NPC,或者是另一个由游戏玩家进行操作的虚拟模型。
具体而言,图4是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图,如图4所示,在游戏场景中,包括游戏角色402与虚拟模型404,在不同的观察距离下,游戏角色402与虚拟模型404的纹理细节均有所不同,如图4所示的在第一观察距离406观察到的游戏角色402与虚拟模型404的纹理细节显示不如在第二观察距离408观察到的游戏角色402与虚拟模型404的纹理细节,也即,第二观察距离下观察到的游戏角色402与虚拟模型404是使用高精度的纹理贴图进行渲染的,第一观察距离下观察到的游戏角色402与虚拟模型404是使用较低精度的纹理贴图进行渲染的。
再例如,游戏角色402处于位置A1,此时,游戏角色402距离虚拟模型404的距离为距离A1,当前的虚拟模型404所需要的目标纹理贴图为目标纹理贴图B1,可以通过查询运行该游戏应用的第一设备的本地存储空间,以得到本地已存的目标纹理贴图B1,在本地存储空间中获取到目标纹理贴图B1的情况下,对于游戏角色402的当前视角而言,是通过目标纹理贴图B1对虚拟模型404进行渲染之后的虚拟模型404,此时,再次将游戏角色402移动至位置A2,位置A2区别于位置A1,此时,游戏角色402距离虚拟模型404的距离为距离A2,当前的虚拟模型404所需要的目标纹理贴图为目标纹理贴图B2,同理,可以通过第一设备的本地存储空间,以得到本地已存的目标纹理贴图B2,在本地存储空间中获取到目标纹理贴图B2的情况下,假设距离A1与距离A2不相同,那么,相应的目标纹理贴图B1与目标纹理贴图B2也不相同,可以包括但不限于,使用目标纹理贴图B1渲染出的虚拟模型404的视觉显示效果比使用目标纹理贴图B2渲染出的虚拟模型404的视觉显示效果更清楚,或者,使用目标纹理贴图B2渲染出的虚拟模型404的视觉显示效果比使用目标纹理贴图B1渲染出的虚拟模型404的视觉显示效果更清楚。
S206,在未查找到目标纹理贴图的情况下,在第一终端上从目标服务器下载目标纹理贴图,并在目标纹理贴图已下载完毕的情况下,在第一终端上加载渲染目标纹理贴图。
示例性地,若在第一终端的本地存储空间未获取到目标纹理贴图,可以从上述目标服务器上获取和使用上述目标纹理贴图,目标服务器可以包括但不限于云服务器,分布式服务器等。
例如,将目标纹理贴图存储在目标服务器中,可以对目标纹理贴图执行分组处理与打包处理,在目标服务器中可以包括但不限于存储多个纹理贴图,目标服务器将打包之后的目标纹理贴图通过网络下发至第一终端,对第一虚拟模型进行高精度渲染。
具体而言,图5是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图,如图5所示,假设存在两个不同的原始纹理贴图502、原始纹理贴图504、可以包括但不限于使用MipMap技术根据原始纹理贴图502生成多张具有不同分辨率的纹理贴图A,同样的,对原始纹理贴图504进行操作,得到多张具有不同分辨率的纹理贴图B,此时,可以对这多张纹理贴图A、纹理贴图B进行分割处理,可以通过如下步骤实现:
S1,将多张具有不同分辨率的纹理贴图A作为分割纹理贴图A组506;
S2,将多张具有不同分辨率的纹理贴图B作为分割纹理贴图B组508;
S3,将多张具有不同分辨率的纹理贴图A、多张具有不同分辨率的纹理贴图B、作为分割纹理贴图C组510,可以灵活设置纹理贴图的分割逻辑,本申请不做任何限定。
进一步地,此处以S1至S3中得到的分割纹理贴图A组506、分割纹理贴图B组508、分割纹理贴图C组510举例,对分割纹理贴图A组506、分割纹理贴图B组508、分割纹理贴图C组510继续执行打包操作,对每一组均进行打包,分别生成纹理贴图文件,并且,还可以将分割纹理贴图A组506、分割纹理贴图B组508、分割纹理贴图C组510打包在一个纹理贴图文件中,也即,最终得到分割纹理贴图A组512,分割纹理贴图B组514,分割纹理贴图AB组516。
需要说明的是,分割纹理贴图A组512,分割纹理贴图B组514,分割纹理贴图AB组516可以包括但不限于存储在区别于基础资源518的文件目录下,以游戏应用的安装包为例,图6是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图,如图6所示,假设目标应用安装包的基础资源存放路径为A,那么,分割纹理贴图A组512,分割纹理贴图B组514,分割纹理贴图AB组516可以不存放在A路径下,而是存放在B路径602下,其中,以目标应用安装包为游戏为例,基础资源可以包括但不限于.图像文件,例如游戏角色、游戏场景、游戏道具等;音频文件,例如背景音乐、音效等,视频文件;例如开场动画、CG动画等;文本文件,例如游戏剧情、对话等;数据库文件,字体文件,脚本文件等,目标应用安装包的基础资源还可以包括与多个高精度纹理贴图相对应的多个低精度纹理贴图,在网络状况不好,或者其他原因导致无法获取高精度纹理贴图的情况下,将默认使用目标应用安装包的基础资源中的低精度纹理贴图对虚拟模型执行渲染操作,并且,可以为每一个纹理贴图设置一个摘要信息,例如,将存储在目标应用安装包的基础资源中的纹理贴图的摘要信息设置为A,将没有存储在目标应用安装包的基础资源中的纹理贴图的摘要信息设置为B。
其中,假设目标纹理贴图为分辨率为10*10的分割纹理贴图A,若在第一设备的本地存储空间未获取到该目标纹理贴图,此时,可以通过如下步骤从目标服务器中下载目标纹理贴图,包括但不限于:
S1,第一终端向目标服务器发起目标纹理贴图的获取请求,该请求包括指定分割纹理贴图A为目标纹理贴图,目标纹理贴图的摘要信息为A;
S2,基于目标纹理贴图的摘要信息确定从B路径下获取目标纹理贴图;
S3,从B路径下的分割纹理贴图A组510中获取目标纹理贴图;
S4,目标服务器将目标纹理贴图通过网络下发给第一终端。
在一个示例性的实施例中,本申请提出的纹理贴图的处理方法可以应用于游戏中对游戏虚拟模型进行渲染的应用场景中,使得游戏中的角色、道具、场景等看起来更加真实,从而,提升游戏的视觉效果和沉浸感。
需要说明的是,玩家可以通过如下方式实现对游戏显示界面的触控操作,图7是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图,如图7所示,选择其中一种目标纹理贴图的下载方式,包括但不限于通过鼠标、键盘、触控笔等输入设备执行的触控操作,在玩家选择不在本次登录游戏时下载目标纹理贴图,此时,玩家可以直接进入游戏,在游戏设置界面,或者其他游戏界面为玩家提供一个目标纹理贴图的下载方式选择的交互操作,例如,设置一个按钮,在玩家点击了该按钮之后,再次弹出上述选择目标纹理贴图的下载方式的弹窗或者跳转到选择目标纹理贴图的下载方式的界面,此时,玩家可以再次进行选择。
另一方面,图8是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图,如图8所示,假设玩家选择了下载目标纹理贴图之后再进行游戏,或者,直接进入游戏,在游戏过程中使用wifi、移动网络,例如5G,加载目标纹理贴图的下载方式时,可以通过如下步骤实现,包括但不限于:
S802,玩家下载基础安装包进行安装之后,进入游戏;
S804,判断游戏是否存在DLC(Downloadable Content,补丁包),即可以通过下载方式获取的额外游戏内容,DLC通常是在游戏发布后推出的,为玩家提供更多的游戏体验和内容,可以包括但不限于新的关卡、任务、角色、道具、装备、故事情节、音乐等;
S806,游戏存在DLC,下载并安装DLC;
S808,根据摘要信息确定出指定的目标纹理贴图;
其中,若经过查询第一设备的内部存储空间,判断是否已下载了目标纹理贴图,第一设备的内部存储空间存在目标纹理贴图,将使用目标纹理贴图直接进行游戏中的虚拟模型的高精度渲染,第一设备的内部存储空间不存在目标纹理贴图,第一设备向目标服务器发送获取目标纹理贴图的请求,目标服务器对接收到的获取目标纹理贴图的请求进行解析,得到目标纹理贴图的摘要信息,摘要信息显示为A;
S810-1,下载全部的纹理贴图,也即option chunk包,一个option chunk包中包括了具有不同分辨率的多张纹理贴图;
S810-2,不下载整个目标纹理贴图,只下载指定的目标纹理贴图,也即TextureNet Streaming;
其中,图9是根据本申请实施例的又一种可选的纹理贴图的处理方法的示意图,如图9所示,在下载指定的目标纹理贴图时,可以通过预先配置好的网络地址902进行下载。
S812,下载安装结束,进行游戏。
具体而言,在游戏中使用本申请所提出的纹理贴图的处理方法进行虚拟模型的渲染显示,可以在快速获取虚拟模型的目标纹理贴图,进而根据目标纹理贴图为虚拟模型增加纹理等细节信息,使得游戏中的虚拟模型更加生动真实,由玩家根据个人需求选择目标纹理贴图的下载方式,并且,考虑到不同玩家使用的设备性能存在差异,本申请提出的纹理贴图的处理方法可以做到为各个玩家量身定制目标纹理贴图下载方案,实现目标纹理贴图下载的差异化与定制化,最大程度的满足不同玩家的需求,为玩家带来更优的游戏体验,进一步地,增强玩家与游戏之间的黏性,实现游戏的最大化收益。
在又一个示例性的实施例中,本申请提出的纹理贴图的处理方法还可以应用于工业产品设计的应用场景中,使用纹理贴图对工业产品进行高精度渲染。
需要说明的是,在设计工业产品的过程中,可以在设计软件中选择以下一种目标纹理贴图的下载方式,包括但不限于通过鼠标、键盘、触控笔等输入设备执行的触控操作,在选择不在登录设计软件时下载目标纹理贴图,此时,可以直接进入设计软件,在设计软件的设置界面,或者设计软件的其他界面提供一个目标纹理贴图的下载方式选择的交互操作,例如,设置一个按钮,在点击了该按钮之后,再次弹出上述选择目标纹理贴图的下载方式的弹窗或者跳转到选择目标纹理贴图的下载方式的界面,此时可以再次进行选择。
另一方面,如图所示,假设选择了下载目标纹理贴图之后再进行游戏,或者,直接进入设计软件,在设计过程中使用wifi、移动网络,例如5G,加载目标纹理贴图的下载方式时,可以通过如下步骤实现,包括但不限于:
S1,选择下载目标纹理贴图;
S2,查询第一设备的内部存储空间,判断是否已下载了目标纹理贴图;
S3,第一设备的内部存储空间存在目标纹理贴图,将使用目标纹理贴图直接进行该工业产品虚拟模型的高精度渲染;
S4,第一设备的内部存储空间不存在目标纹理贴图,第一设备向目标服务器发送获取目标纹理贴图的请求;
S5,目标服务器对接收到的获取目标纹理贴图的请求进行解析,得到目标纹理贴图的摘要信息,摘要信息显示为A;
S6,目标服务器由摘要信息为A得知目标纹理贴图存储在B路径下,从B路径中获取该目标纹理贴图的打包文件;
S7,目标服务器将S6中目标纹理贴图的打包文件下发给第一设备;
S8,第一设备接收目标纹理贴图的打包文件,得到目标纹理贴图,使用目标纹理贴图对工业产品虚拟模型进行高精度渲染。
具体而言,在工业设计中使用本申请所提出的纹理贴图的处理方法进行工业产品虚拟模型的渲染显示,可以在快速获取虚拟模型的目标纹理贴图,进而根据目标纹理贴图为虚拟模型增加纹理等细节信息,使得工业产品的虚拟模型更加生动真实,由设计者根据个人需求选择目标纹理贴图的下载方式,并且,考虑到不同设计者使用的设备性能存在差异,本申请提出的纹理贴图的处理方法可以做到为各个设计者量身定制目标纹理贴图下载方案,实现目标纹理贴图下载的差异化与定制化,最大程度的满足不同设计者的需求,进一步地,达到了更好的实现设计者的设计理念,设计出最符合设计者需求的产品的目的。
通过本申请实施例,采用在目标应用已安装在第一终端,且目标应用已启动的情况下,在第一终端上获取当前需要在目标应用中显示的第一虚拟模型;在第一虚拟模型当前需要进行高精度显示的情况下,在第一终端上查找目标纹理贴图,其中,目标纹理贴图用于在目标应用上对第一虚拟模型进行高精度渲染,目标纹理贴图预先存储于目标服务器;在未查找到目标纹理贴图的情况下,在第一终端上从目标服务器下载目标纹理贴图,并在目标纹理贴图已下载完毕的情况下,在第一终端上加载渲染目标纹理贴图的方式,根据第一终端上的第一虚拟模型的显示需求确定在目标应用中是否需要目标纹理贴图,以对第一虚拟模型执行高精度渲染,进而,在需要目标纹理贴图的情况下获取目标纹理贴图,首先在第一终端进行本地查询,若本地的存储空间中不存在目标纹理贴图,即可以从目标服务器上下载目标纹理贴图,在下载完成之后,使用目标纹理贴图对第一虚拟模型执行高精度渲染,达到了快速获取目标纹理贴图的目的,从而,实现了即时获取目标纹理贴图,无需获取多余的纹理贴图,只需要通过目标纹理贴图对第一虚拟模型进行高精度渲染,在保证第一虚拟模型的显示精度的同时,提高了第一虚拟模型的渲染效率的技术效果,进而解决了由于虚拟模型的纹理贴图资源占用空间较大,使得虚拟模型的渲染性能较差,导致虚拟模型显示异常的技术问题。
此外,在第一终端上未获取到目标纹理贴图的情况下,可以从目标服务器中下载目标纹理贴图,并且,在下载过程中,只会下载第一虚拟模型当前在目标应用上所需的目标纹理贴图,在第一终端上通过目标纹理贴图对第一虚拟模型进行渲染,不需要下载第一虚拟模型的全部纹理贴图,进一步地,节约了第一终端的本地存储空间,使得第一终端上的目标应用可以流畅运行,第一虚拟模型的视觉显示效果更具真实性。
作为一种可选的方案,上述在上述第一虚拟模型当前需要进行高精度显示的情况下,在上述第一终端上查找目标纹理贴图,包括:在上述第一终端上获取上述第一虚拟模型的目标渲染等级,其中,上述目标渲染等级用于指示上述第一虚拟模型当前是否需要进行高精度显示,上述目标渲染等级与上述第一虚拟模型在上述目标应用的视野范围内所处的位置相关;在上述目标渲染等级指示上述第一虚拟模型需要进行高精度显示的情况下,在上述第一终端上查找上述目标纹理贴图;在上述目标渲染等级指示上述第一虚拟模型不需要进行高精度显示的情况下,在上述第一终端上查找第一纹理贴图,其中,上述第一纹理贴图预先存储于上述第一终端,上述目标纹理贴图的图像分辨率大于上述第一纹理贴图。
可选地,在本申请实施例中,上述目标渲染等级可以通过如下方式确定,包括但不限于MipMap技术,不同的渲染等级对应于不同的纹理贴图,也即,具有不同分辨率的纹理贴图可以包括但不限于为不同渲染等级下的纹理贴图。
示例性地,上述第一虚拟模型在当前视野范围里内可以使用目标纹理贴图进行渲染,此时,该目标纹理贴图对应于上述目标渲染等级,在目标渲染等级较高时,即可以表示第一模型的观察距离较近,需要更加细致的模型细节,此时可以选择高精度的纹理贴图作为上述目标纹理贴图。
反之,若在目标渲染等级较低时,即可以表示第一模型的观察距离较远,模型的显示精度可以较低,此时可以选择较低精度的纹理贴图作为上述第一纹理贴图,也即第一纹理贴图对应的渲染等级低于目标纹理贴图对应的渲染等级,第一纹理贴图的图像分辨率小于目标纹理贴图的图像分辨率,第一纹理贴图可以包括但不限于是在第一设备上首次下载的目标应用的安装包中的基础资源。
作为一种可选的方案,上述在未查找到上述目标纹理贴图的情况下,从上述目标服务器下载上述目标纹理贴图,并在上述目标纹理贴图已下载完毕的情况下,加载渲染上述目标纹理贴图,包括:在未查找到上述目标纹理贴图的情况下,在上述第一终端上加载渲染上述第一纹理贴图;在上述第一终端上从上述目标服务器下载上述目标纹理贴图,并在上述目标纹理贴图已下载完毕的情况下,在上述第一终端上加载渲染上述目标纹理贴图。
示例性地,上述目标纹理贴图可以包括但不限于通过两种方式获取:
S1,在第一设备的本地存储空间进行查询,若第一设备已经将目标纹理贴图进行了下载缓存,此时可以直接使用本地存储的目标纹理贴图对第一虚拟模型进行高精度渲染;
S2,第一设备向目标服务器发出获取目标纹理贴图的请求,请求获取目标纹理贴图,目标服务器将目标纹理贴图的打包文件下发给第一设备,第一设备使用该目标纹理贴图对第一虚拟模型进行高精度渲染。
此外,在S1中,若在第一设备的本地未查询到上述目标纹理贴图,可以直接使用首次下载的目标应用的安装包中基础资源里的第一纹理贴图对第一虚拟模型进行渲染。
作为一种可选的方案,上述在未查找到上述目标纹理贴图的情况下,在上述第一终端上加载渲染上述第一纹理贴图,包括以下至少之一:在未查找到上述目标纹理贴图,且上述第一终端的网络状态未满足预设网络条件的情况下,在上述第一终端上加载渲染上述第一纹理贴图;在未查找到上述目标纹理贴图,且上述目标应用处于预设场景的情况下,在上述第一终端上加载渲染上述第一纹理贴图;在未查找到上述目标纹理贴图,且上述目标纹理贴图处于下载过程中的情况下,在上述第一终端上加载渲染上述第一纹理贴图。
以目标应用为一个游戏应用为例,假设玩家进入游戏选择下载目标纹理贴图,此时由于玩家的网络波动,网络延迟等问题导致玩家在下载目标纹理贴图的速率过慢,此时可以自动停止该目标纹理贴图的下载,等待网络恢复后自动下载,直接使用首次下载的目标应用的安装包中基础资源里的第一纹理贴图对第一虚拟模型进行渲染,上述预设网络条件可以包括但不限于网络延迟不小于网络最小延迟值,网络波动不大于网络最大波动值等,其中,网络最小延迟值,网络最大波动值均可以灵活设置,本申请不作任何限定,再例如,上述预设场景为游戏中的指定场景,在该场景下的部分游戏玩法将直接使用首次下载的目标应用的安装包中基础资源里的第一纹理贴图对第一虚拟模型进行渲染,预设场景同样可以灵活设置,本申请不作任何限定。
需要说明的是,还可以人为设置使用第一纹理贴图对第一虚拟模型进行渲染,也即,目标应用可以提供一个选项,使用者可以包括但不限于选中该选项,表示不需要下载较高精度的目标纹理贴图,直接使用首次下载的目标应用的安装包中基础资源里的第一纹理贴图对第一虚拟模型进行渲染。
作为一种可选的方案,上述方法还包括:在上述第一终端上获取当前需要在上述目标应用中显示的第一虚拟模型之前,在上述第一终端上获取上述目标应用的安装包,使用上述安装包在上述第一终端上安装上述目标应用,其中,上述安装包包括上述第一虚拟模型对应的纹理配置文件和上述第一纹理贴图,上述纹理配置文件用于指示上述目标渲染等级和上述目标服务器的网络地址;上述在上述第一终端上从上述目标服务器下载上述目标纹理贴图,包括:在上述第一终端上根据上述网络地址生成目标任务,其中,上述目标任务表示任务队列中等待下载上述目标纹理贴图的任务,上述目标任务包括下载子任务和挂载子任务,上述下载子任务用于从上述目标服务器下载上述目标纹理贴图,并缓存至上述第一终端的目标缓存空间,上述挂载子任务用于将上述目标缓存空间的上述目标纹理贴图挂载到上述目标应用的虚拟文件系统;在上述第一终端上通过控制上述任务队列执行上述目标任务,下载上述目标纹理贴图,其中,上述目标任务是否允许被执行由上述任务队列的队列属性和上述目标应用的场景属性确定。
可选地,在本申请实施例中,上述纹理配置文件可以理解为,对第一虚拟模型进行渲染时的配置项信息,例如,目标纹理贴图的渲染等级,图像分辨率,存储了目标纹理贴图的目标服务器的网络地址等,上述目标任务可以包括但不限于下载目标纹理贴图,任务队列可以控制任务的优先级,在上述任务队列中存在多个任务,用于响应由目标应用发出的请求,上述下载子任务可以理解为,从目标服务器拉取目标纹理贴图的打包文件,上述挂载子任务可以理解为,将目标纹理贴图的打包文件挂载到目标应用引擎的虚拟文件系统中,上述目标缓存空间表示的是第一设备在获取到目标纹理贴图之后,该目标纹理贴图在第一设备的内部存储位置,其中,挂载表示将一个文件系统连接到设备的一个特定位置,使得该文件系统中的文件可以在该位置访问,文件挂载的过程是将一个文件系统的根目录挂载到一个特定的目录上,使得该目录成为文件系统的入口点。
示例性地,在生成目标任务之后,假设任务队列的队列属性表示该目标任务不会被执行,例如,该目标任务的任务优先级较低、通过限制同时并发的目标任务,或者,目标应用的场景属性表示该目标任务不会被执行,以单人游戏应用为例,在游戏大厅的场景中,或者新手游戏教学的场景中,对网络要求不高的情况下,可以尽力下载目标纹理贴图,也即,不一定保证该目标任务可以按时执行完成,此时,第一终端将无法获取到由上述目标服务器发出的目标纹理贴图,再例如,以多人游戏应用为例,可以开启延迟下载的功能,将目标任务进行缓存,直到多人游戏结束后,自动执行目标任务,下载目标纹理贴图。
作为一种可选的方案,上述方法还包括:在上述目标纹理贴图包括第一目标纹理贴图和第二目标纹理贴图,且上述第一目标纹理贴图和上述第二目标纹理贴图具有不同图像分辨率的情况下,在上述第一终端上将上述第一目标纹理贴图对应的第一任务和上述第二目标纹理贴图对应的第二任务合并为上述目标任务;在上述目标纹理贴图已下载,且上述目标纹理贴图满足预设存储条件的情况下,在上述第一终端上删除上述目标纹理贴图。
进一步地,一个目标任务可以包括获取多张纹理贴图,这多张纹理贴图均为上述目标纹理贴图,目标纹理贴图包括上述第一目标纹理贴图和第二目标纹理贴图,例如,第一目标任务为获取图像分辨率为10*10的纹理贴图A,第二目标任务为图像分辨率为40*40的纹理贴图A,也即,第一目标纹理贴图为图像分辨率为10*10的纹理贴图A,第二目标纹理贴图为图像分辨率为40*40的纹理贴图A,此时,可以将第一目标任务与第二目标任务进行合并,只执行一个目标任务来获取第一目标纹理贴图和第二目标纹理贴图,也即,同时获取具有不同图像分辨率的纹理贴图A,或者,一次性下载全部图像分辨率的纹理贴图A。
此外,可以对上述虚拟文件系统中的文件进行管理,例如,通过查询文件的使用时间确定该文件的使用频率与重要程度,将长时间未使用的文件进行删除,以释放第一设备的内部存储空间,保障目标应用运行的流畅度,上述预设存储条件可以包括但不限于超过最大存储空间等,也即,第一设备无法在本地存储新的纹理贴图,目标纹理贴图已经长时间未使用,此时将自动删除该目标纹理贴图。
作为一种可选的方案,上述方法还包括:在上述第二终端上获取第一初始纹理贴图,其中,上述第一初始纹理贴图表示预先为上述第一虚拟模型制作的最高精度贴图;在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,其中,上述第一纹理贴图集合包括上述目标纹理贴图和上述第一纹理贴图;在上述第二终端上对上述第一纹理贴图集合执行分割打包操作,得到第一纹理资源文件和第二纹理资源文件,其中,上述第一纹理资源文件用于表示与上述第一虚拟模型对应的低精度贴图集合,上述第二纹理资源文件用于表示与上述第一虚拟模型对应的高精度贴图集合;在上述第二终端上将上述第一纹理资源文件保存至上述目标应用的安装包,并将上述第二纹理资源文件发送至上述目标服务器。
可选地,在本申请实施例中,上述第二终端可以包括但不限于电脑,个人笔记本,智能穿戴设备等,第一初始纹理贴图可以理解为,最先制作的一个纹理贴图,可以使用如下方式对第一初始纹理贴图执行纹理采样,包括但不限于使用MipMap技术等,生成的第一纹理贴图集合中的纹理贴图均具有不同的图像分辨率,并且,在第一纹理贴图集合中,上述第一初始纹理贴图的图像分辨率最大,为最高精度贴图,第一纹理贴图同样处于第一纹理贴图集合中,第一纹理贴图的图像精度低于第一初始纹理贴图的图像精度。
进一步地,将第一纹理贴图集合中的纹理贴图进行分割处理,以区分具有不同图像精度的纹理图像,将精度较低的纹理图像执行打包操作,生成第一纹理资源文件,同理,将精度较低的纹理图像执行打包操作,生成第二纹理资源文件,其中,第一虚拟模型可以分别使用第一纹理资源文件与第二纹理资源文件进行模型显示效果的渲染。
具体而言,可以将第一纹理资源文件作为目标应用的基础资源,在目标应用的安装包中存在第一纹理资源文件,在第一设备上首次下载目标应用的安装包之后,在第一设备的内部存储空间中可以获取到上述低精度贴图集合,并且,可以将第二纹理资源文件发送至目标服务器,由目标服务器存储第二纹理资源文件,在使用者需要下载高精度贴图时,向目标服务器发出请求,下载上述高精度贴图集合。
作为一种可选的方案,上述在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,包括:在上述第二终端上根据上述第一虚拟模型的模型参数设置渲染等级集合,其中,上述渲染等级集合包括上述目标渲染等级;在上述第二终端上根据上述渲染等级集合对上述第一初始纹理贴图进行纹理采样,得到上述第一纹理贴图集合,其中,上述第一纹理贴图集合中的纹理贴图与上述渲染等级集合中的渲染等级一一对应。
可选地,在本申请实施例中,上述渲染等级集合与上述第一纹理贴图集合相对应,也即,上述第一纹理贴图集合中的纹理贴图对应的渲染等级均对应于渲染等级集合中的一个渲染等级,渲染等级集合中的一个或多个渲染等级即为上述目标渲染等级。
示例性地,渲染等级集合可以灵活设置,本申请不作任何限定,例如,渲染等级集合包括渲染等级A、渲染等级B、渲染等级C,第一纹理贴图集合中的A部分纹理贴图的图像分辨率为A,A部分纹理贴图的渲染等级即为渲染等级A,同理,第一纹理贴图集合中的B部分纹理贴图的图像分辨率为B,B部分纹理贴图的渲染等级即为渲染等级B,第一纹理贴图集合中的C部分纹理贴图的图像分辨率为C,C部分纹理贴图的渲染等级即为渲染等级C。
作为一种可选的方案,上述在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,包括:在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到上述目标纹理贴图;在上述第二终端上对上述目标纹理贴图进行纹理采样,得到上述第一纹理贴图;在上述第二终端上对上述第一纹理贴图进行纹理采样,得到第二纹理贴图,其中,上述第一纹理贴图的图像分辨率大于上述第二纹理贴图的图像分辨率;在上述第二终端上将上述目标纹理贴图、上述第一纹理贴图和上述第二纹理贴图确定为上述第一纹理贴图集合。
在一个示例性的实施例中,对上述目标纹理贴图执行纹理采样,以得到第一纹理贴图,此时,再次对第一纹理贴图执行纹理采样,以得到第二纹理贴图,如下所示:
S1,获取图像分辨率为100*100的目标纹理贴图;
S2,将目标纹理贴图缩小一倍,得到图像分辨率为50*50的第一纹理贴图;
S3,将第一纹理贴图缩小一倍,得到图像分辨率为25*25的第二纹理贴图;
S4,将S1至S3得到的目标纹理贴图、第一纹理贴图和第二纹理贴图存入第一纹理贴图集合。
作为一种可选的方案,上述方法还包括:在上述第二终端上获取第二初始纹理贴图,其中,上述第二初始纹理贴图表示预先为上述第二虚拟模型制作的最高精度贴图,第二虚拟模型与上述第一虚拟模型不同;在上述第二终端上对上述第二初始纹理贴图进行纹理采样,得到第二纹理贴图集合,其中,上述第二纹理贴图集合包括与不同图像分辨率对应的纹理贴图;在上述第二终端上对上述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件,其中,上述第三纹理资源文件用于表示与上述第二虚拟模型对应的低精度贴图集合,上述第四纹理资源文件用于表示与上述第二虚拟模型对应的高精度贴图集合;在上述第二终端上将上述第三纹理资源文件保存至上述目标应用的安装包,并将上述第四纹理资源文件发送至上述目标服务器,其中,上述第四纹理资源文件和上述第二纹理资源文件分别独立存储。
可选地,在本申请实施例中,上述第二虚拟模型可以是与上述第一虚拟模型完全独立开来的一个虚拟模型,还可以是上述第一虚拟模型中的模型部位,或者,上述第一虚拟模型和上述第二虚拟模型分别表示的是一个虚拟模型的不同部位,以游戏应用为例,存在两个游戏角色,分别是游戏角色A,游戏角色B,其中,第一虚拟模型可以是游戏角色A,第二虚拟模型可以是游戏角色B;或者,第一虚拟模型可以是游戏角色A的部位A,第二虚拟模型可以是游戏角色A的部位B;再或者,第一虚拟模型可以是游戏角色A,第二虚拟模型可以是游戏角色A的部位B。
进一步地,可以通过如下方式对第二初始纹理贴图进行纹理采样,包括但不限于使用MipMap技术,以得到第二纹理贴图集合,第二纹理贴图集合中的各个纹理贴图的图像分辨率不相同,将第二纹理贴图集合中的纹理贴图进行分割处理,以区分具有不同图像精度的纹理图像,将精度较低的纹理图像执行打包操作,生成第三纹理资源文件,同理,将精度较低的纹理图像执行打包操作,生成第四纹理资源文件,其中,第一虚拟模型可以分别使用第三纹理资源文件与第四纹理资源文件进行模型显示效果的渲染。
具体而言,可以将第三纹理资源文件作为目标应用的基础资源,在目标应用的安装包中存在第三纹理资源文件,在第二设备上首次下载目标应用的安装包之后,在第二设备的内部存储空间中可以获取到上述低精度贴图集合,并且,可以将第四纹理资源文件发送至目标服务器,由目标服务器存储第四纹理资源文件,在使用者需要下载高精度贴图时,向目标服务器发出请求,下载上述高精度贴图集合。
作为一种可选的方案,上述在上述第二终端上对上述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件之后,上述方法还包括:在上述第一虚拟模型和上述第二虚拟模型的模型类型相同的情况下,在上述第二终端上将上述第二纹理资源文件和上述第四纹理资源文件合并,生成第五纹理资源文件,并将上述第五纹理资源文件发送至上述目标服务器;在当前需要在上述第一终端上显示上述第一虚拟模型的情况下,在上述第一终端上从上述目标服务器下载上述第五纹理资源文件,其中,上述第五纹理资源文件包括上述目标纹理贴图。
以游戏应用为例,上述模型类型可以包括但不限于游戏角色模型,游戏NPC模型,游戏工具模型等,假设,第一虚拟模型为游戏角色A的模型,所述第二虚拟模型同样为游戏角色B的模型,此时,可以将用于渲染第一虚拟模型的第二纹理资源文件和用于渲染第二虚拟模型的第四纹理资源文件进行合并,以得到第五纹理资源文件,在目标服务器汇存储该第五纹理资源文件,换言之,第五纹理资源文件包括上述第一虚拟模型对应的高精度贴图集合,上述第二虚拟模型对应的高精度贴图集合,玩家可以请求获取第五纹理资源文件,无需重复发起获取请求,分两次获取第二纹理资源文件和第四纹理资源文件。
进一步地,在对上述第一纹理贴图集合与上述第二纹理贴图集合执行分割打包操作时,可以包括但不限于根据适配不同设备的性能、目标应用的场景中的纹理类型的特点,将不同的纹理贴图分割成独立的文件,以第一纹理贴图集合为例,可以预先设置不同的设备性能对应的第一纹理贴图集合中的纹理贴图的分割条件,或者,预先设置不同的目标应用的场景中的纹理类型的特点对应的第一纹理贴图集合中的纹理贴图的分割条件,也就是说,不同处理性能的设备对应的上述第一纹理资源文件和第二纹理资源文件可以不相同,也即,不同处理性能的设备在对第一虚拟模型进行模型渲染时,所对应的高精度贴图集合、低精度贴图集合中的纹理贴图均可以不相同,同理,在不同的目标应用的场景中,不同的纹理类型的高精度贴图集合、低精度贴图集合中的纹理贴图均可以不相同。
可选地,所述方法还包括:在所述第一终端上显示资源提示面板,其中,所述资源提示面板包括第一资源下载对象、第二资源下载对象以及目标资源下载对象,所述第一资源下载对象被设置为在触发时下载高精度纹理资源,并在所述高精度纹理资源下载完成的情况下,显示所述目标应用的应用界面,所述第二资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为禁止下载所述高精度纹理资源,所述目标资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为在所述目标应用的运行过程中下载所述高精度纹理资源,所述高精度纹理资源包括所述目标纹理贴图;响应于对所述目标资源下载对象执行的触发操作,显示所述应用界面,并在所述第一终端需要高精度显示所述第一虚拟模型的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上显示使用所述目标纹理贴图渲染的所述第一虚拟模型。
可选地,在本实施例中,本申请提出的纹理贴图的处理方法应用于游戏中,可以实现按需获取游戏资源中纹理贴图的高分辨率高精度Mip资源文件的目的。通过游戏资源分发策略及模块的组合,优化游戏体验,减少游戏存储空间需求和缓解网络不稳定的情况,如图7所示,在玩家首次进入游戏时,会提示玩家是否需要下载游戏资源,此时,可以设置三个选项,分别是:
S1,不下载高精度资源直接进入游戏(对应于前述的第二资源下载对象);
S2,下载高精度资源再进行游戏(对应于前述的第一资源下载对象);
S3,直接进入游戏,在游戏过程中使用wifi、移动网络,例如5G,加载高精度资源(对应于前述的目标资源下载对象)。
其中,S1至S3这三种高精度资源加载的方式可以根据实际情况再进行细化,例如,S2中可以直接进入游戏,再在后台加载游戏资源,S3中可以只使用wifi,或者只使用移动网络,或者同时使用wifi与移动网络的下载游戏资源,此外,在玩家进入游戏之后,也可以在游戏选项界面重新选择下载高精度资源,此时,游戏界面可以如图3所示。
可选地,作为一种可选的实施方式,上述纹理贴图的处理方法还包括:
S1,在目标应用已安装在第一终端的情况下,在第一终端上显示资源提示面板,其中,资源提示面板包括第一资源下载对象、第二资源下载对象以及目标资源下载对象,第一资源下载对象被设置为在触发时下载高精度纹理资源,并在高精度纹理资源下载完成的情况下,显示目标应用的应用界面,第二资源下载对象被设置为在触发时显示应用界面,并将目标应用设置为禁止下载高精度纹理资源,目标资源下载对象被设置为在触发时显示应用界面,并将目标应用设置为在目标应用的运行过程中下载高精度纹理资源;
S2,响应于对目标资源下载对象执行的触发操作,显示应用界面;
S3,在需要高精度显示第一虚拟模型的情况下,在第一终端上查找目标纹理贴图,其中,目标纹理贴图用于在目标应用上对第一虚拟模型进行高精度渲染,目标纹理贴图预先存储于目标服务器,高精度纹理资源包括目标纹理贴图;
S4,在未查找到目标纹理贴图的情况下,在第一终端上从目标服务器下载目标纹理贴图,并在目标纹理贴图已下载完毕的情况下,在第一终端上加载渲染目标纹理贴图。
下面结合具体的示例,对本申请进行进一步解释说明:
在一个示例性的实施例中,本申请可以对游戏资源进行按需下载,在同时考虑资源下载延迟和下载存储空间的情况下,最大程度地减少玩家下载的无效内容,以节省玩家的设备的存储空间,达到提高玩家首次进入游戏的速度的目的,同时,还可以将游戏资源下载的选择权交给玩家,让玩家根据自身情况进行选择是否下载游戏资源,改变相关技术中游戏基础安装结合DLC方案的单一模式,在一定程度上减少玩家消耗的流量以及设备的存储空间,对于使用性能较差的设备的玩家,本申请所提出的纹理贴图的处理方法的应用效果尤为明显。
需要说明的是,在游戏制作阶段,开发者可以根据适配不同性能机器、场景中纹理类型的特点,将不同等级的纹理分割成独立的文件,并将多个独立的文件存放至互联网的web服务或者CDN中,供玩家在游戏运行过程中按需下载相应的游戏资源,并且,本申请实现了Texture(上述目标纹理贴图)的高精度Mip资源文件的多种下载策略,通过高精度资源下载方案的组合,让玩家在自主选择合适的高精度资源下载方式的同时,降低游戏资源下载对游戏运行的影响,还可以对缓存在本地的Texture的高精度Mip资源文件进行管理,以避免高精度Mip资源文件对设备的磁盘造成的无限制占用的问题,且对Texture的高精度Mip资源文件单独进行加密处理,以保证游戏资源数据的安全性。
示例性地,玩家进行游戏时,所需要下载的安装包会显著变小,减少的内容取决于游戏资源中Texutre的占比和该玩家选择的Texture分割策略,如果玩家网络正常,游戏可以根据LOD策略进行无感知下载Texture的高精度资源,并渲染出对应级别的Texture,如图4所示,游戏可以渲染出最高精度的Texture,并在玩家的硬件设备中缓存对应的Texture的高精度Mip资源文件,如果玩家网络质量状况较差,或者,需要处理较为复杂的游戏玩法、或者,玩家主动设置,可以暂停Texture的高精度Mip资源文件的下载,将不会影响游戏的正常运行,Texture会显示预先打包到游戏安装包中较低精度的高精度Mip资源文件,如图4所示,对比图可以看到,存在部分细节信息的缺失,在距离图中对象较远位置处无法察觉,靠近图中的对象时,将可以看到细节信息存在缺失,图中模型不如图中模型清晰。
在一个示例性的实施例中,如图5所示:
S1,外部模块阶段,制作最高精度的Texture;
S2,编辑阶段,将Texture导入到游戏编辑器中,游戏编辑器会为Texture生成对应的MipMap,同时,可以进行Texture组的配置,并将Texture分配到不同的分组中,还可以根据游戏需要进行额外开发,可以包括但不限于根据游戏的模式玩法自动的关闭、开启按需下载Texture的功能,设置让玩家自行开启的游戏选项、关闭Texture按需下载的功能等;
S3,打包阶段,可以根据在编辑阶段的配置,逐个分析Texture,将符合要求的Texture进行Mip分割,每个Texture的数据都会生成一个独立的资源文件,将资源文件集中存储在一个区别于存储了游戏的基础安装包的目录,还可以将多个独立的高精度资源文件打包成集合文件;
S4,分发阶段,可以包括但不限于将游戏的基础安装包会分发到各个下载安装渠道供玩家下载安装,Texture的高精度Mip资源文件和整体的高精度Mip资源文件均可以上传到web服务提供给玩家下载,或者,在生产环境将Texture的高精度Mip资源文件和整体的高精度Mip资源文件上传到CDN中,加快玩家的资源下载速度;
S5,游戏运行阶段,玩家进入游戏之后,若游戏根据LOD策略确定需要使用TextureStreaming加载高精度Mip资源文件时,可以先判断本地是否存在该Texture的高Mip资源文件,如果没有,则可以通过由S2中游戏编辑器配置的网络地址中获取下载地址,进而下载该Texture的高Mip资源文件至玩家硬件设备中,将Texture加载渲染到玩家屏幕中,或者,直接下载整个高精度Mip资源文件,在之后的游戏中将不再需要重复下载单个Texture的高精度Mip资源文件。
需要说明的是,由于S3中的集合文件是多个独立的Texture的高精度Mip资源文件的文件集合,可以采用相同的文件数据,也即,如果下载了集合文件,就不需要再下载单个Texture的高精度Mip资源文件,同时,可以删除缓存在玩家的硬件设备的磁盘中的单个Texture的高精度Mip资源文件,以达到释放磁盘空间的目的。
进一步地,在游戏运行时可以包括但不限于,配置是否开启按需下载游戏资源的功能,配置请求网络资源的地址等,在S3中可以使用兼容Optional Chunk方案的技术手段,也即,游戏编辑器可以包括但不限于根据Texture的资源类型、Texture的使用率等划分需要分割的Texture的Mip等级,游戏编辑器可以根据配置达到精细化分割Texture的目的,而每个Texture均会保存每一级的高精度Mip资源文件摘要信息,如果Texture的高精度Mip资源文件保存在游戏的基础安装包中,摘要信息标识设置为“A”,在游戏运行时直接从基础安装包中的ubulk文件中读取Texture的高精度Mip资源文件,如果高精度Mip资源文件保存在uptnl文件中,摘要信息标识设置为“B”,由于分割之后的高精度Mip资源文件是以Texture为单位进行存储的,也即,若某个Texture有多个高于配置的高精度Mip资源文件,那么这多个高于配置的高精度Mip资源文件将会存储在同一个uptnl文件中,如此一来,不但可以减少玩家需要下载的高精度Mip资源文件,以减少硬件磁盘的空间碎片,且考虑到在游戏中可能存在玩家加载高精度Mip资源文件的情况,玩家更有可能加载同一个Texture的高精度Mip资源文件。
需要说明的是,在收集完成uptnl文件之后,可以对每个uptnl文件进行打包,对uptnl文件进行加密,uptnl文件的加密逻辑和基础安装包的资源加密逻辑相同,在独立的Texture高精度Mip资源文件暴露在互联网中的情况下,黑客无法轻易获取到Texture高精度Mip资源文件,确保Texture高精度Mip资源文件中的数据的安全性,再者,由于每个uptnl文件都是独立文件,因此,可以并行对uptnl文件执行打包操作,从而,加快pak文件(资源文件)的生产速度,同时,将Texture高精度Mip的Pak文件集中放入区别于基础安装包的文件目录,便于将所有pak文件上传到web服务中,再进行独立的Texture高精度Mip的Pak文件的打包时不会改变游戏引擎读取资源文件的路径,也即,游戏引擎的Texture streaming逻辑不会感知到这个独立的Texture高精度Mip的Pak文件的存在,在S5中,游戏运行的Texturestreaming流程是发起读取Texture数据的请求,从玩家使用的设备的磁盘目录中将文件挂载到游戏的虚拟文件系统中,进而,从文件中读取出Texture的Mip数据,该Mip数据即表示记录在高精度Mip资源文件中的数据。
示例性地,在Texture Streaming发起读取Texture数据请求后,可以根据Texture的Mip列表查看该高精度Mip资源文件的存储位置,若高精度Mip资源文件在基础安装包里的ubulk文件中,或者可能在uptnl文件中。如果是在ubulk文件中,如图6所示,BulkData发起数据读取请求,进行磁盘IO读取数据,将Pak文件目录内的Pak文件挂载到UFS文件系统中,在UFS文件系统中,每个Pak文件都可以是一个独立的文件,Pak文件中可以包括但不限于ubulk文件,uptnl文件等,最终将读取到的文件中的数据返回给BulkData,如果是在uptnl文件中,则将请求发送到全局的调度器Downloader中。
进一步地,由于Texture Streaming可能会同时发一个Texture不同Mip的读取请求,因此,在Downloader中可以设置一个过滤器,将获取同一个Texture的不同高精度Mip资源文件的请求执行过滤操作,只生成一个下载任务,该任务可以被放入Downloader的任务队列中,上述任务队列可以包括但不限于控制任务的优先级,缓存任务,以实现控制任务执行速度的目的,可以包括但不限于:
S1,通过限制同时并发的下载任务,控制下载速度;
S2,在单人游戏,例如游戏大厅、新手关、温暖局等场景,对网络要求不高的情况下,可以尽力下载;
S3,在多人游戏的时候,可以开启延迟下载的功能。将任务进行缓存,直到多人游戏结束后,Downloader在启动下载。
其中,由于每个任务均可以分为两个子任务Download和Mount,Download即文件的下载子任务,下载子任务主要是到web服务或者CDN中拉取所需要的Pak文件,下载的Pak文件会缓存到硬件设备的CacheDir目录中;Mount即文件的挂载子任务。挂载子任务主要是将缓存在CacheDir目录中的Pak文件挂载到游戏引擎的虚拟文件系统中,在Pak文件挂载完成之后,即表示该任务执行成功,接着执行硬件磁盘IO的读取操作,将读取任务指定的Mip数据,每个任务在执行下载子任务之前,均可以先判断玩家设备的本地缓存目录CacheDir中是否已经存在所需要的Pak文件,如果有,则不需要再次下载该Pak文件,直接执行挂载子任务,而Downloader可以对CacheDir目录下的文件进行管理,可以包括但不限于根据LRU策略淘汰长期未被使用的Texture的高精度Mip资源文件,由玩家根据实际情况进行删除部分Texture的高精度Mip资源文件,以解决由于游戏资源的版本更新导致的无限制占用玩家硬件的磁盘空间的技术问题。
需要说明的是,本申请可以显著减少游戏的基础安装包的大小,例如一个游戏应用的全量Texture打包,只需要5.61GB的存储空间来存储所需要的游戏资源,在将Texture按照本申请所提出的纹理贴图的处理的方法进行Texture分割之后,只需要3.85GB游戏的存储空间来存储基础安装包资源,也即,减少了31%的存储空间,对于剩余的Texture高精度资源而言,玩家可以不进行下载,为游戏运营商节省了大量的CDN运行成本。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,还提供了一种用于实施上述纹理贴图的处理方法的纹理贴图的处理装置。如图10所示,该装置包括:
获取模块1002,用于在目标应用已安装在第一终端,且目标应用已启动的情况下,在第一终端上获取当前需要在目标应用中显示的第一虚拟模型;
查找模块1004,用于在第一虚拟模型当前需要进行高精度显示的情况下,在第一终端上查找目标纹理贴图,其中,目标纹理贴图用于在目标应用上对第一虚拟模型进行高精度渲染,目标纹理贴图预先存储于目标服务器;
下载模块1006,用于在未查找到目标纹理贴图的情况下,在第一终端上从目标服务器下载目标纹理贴图,并在目标纹理贴图已下载完毕的情况下,在第一终端上加载渲染目标纹理贴图。
作为一种可选的方案,上述装置用于通过如下方式在上述第一虚拟模型当前需要进行高精度显示的情况下,在上述第一终端上查找目标纹理贴图:在上述第一终端上获取上述第一虚拟模型的目标渲染等级,其中,上述目标渲染等级用于指示上述第一虚拟模型当前是否需要进行高精度显示,上述目标渲染等级与上述第一虚拟模型在上述目标应用的视野范围内所处的位置相关;在上述目标渲染等级指示上述第一虚拟模型需要进行高精度显示的情况下,在上述第一终端上查找上述目标纹理贴图;在上述目标渲染等级指示上述第一虚拟模型不需要进行高精度显示的情况下,在上述第一终端上查找第一纹理贴图,其中,上述第一纹理贴图预先存储于上述第一终端,上述目标纹理贴图的图像分辨率大于上述第一纹理贴图。
作为一种可选的方案,上述装置用于通过如下方式在未查找到上述目标纹理贴图的情况下,从上述目标服务器下载上述目标纹理贴图,并在上述目标纹理贴图已下载完毕的情况下,加载渲染上述目标纹理贴图:在未查找到上述目标纹理贴图的情况下,在上述第一终端上加载渲染上述第一纹理贴图;在上述第一终端上从上述目标服务器下载上述目标纹理贴图,并在上述目标纹理贴图已下载完毕的情况下,在上述第一终端上加载渲染上述目标纹理贴图。
作为一种可选的方案,上述装置用于通过如下方式在未查找到上述目标纹理贴图的情况下,在上述第一终端上加载渲染上述第一纹理贴图,包括以下至少之一:在未查找到上述目标纹理贴图,且上述第一终端的网络状态未满足预设网络条件的情况下,在上述第一终端上加载渲染上述第一纹理贴图;在未查找到上述目标纹理贴图,且上述目标应用处于预设场景的情况下,在上述第一终端上加载渲染上述第一纹理贴图;在未查找到上述目标纹理贴图,且上述目标纹理贴图处于下载过程中的情况下,在上述第一终端上加载渲染上述第一纹理贴图。
作为一种可选的方案,上述装置还用于:在上述第一终端上获取当前需要在上述目标应用中显示的第一虚拟模型之前,在上述第一终端上获取上述目标应用的安装包,使用上述安装包在上述第一终端上安装上述目标应用,其中,上述安装包包括上述第一虚拟模型对应的纹理配置文件和上述第一纹理贴图,上述纹理配置文件用于指示上述目标渲染等级和上述目标服务器的网络地址;上述在上述第一终端上从上述目标服务器下载上述目标纹理贴图,包括:在上述第一终端上根据上述网络地址生成目标任务,其中,上述目标任务表示任务队列中等待下载上述目标纹理贴图的任务,上述目标任务包括下载子任务和挂载子任务,上述下载子任务用于从上述目标服务器下载上述目标纹理贴图,并缓存至上述第一终端的目标缓存空间,上述挂载子任务用于将上述目标缓存空间的上述目标纹理贴图挂载到上述目标应用的虚拟文件系统;在上述第一终端上通过控制上述任务队列执行上述目标任务,下载上述目标纹理贴图,其中,上述目标任务是否允许被执行由上述任务队列的队列属性和上述目标应用的场景属性确定。
作为一种可选的方案,上述装置还用于:在上述目标纹理贴图包括第一目标纹理贴图和第二目标纹理贴图,且上述第一目标纹理贴图和上述第二目标纹理贴图具有不同图像分辨率的情况下,在上述第一终端上将上述第一目标纹理贴图对应的第一任务和上述第二目标纹理贴图对应的第二任务合并为上述目标任务;在上述目标纹理贴图已下载,且上述目标纹理贴图满足预设存储条件的情况下,在上述第一终端上删除上述目标纹理贴图。
作为一种可选的方案,上述装置还用于:在上述第二终端上获取第一初始纹理贴图,其中,上述第一初始纹理贴图表示预先为上述第一虚拟模型制作的最高精度贴图;在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,其中,上述第一纹理贴图集合包括上述目标纹理贴图和上述第一纹理贴图;在上述第二终端上对上述第一纹理贴图集合执行分割打包操作,得到第一纹理资源文件和第二纹理资源文件,其中,上述第一纹理资源文件用于表示与上述第一虚拟模型对应的低精度贴图集合,上述第二纹理资源文件用于表示与上述第一虚拟模型对应的高精度贴图集合;在上述第二终端上将上述第一纹理资源文件保存至上述目标应用的安装包,并将上述第二纹理资源文件发送至上述目标服务器。
作为一种可选的方案,上述装置用于通过如下方式在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合:在上述第二终端上根据上述第一虚拟模型的模型参数设置渲染等级集合,其中,上述渲染等级集合包括上述目标渲染等级;在上述第二终端上根据上述渲染等级集合对上述第一初始纹理贴图进行纹理采样,得到上述第一纹理贴图集合,其中,上述第一纹理贴图集合中的纹理贴图与上述渲染等级集合中的渲染等级一一对应。
作为一种可选的方案,上述装置用于通过如下方式在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合:在上述第二终端上对上述第一初始纹理贴图进行纹理采样,得到上述目标纹理贴图;在上述第二终端上对上述目标纹理贴图进行纹理采样,得到上述第一纹理贴图;在上述第二终端上对上述第一纹理贴图进行纹理采样,得到第二纹理贴图,其中,上述第一纹理贴图的图像分辨率大于上述第二纹理贴图的图像分辨率;在上述第二终端上将上述目标纹理贴图、上述第一纹理贴图和上述第二纹理贴图确定为上述第一纹理贴图集合。
作为一种可选的方案,上述装置还用于:在上述第二终端上获取第二初始纹理贴图,其中,上述第二初始纹理贴图表示预先为上述第二虚拟模型制作的最高精度贴图,第二虚拟模型与上述第一虚拟模型不同;在上述第二终端上对上述第二初始纹理贴图进行纹理采样,得到第二纹理贴图集合,其中,上述第二纹理贴图集合包括与不同图像分辨率对应的纹理贴图;在上述第二终端上对上述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件,其中,上述第三纹理资源文件用于表示与上述第二虚拟模型对应的低精度贴图集合,上述第四纹理资源文件用于表示与上述第二虚拟模型对应的高精度贴图集合;在上述第二终端上将上述第三纹理资源文件保存至上述目标应用的安装包,并将上述第四纹理资源文件发送至上述目标服务器,其中,上述第四纹理资源文件和上述第二纹理资源文件分别独立存储。
作为一种可选的方案,上述装置用于通过如下方式在上述第二终端上对上述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件之后,在上述第一虚拟模型和上述第二虚拟模型的模型类型相同的情况下,在上述第二终端上将上述第二纹理资源文件和上述第四纹理资源文件合并,生成第五纹理资源文件,并将上述第五纹理资源文件发送至上述目标服务器;在当前需要在上述第一终端上显示上述第一虚拟模型的情况下,在上述第一终端上从上述目标服务器下载上述第五纹理资源文件,其中,上述第五纹理资源文件包括上述目标纹理贴图。
作为一种可选的方案,上述装置还用于:在所述第一终端上显示资源提示面板,其中,所述资源提示面板包括第一资源下载对象、第二资源下载对象以及目标资源下载对象,所述第一资源下载对象被设置为在触发时下载高精度纹理资源,并在所述高精度纹理资源下载完成的情况下,显示所述目标应用的应用界面,所述第二资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为禁止下载所述高精度纹理资源,所述目标资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为在所述目标应用的运行过程中下载所述高精度纹理资源,所述高精度纹理资源包括所述目标纹理贴图;响应于对所述目标资源下载对象执行的触发操作,显示所述应用界面,并在所述第一终端需要高精度显示所述第一虚拟模型的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上显示使用所述目标纹理贴图渲染的所述第一虚拟模型。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
图11示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理器1101(Central Processing Unit,CPU),其可以根据存储在只读存储器1102(Read-Only Memory,ROM)中的程序或者从存储部分1108加载到随机访问存储器1103(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1103中,还存储有系统操作所需的各种程序和数据。中央处理器1101、在只读存储器1102以及随机访问存储器1103通过总线1104彼此相连。输入/输出接口1105(Input/Output接口,即I/O接口)也连接至总线1104。
以下部件连接至输入/输出接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至输入/输出接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理器1101执行时,执行本申请的系统中限定的各种功能。
在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理器1101执行时,执行本申请实施例提供的各种功能。
根据本申请实施例的又一个方面,还提供了一种用于实施上述纹理贴图的处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端设备为例来说明。如图12所示,该电子设备包括存储器1202和处理器1204,该存储器1202中存储有计算机程序,该处理器1204被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行本申请各实施例中的方法。
可选地,本领域普通技术人员可以理解,图12所示的结构仅为示意,图12其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图12中所示更多或者更少的组件(如网络接口等),或者具有与图12所示不同的配置。
其中,存储器1202可用于存储软件程序以及模块,如本申请实施例中的纹理贴图的处理方法和装置对应的程序指令/模块,处理器1204通过运行存储在存储器1202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的纹理贴图的处理方法。存储器1202可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1202可进一步包括相对于处理器1204远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1202具体可以但不限于用于存储目标纹理贴图等信息。作为一种示例,如图12所示,上述存储器1202中可以但不限于包括上述纹理贴图的处理装置中的获取模块1002,查找模块1004,下载模块1006。此外,还可以包括但不限于上述纹理贴图的处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1206包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1206为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1208,用于显示上述第一虚拟模型;和连接总线1210,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机可读存储介质,电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述纹理贴图的处理方面的各种可选实现方式中提供的纹理贴图的处理方法。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行本申请各实施例中的方法。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台电子设备执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的应用程序,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (16)
1.一种纹理贴图的处理方法,其特征在于,包括:
在目标应用已安装在第一终端,且所述目标应用已启动的情况下,在所述第一终端上获取当前需要在所述目标应用中显示的第一虚拟模型;
在所述第一虚拟模型当前需要进行高精度显示的情况下,在所述第一终端上查找目标纹理贴图,其中,所述目标纹理贴图用于在所述目标应用上对所述第一虚拟模型进行高精度渲染,所述目标纹理贴图预先存储于目标服务器;
在未查找到所述目标纹理贴图的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上加载渲染所述目标纹理贴图。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一虚拟模型当前需要进行高精度显示的情况下,在所述第一终端上查找目标纹理贴图,包括:
在所述第一终端上获取所述第一虚拟模型的目标渲染等级,其中,所述目标渲染等级用于指示所述第一虚拟模型当前是否需要进行高精度显示,所述目标渲染等级与所述第一虚拟模型在所述目标应用的视野范围内所处的位置相关;
在所述目标渲染等级指示所述第一虚拟模型需要进行高精度显示的情况下,在所述第一终端上查找所述目标纹理贴图;
在所述目标渲染等级指示所述第一虚拟模型不需要进行高精度显示的情况下,在所述第一终端上查找第一纹理贴图,其中,所述第一纹理贴图预先存储于所述第一终端,所述目标纹理贴图的图像分辨率大于所述第一纹理贴图。
3.根据权利要求2所述的方法,其特征在于,所述在未查找到所述目标纹理贴图的情况下,从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,加载渲染所述目标纹理贴图,包括:
在未查找到所述目标纹理贴图的情况下,在所述第一终端上加载渲染所述第一纹理贴图;
在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上加载渲染所述目标纹理贴图。
4.根据权利要求3所述的方法,其特征在于,所述在未查找到所述目标纹理贴图的情况下,在所述第一终端上加载渲染所述第一纹理贴图,包括以下至少之一:
在未查找到所述目标纹理贴图,且所述第一终端的网络状态未满足预设网络条件的情况下,在所述第一终端上加载渲染所述第一纹理贴图;
在未查找到所述目标纹理贴图,且所述目标应用处于预设场景的情况下,在所述第一终端上加载渲染所述第一纹理贴图;
在未查找到所述目标纹理贴图,且所述目标纹理贴图处于下载过程中的情况下,在所述第一终端上加载渲染所述第一纹理贴图。
5.根据权利要求2所述的方法,其特征在于,
所述在所述第一终端上获取当前需要在所述目标应用中显示的第一虚拟模型之前,所述方法还包括:在所述第一终端上获取所述目标应用的安装包,使用所述安装包在所述第一终端上安装所述目标应用,其中,所述安装包包括所述第一虚拟模型对应的纹理配置文件和所述第一纹理贴图,所述纹理配置文件用于指示所述目标渲染等级和所述目标服务器的网络地址;
所述在所述第一终端上从所述目标服务器下载所述目标纹理贴图,包括:在所述第一终端上根据所述网络地址生成目标任务,其中,所述目标任务表示任务队列中等待下载所述目标纹理贴图的任务,所述目标任务包括下载子任务和挂载子任务,所述下载子任务用于从所述目标服务器下载所述目标纹理贴图,并缓存至所述第一终端的目标缓存空间,所述挂载子任务用于将所述目标缓存空间的所述目标纹理贴图挂载到所述目标应用的虚拟文件系统;在所述第一终端上通过控制所述任务队列执行所述目标任务,下载所述目标纹理贴图,其中,所述目标任务是否允许被执行由所述任务队列的队列属性和所述目标应用的场景属性确定。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述目标纹理贴图包括第一目标纹理贴图和第二目标纹理贴图,且所述第一目标纹理贴图和所述第二目标纹理贴图具有不同图像分辨率的情况下,在所述第一终端上将所述第一目标纹理贴图对应的第一任务和所述第二目标纹理贴图对应的第二任务合并为所述目标任务;
在所述目标纹理贴图已下载,且所述目标纹理贴图满足预设存储条件的情况下,在所述第一终端上删除所述目标纹理贴图。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二终端上获取第一初始纹理贴图,其中,所述第一初始纹理贴图表示预先为所述第一虚拟模型制作的最高精度贴图;
在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,其中,所述第一纹理贴图集合包括所述目标纹理贴图和所述第一纹理贴图;
在所述第二终端上对所述第一纹理贴图集合执行分割打包操作,得到第一纹理资源文件和第二纹理资源文件,其中,所述第一纹理资源文件用于表示与所述第一虚拟模型对应的低精度贴图集合,所述第二纹理资源文件用于表示与所述第一虚拟模型对应的高精度贴图集合;
在所述第二终端上将所述第一纹理资源文件保存至所述目标应用的安装包,并将所述第二纹理资源文件发送至所述目标服务器。
8.根据权利要求7所述的方法,其特征在于,所述在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,包括:
在所述第二终端上根据所述第一虚拟模型的模型参数设置渲染等级集合,其中,所述渲染等级集合包括所述目标渲染等级;
在所述第二终端上根据所述渲染等级集合对所述第一初始纹理贴图进行纹理采样,得到所述第一纹理贴图集合,其中,所述第一纹理贴图集合中的纹理贴图与所述渲染等级集合中的渲染等级一一对应。
9.根据权利要求7所述的方法,其特征在于,所述在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到第一纹理贴图集合,包括:
在所述第二终端上对所述第一初始纹理贴图进行纹理采样,得到所述目标纹理贴图;
在所述第二终端上对所述目标纹理贴图进行纹理采样,得到所述第一纹理贴图;
在所述第二终端上对所述第一纹理贴图进行纹理采样,得到第二纹理贴图,其中,所述第一纹理贴图的图像分辨率大于所述第二纹理贴图的图像分辨率;
在所述第二终端上将所述目标纹理贴图、所述第一纹理贴图和所述第二纹理贴图确定为所述第一纹理贴图集合。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述第二终端上获取第二初始纹理贴图,其中,所述第二初始纹理贴图表示预先为所述第二虚拟模型制作的最高精度贴图,第二虚拟模型与所述第一虚拟模型不同;
在所述第二终端上对所述第二初始纹理贴图进行纹理采样,得到第二纹理贴图集合,其中,所述第二纹理贴图集合包括与不同图像分辨率对应的纹理贴图;
在所述第二终端上对所述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件,其中,所述第三纹理资源文件用于表示与所述第二虚拟模型对应的低精度贴图集合,所述第四纹理资源文件用于表示与所述第二虚拟模型对应的高精度贴图集合;
在所述第二终端上将所述第三纹理资源文件保存至所述目标应用的安装包,并将所述第四纹理资源文件发送至所述目标服务器,其中,所述第四纹理资源文件和所述第二纹理资源文件分别独立存储。
11.根据权利要求10所述的方法,其特征在于,所述在所述第二终端上对所述第二纹理贴图集合执行分割打包操作,得到第三纹理资源文件和第四纹理资源文件之后,所述方法还包括:
在所述第一虚拟模型和所述第二虚拟模型的模型类型相同的情况下,在所述第二终端上将所述第二纹理资源文件和所述第四纹理资源文件合并,生成第五纹理资源文件,并将所述第五纹理资源文件发送至所述目标服务器;
在当前需要在所述第一终端上显示所述第一虚拟模型的情况下,在所述第一终端上从所述目标服务器下载所述第五纹理资源文件,其中,所述第五纹理资源文件包括所述目标纹理贴图。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一终端上显示资源提示面板,其中,所述资源提示面板包括第一资源下载对象、第二资源下载对象以及目标资源下载对象,所述第一资源下载对象被设置为在触发时下载高精度纹理资源,并在所述高精度纹理资源下载完成的情况下,显示所述目标应用的应用界面,所述第二资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为禁止下载所述高精度纹理资源,所述目标资源下载对象被设置为在触发时显示所述应用界面,并将所述目标应用设置为在所述目标应用的运行过程中下载所述高精度纹理资源,所述高精度纹理资源包括所述目标纹理贴图;
响应于对所述目标资源下载对象执行的触发操作,显示所述应用界面,并在所述第一终端需要高精度显示所述第一虚拟模型的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上显示使用所述目标纹理贴图渲染的所述第一虚拟模型。
13.一种纹理贴图的处理装置,其特征在于,包括:
获取模块,用于在目标应用已安装在第一终端,且所述目标应用已启动的情况下,在所述第一终端上获取当前需要在所述目标应用中显示的第一虚拟模型;
查找模块,用于在所述第一虚拟模型当前需要进行高精度显示的情况下,在所述第一终端上查找目标纹理贴图,其中,所述目标纹理贴图用于在所述目标应用上对所述第一虚拟模型进行高精度渲染,所述目标纹理贴图预先存储于目标服务器;
下载模块,用于在未查找到所述目标纹理贴图的情况下,在所述第一终端上从所述目标服务器下载所述目标纹理贴图,并在所述目标纹理贴图已下载完毕的情况下,在所述第一终端上加载渲染所述目标纹理贴图。
14.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的计算机程序,其中,所述计算机程序可被电子设备运行时执行所述权利要求1至12任一项中所述的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12任一项中所述方法的步骤。
16.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410052302.7A CN120318393A (zh) | 2024-01-12 | 2024-01-12 | 纹理贴图的处理方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410052302.7A CN120318393A (zh) | 2024-01-12 | 2024-01-12 | 纹理贴图的处理方法和装置、存储介质及电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN120318393A true CN120318393A (zh) | 2025-07-15 |
Family
ID=96334256
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410052302.7A Pending CN120318393A (zh) | 2024-01-12 | 2024-01-12 | 纹理贴图的处理方法和装置、存储介质及电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120318393A (zh) |
-
2024
- 2024-01-12 CN CN202410052302.7A patent/CN120318393A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12011660B2 (en) | Augmenting video games with add-ons | |
| US7978205B1 (en) | Systems and methods for providing an enhanced graphics pipeline | |
| KR101130407B1 (ko) | 향상된 그래픽 파이프라인을 제공하는 시스템 및 방법 | |
| JP7709003B2 (ja) | グラフィック処理のためのアセット認識コンピューティングアーキテクチャ | |
| US8638332B2 (en) | Teleport preview provisioning in virtual environments | |
| CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
| CN114219924A (zh) | 虚拟场景的适配显示方法、装置、设备、介质及程序产品 | |
| CN120318393A (zh) | 纹理贴图的处理方法和装置、存储介质及电子设备 | |
| US20220370920A1 (en) | Electronic device and method for managing cache data | |
| JP2025153802A (ja) | コンテンツ向け画像生成提供用サーバシステム、端末装置及びプログラム | |
| CN119027560A (zh) | 一种针对虚拟空间的渲染方法及装置 | |
| CN119228955A (zh) | 虚拟对象的动画处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
| HK40047255A (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
| CN120782924A (zh) | 骨骼动画的渲染方法、装置、电子设备以及存储介质 | |
| CN118831319A (zh) | 画面显示方法、装置、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication |