虚拟三维模型的阴影处理方法、阴影处理装置及电子装置

文档序号:1891200 发布日期:2021-11-26 浏览:14次 >En<

阅读说明:本技术 虚拟三维模型的阴影处理方法、阴影处理装置及电子装置 (Shadow processing method and device of virtual three-dimensional model and electronic device ) 是由 曾灏 于 2021-08-06 设计创作,主要内容包括:本发明公开了一种虚拟三维模型的阴影处理方法、阴影处理装置及电子装置。其中,该方法包括:获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影;将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,其中,第二虚拟三维模型与第一虚拟三维模型的造型相同,且第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量。本发明解决了相关技术中面数较低的植物模型,阴影精度较低的技术问题。(The invention discloses a shadow processing method and a shadow processing device of a virtual three-dimensional model and an electronic device. Wherein, the method comprises the following steps: acquiring shadow cast texture, wherein the shadow cast texture is a cast shadow generated by irradiating a first virtual three-dimensional model in a target area by using a virtual light source in a game scene; and setting the shadow cast texture as a cast shadow generated by a second virtual three-dimensional model in the target area under the irradiation of the virtual light source, wherein the shape of the second virtual three-dimensional model is the same as that of the first virtual three-dimensional model, and the number of patches of the second virtual three-dimensional model is lower than that of the first virtual three-dimensional model. The invention solves the technical problems of lower face number, lower shadow precision of the plant model in the related technology.)

虚拟三维模型的阴影处理方法、阴影处理装置及电子装置

技术领域

本发明涉及计算机技术领域,具体而言,涉及一种虚拟三维模型的阴影处理方法、阴影处理装置及电子装置。

背景技术

在游戏场景中,通过给光照下的物体增加阴影实现物体的“立体感”,进而给玩家提供较好的视觉体验。相关技术中,通过植物模型对引擎自带的灯光的遮挡产生阴影,在面数较高的植物模型里,模型对灯光产生的遮挡会比较丰富,阴影的精度会较高,然而,在面数较低的植物模型里,模型对灯光产生的遮挡比较简单,阴影精度较差,进而导致低面植物模型的立体感较差。

针对上述相关技术中面数较低的植物模型,阴影精度较低的问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种虚拟三维模型的阴影处理方法、阴影处理装置及电子装置,以至少解决相关技术中面数较低的植物模型,阴影精度较低的技术问题。

根据本发明实施例的一个方面,提供了一种虚拟三维模型的阴影处理方法,包括:获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影;将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,其中,第二虚拟三维模型与第一虚拟三维模型的造型相同,且第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量。

进一步地,获取阴影投射纹理包括:获取与第二虚拟三维模型对应的第一虚拟三维模型;将第一虚拟三维模型和第二虚拟三维模型设置在目标区域内的目标位置上;控制虚拟光源从预设方向照射目标位置,得到阴影投射纹理。

进一步地,控制虚拟光源从预设方向照射目标位置,得到阴影投射纹理包括:控制虚拟光源从预设方向照射目标位置,确定第一虚拟三维模型中接收投射阴影的部分面片;对部分面片执行渲染到纹理操作,得到阴影投射纹理。

进一步地,将第一虚拟三维模型和第二虚拟三维模型设置在目标区域内的目标位置上,包括:将第一虚拟三维模型和第二虚拟三维模型设置在目标区域内的同一位置上。

进一步地,虚拟三维模型的阴影处理方法还包括:调整第一虚拟三维模型的对象属性,以使第一虚拟三维模型在游戏场景中虚拟摄像机的视野范围内处于不可见状态。

进一步地,虚拟三维模型的阴影处理方法还包括:调整第二虚拟三维模型的对象属性,以取消第二虚拟三维模型在虚拟光源照射下产生的投射阴影。

进一步地,阴影投射纹理利用第一游戏引擎获得,并复用至第二游戏引擎。

根据本发明实施例的另一方面,还提供了一种虚拟三维模型的阴影处理装置,包括:获取模块,用于获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影;处理模块,用于将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,其中,第二虚拟三维模型与第一虚拟三维模型的造型相同,且第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量。

根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟三维模型的阴影处理方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟三维模型的阴影处理方法。

在本发明实施例中,获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影,将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,通过单独制作出具有高面片数的第一虚拟三维模型对应阴影投射纹理,并用于设置低面片数的第二虚拟三维模型,实现了在游戏场景中展现出低面片数的第二虚拟三维模型具有高精度阴影的视觉效果,增强了低面片数的第二虚拟三维模型的立体感,进而提高了游戏场景的视觉体验,进而解决了相关技术中面数较低的植物模型,阴影精度较低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1a是根据相关技术的一种阴影处理方法的示意图;

图1b是根据相关技术的一种阴影处理方法的示意图;

图2是根据本发明实施例的一种虚拟三维模型的阴影处理方法的流程图;

图3是根据本发明实施例的一种第二虚拟三维模型的投射阴影的示意图;

图4是根据本发明实施例的一种低面数植物模型的阴影投射纹理的示意图;

图5是根据本发明实施例的一种高面数植物模型的阴影投射纹理的示意图;

图6是根据本发明实施例的一种渲染得到阴影投射纹理的示意图;

图7是根据本发明实施例的一种渲染得到阴影投射纹理的示意图;

图8是根据本发明实施例的一种调整第一虚拟三维模型的对象属性的示意图;

图9是根据本发明实施例的一种调整第二虚拟三维模型的对象属性的示意图;

图10是根据本发明实施例的一种在游戏引擎中显示的阴影投射纹理的示意图;

图11是根据本发明实施例的一种虚拟三维模型的阴影处理装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种虚拟三维模型的阴影处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本公开其中一种实施例中的一种虚拟三维模型的阴影处理方法可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备。当虚拟三维模型的阴影处理方法运行于服务器时,该方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。

在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。

相关技术中,可以通过阴影贴图(Shadow mapping)的方法产生阴影,即从光源位置起,所有能够看到的物体都处在光照之中,这些物体后面的东西将处于阴影之中。另一种产生阴影的方法为光线追踪(Ray tracing)法,基于三维计算机图形学中的特殊渲染算法,追踪从眼睛发出的光线而不是外部光源,光线追踪方法对于反射与折射有更准确的模拟效果,效率非常高,可以实现较高质量的效果。图1a是根据相关技术的一种阴影处理方法的示意图,如图1a所示,利用引擎自带的灯光对场景进行渲染,保存能够看到的物体12表面深度,得到阴影图11(即Shadow Map),正常的场景中的每个点都与阴影图11进行比较,判断场景中的每个点能否被光线看到,从而进行正常场景的渲染,图1a中P点为物体12阴影处的点,P点所在位置的深度ZB大于阴影图11上对应的深度ZA。图1b是根据相关有技术的一种阴影处理方法的示意图,如图1b所示,当P点不为物体12阴影处的点时,P点所在位置的深度ZB等于阴影图11上对应的深度ZA,根据场景中的每个点的深度与阴影图11进行比较,确定出场景中阴影的点。上述方法可以应用于游戏场景的制作中,比如,制作出植物的阴影,增强植物的立体感,然而,游戏场景中阴影是根据灯光的遮挡确定的,在面数较高的植物模型里,模型对灯光产生的遮挡会比较丰富,阴影的精度会较高,对于面数较低的植物模型,对灯光的遮挡比较简单,阴影的精度较差,进而场景的立体感效果较差。

针对于上述问题,根据本发明实施例,提供了一种虚拟三维模型的阴影处理方法,图2是根据本发明实施例的虚拟三维模型的阴影处理方法的流程图,如图2所示,该方法包括如下步骤:

步骤S202,获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影。

上述目标区域为游戏场景中需要制作阴影的区域,目标区域中可以包括一个或者多个第一虚拟三维模型,对应于多个第一虚拟三维模型可以制作出多个对应的阴影投射纹理。例如,上述第一虚拟三维模型可以为植物三维模型,游戏场景的目标区域为包含了多棵植物的区域(比如,森林区域),不同的植物对应了不同的第一虚拟三维模型,以在游戏场景中表现出形态各异的植物,利用游戏场景中的虚拟光源照射目标区域后,可以得到多个与不同植物三维模型对应的阴影投射纹理。

上述阴影投射纹理可以由预设的游戏引擎根据第一虚拟三维模型制作得到,例如,预设的游戏引擎可以为3DSMAX软件,可以利用3DSMAX软件中的虚拟光源照射第一虚拟三维模型,根据第一虚拟三维模型对虚拟光源的光照的遮挡,生成投射阴影。

步骤S204,将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,其中,第二虚拟三维模型与第一虚拟三维模型的造型相同,且第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量。

由于第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量,可以认为第一虚拟三维模型为低面数虚拟三维模型,第二虚拟三维模型为高面数虚拟三维模型。由于高面数虚拟三维模型对虚拟光源照射所产生的遮挡比较丰富,基于虚拟光源照射所得到投射阴影的精度较高,将获取到的高面数虚拟三维模型的阴影投射纹理用于具有低面数虚拟三维模型的游戏场景中,可以改善低面数虚拟三维模型的阴影精度,提高低面数虚拟三维模型的立体感。

上述造型相同可以为第二虚拟三维模型和第一虚拟三维模型的外观结构相同,例如,第二虚拟三维模型为游戏场景中的低面数植物模型,第一虚拟三维模型可以为高面数植物模型,低面数植物模型和高面数植物模型的造型相同,可以包括两者的枝干轮廓相同、枝叶数量相同以及枝叶的伸展方向等相同,以使低面数植物模型和高面数植物模型所呈现出的外观相同。

在一种可选的实施例中,图3是根据本发明实施例的一种第二虚拟三维模型的投射阴影的示意图,如图3所示,上述第二虚拟三维模型可以为游戏场景中的低面数植物模型,上述第一虚拟三维模型可以为游戏场景中的高面数植物模型,在3DSMAX软件界面中,可以在图3中的右上角位置设置虚拟光源31,虚拟光源发出平行光照射目标区域32,目标区域32中包含多个低面数植物模型33,通过照射在目标区域32的地面上投射产生阴影,得到阴影投射纹理。图4是根据本发明实施例的一种低面数植物模型的阴影投射纹理的示意图,如图4所示,低面数植物模型的阴影投射纹理41较为单薄,立体感较差。可以在3DSMAX软件界面中,使用虚拟光源照射高面数植物模型得到投射阴影,图5是根据本发明实施例的一种高面数植物模型的阴影投射纹理的示意图,如图5所示,高面数植物模型对光束的遮挡较为丰富,可以产生高精度阴影投射纹理51,将高精度阴影投射纹理51替换图4中的低面数植物模型的阴影投射纹理41,可以实现低面数植物模型具有较高精度的阴影投射纹理,提高了低面数植物模型的立体感。

本实施例中,获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,通过单独制作出具有高面片数的第一虚拟三维模型对应阴影投射纹理,并用于设置低面片数的第二虚拟三维模型,实现了在游戏场景中展现出低面片数的第二虚拟三维模型具有高精度阴影的视觉效果,增强了低面片数的第二虚拟三维模型的立体感,进而提高了游戏场景的视觉体验,解决了相关技术中面数较低的植物模型,阴影精度较低的技术问题。

在一种可选的实施例中,获取阴影投射纹理包括:获取与第二虚拟三维模型对应的第一虚拟三维模型;将第一虚拟三维模型和第二虚拟三维模型设置在目标区域内的目标位置上;控制虚拟光源从预设方向照射目标位置,得到阴影投射纹理。

上述第一虚拟三维模型为与第二虚拟三维模型结构相同,且面片数量更多的虚拟三维模型。需要说明的是,目标区域中可以设置多个第二虚拟三维模型,不同的第二虚拟三维模型可以具有不同的造型,获取的第一虚拟三维模型与原有的第二虚拟三维模型一一对应,并将获取的第一虚拟三维模型摆放于第二虚拟三维模型的原位置上(即目标位置)。

第一虚拟三维模型和第二虚拟三维模型可以同时放置于上述目标位置上,也可先放置第二虚拟三维模型,再放置第一虚拟三维模型,两者放置的顺序无限制。

在一种可选的实施例中,将第一虚拟三维模型和第二虚拟三维模型设置在目标区域内的目标位置上,包括:将第一虚拟三维模型和第二虚拟三维模型设置在目标区域内的同一位置上。

通过将第一虚拟三维模型和第二虚拟三维模型摆放于相同的位置上,使用同一虚拟光源进行照射,可以得到第一虚拟三维模型的阴影投射纹理,即得到具有更高精度的阴影,由于第一虚拟三维模型和对应的第二虚拟三维模型造型相同且处于相同的位置上,得到的阴影投射纹理可以适用于第二虚拟三维模型,不存在不匹配的问题。

例如,上述第二虚拟三维模型可以为游戏场景中的低面数植物模型,第一虚拟三维模型可以为游戏场景中的高面数植物模型,如图3所示,在3DSMAX软件界面中,目标区域中的多个低面数植物模型33表现为不同造型的植物,所获取到的高面数植物模型与原有的多个低面数植物模型33一一对应,在多个低面数植物模型33原位置处摆上具有相同造型的高面数植物模型,使用同一虚拟光源31进行照射,可以得到高面数植物模型的投射阴影,由于低面数植物模型与高面数植物模型的造型相同且摆放位置相同,所得到的高面数植物模型的投射阴影可用于低面数植物模型,以实现游戏场景中展现出低面数植物模型具有高精度阴影的效果。

在一种可选的实施例中,可以先制作出具有高面片数量的第一虚拟三维模型,通过拓扑减面等方法获得低面片数量的第二虚拟三维模型,第二虚拟三维模型仅是面片数量减少,但造型与第一虚拟三维模型相同。需要说明的是,由于很多引擎和游戏环境对虚拟三维模型的面片数量存在限制,尤其是同屏显示的面片数量由严格的限制,造型丰富的虚拟模型往往具有巨大数量的面片数,不能在游戏中直接使用,需要减少面片数后使用,保证游戏的性能。

作为一种可选的实施例,控制虚拟光源从预设方向照射目标位置,得到阴影投射纹理包括:控制虚拟光源从预设方向照射目标位置,确定第一虚拟三维模型中接收投射阴影的部分面片;对部分面片执行渲染到纹理操作,得到阴影投射纹理。

第一虚拟三维模型为具有较高面片数量的虚拟三维模型,由于具有较高面片数量,对虚拟光源照射的遮挡程度较为丰富,第一虚拟三维模型中一部分的面片可接收投影,对接收投射阴影的部分面片执行渲染到纹理操作,提取出阴影投射纹理。

图6是根据本发明实施例的一种渲染得到阴影投射纹理的示意图,如图6所示,第一虚拟三维模型可以为高面数植物模型,在3DSMAX软件的界面中,可以选中接收投射阴影的部分面片,执行渲染到纹理,通过添加元素CompleteMap(即完整贴图),可以实现将第一虚拟三维模型的阴影投射纹理烘焙提取出来。图7是根据本发明实施例的一种渲染得到阴影投射纹理的示意图,如图7所示,相比于低面数植物模型的阴影,烘焙提取得到高面数植物模型的阴影投射纹理的形态较为丰富,可用于设置低面数植物模型的阴影。

作为一种可选的实施例,虚拟三维模型的阴影处理方法还包括:调整第一虚拟三维模型的对象属性,以使第一虚拟三维模型在游戏场景中虚拟摄像机的视野范围内处于不可见状态。

上述虚拟摄像机用于确定虚拟三维模型的制作视角,即虚拟摄像机的视角与用户在游戏场景中看到的视角相同。在制作第二虚拟三维模型的映射阴影时,仅需要提取出第一虚拟三维模型的阴影投射纹理,并不需要在游戏场景中看到第一虚拟三维模型,通过调整第一虚拟三维模型的对象属性,以使第一虚拟三维模型对虚拟摄像机不可见。

例如,上述第二虚拟三维模型可以为游戏场景中的低面数植物模型,第一虚拟三维模型可以为游戏场景中的高面数植物模型,如图3所示,在3DSMAX软件界面中,目标区域中的多个低面数植物模型33表现为不同造型的植物,在多个低面数植物模型33原位置处摆上具有相同造型的高面数植物模型,使用同一虚拟光源31进行照射,可以得到高面数植物模型的投射阴影,图8是根据本发明实施例的一种调整第一虚拟三维模型的对象属性的示意图,如图8所示,高面数植物模型仅用于制作高精度的阴影投射纹理,并不需要在游戏场景中展示出高面数植物模型,可以对高面数植物模型进行属性设置,进入高面数植物模型的“对象属性”界面,取消选中“对摄影机可见”选项,“渲染控制”的其他选项保持不变,保证高面数植物模型可以正常投射阴影,虽然在3DSMAX软件界面中高面数植物模型和低面数植物模型位于同一位置,但是虚拟摄像机仅能看到低面数植物模型和高面数植物模型的阴影,实现了低面数植物模型可以具有高面数植物模型的阴影的效果。

作为一种可选的实施例,虚拟三维模型的阴影处理方法还包括:调整第二虚拟三维模型的对象属性,以取消第二虚拟三维模型在虚拟光源照射下产生的投射阴影。

在制作第二虚拟三维模型的映射阴影时,最终显示效果为第一虚拟三维模型的阴影投射纹理,并不需要显示第二虚拟三维模型实际的映射阴影,可通过调整第二虚拟三维模型的对象属性,取消第二虚拟三维模型在虚拟光源照射下产生的投射阴影。

例如,上述第二虚拟三维模型可以为游戏场景中的低面数植物模型,第一虚拟三维模型可以为游戏场景中的高面数植物模型,图9是根据本发明实施例的一种调整第二虚拟三维模型的对象属性的示意图,如图9所示,在3DSMAX软件界面中,由于已经获得了高面数植物模型的阴影投射纹理,作为低面数植物模型的投射阴影,可以通过对低面数植物模型的对象属性进行设置,具体的,进入低面数植物模型的“对象属性”界面,取消选中“投射阴影”选项,“渲染控制”的其他选项保持不变,以使低面数植物模型在游戏场景中虚拟摄像机的视野范围内处于可见状态,但不进行阴影的烘焙。

通过上述步骤,虚拟摄像机的视角中展示的为第二虚拟三维模型以及第一虚拟三维模型烘焙提取的投射阴影,而不对第二虚拟三维模型的阴影进行烘焙,且第一虚拟三维模型对虚拟摄像机不可见,实现了使用具有较高精度的第一虚拟三维模型的投射替换了较低精度的第二虚拟三维模型的阴影,增强了具有较低面片数量的第二虚拟三维模型的立体感。

作为一种可选的实施例,阴影投射纹理利用第一游戏引擎获得,并复用至第二游戏引擎。

上述第一游戏引擎可以用于制作高面片数量的第一虚拟三维模型,上述第二游戏引擎可用于制作低面片数量的虚拟三维模型。在一种可选的实施例中,上述第一游戏引擎可以为3DSMAX软件,第二游戏引擎可以为Neox、unity、unreal等制作环境中的任意一种。

需要说明的是,利用第一游戏引擎所得到的第一虚拟三维模型的阴影投射纹理,可以在第一游戏引擎自身中替换第二虚拟三维模型,例如,通过上述步骤将第一虚拟三维模型和第二虚拟三维模型放置同一目标位置,基于对第一虚拟三维模型设置取消对虚拟摄像机可见,以及对第二虚拟三维模型设置取消投射,实现在第一游戏引擎中使用第一虚拟三维模型的投射阴影替换了第二虚拟三维模型的阴影。利用第一游戏引擎所得到的第一虚拟三维模型的阴影烘焙提取出来后,在第二游戏引擎中替换第二虚拟三维模型的阴影,实现了改善多种游戏引擎中虚拟三维模型的立体视觉效果,可以适用于多种不同的游戏引擎。

由于大部分的游戏(特别是手游)对游戏的性能具有较高的要求,对模型的面片数量有较高的要求,比如,较高的面片数量,需要较高性能的游戏终端,可能导致终端运行的卡顿。通过在第一游戏引擎获得具有较高精度的阴影投射纹理,复用至第二游戏引擎中,可兼顾游戏的性能和场景的立体感效果,给玩家同时带来游戏性能和视觉效果的优质体验。

在一种可选的实施例中,上述第一虚拟三维模型可以为高面植物三维模型,在3DSMAX软件中制作出高面植物三维模型的阴影投射纹理,如图7所示,提取烘焙高面植物三维模型的阴影投射纹理出来后,在上述第二游戏引擎中替换低面植物三维模型的阴影,图10是根据本发明实施例的一种在游戏引擎中显示的阴影投射纹理的示意图,如图10所示,将图7中得到高面植物三维模型的阴影投射纹理复用至第二游戏引擎中,展示出精度较高的投射阴影,提高了第二游戏引擎中低面植物三维模型的立体感,实现了在第二游戏引擎的低面植物三维模型中制作出精度较高的阴影投射纹理,兼顾了游戏性能和场景的视觉体验。

在一种可选的实施例中,上述第二虚拟三维模型可以为游戏场景中的低面数植物模型,第一虚拟三维模型可以为游戏场景中的高面数植物模型,上述第一游戏引擎可以为3DSMAX软件,基于3DSMAX软件可以制作出低面数植物模型的高精度阴影,具体的,虚拟三维模型的阴影处理方法可以包括如下步骤:

S1,在3DSMAX软件界面中放置低面数植物模型,并在低面数植物模型的位置上摆放相同造型的高面数植物模型,其中,低面数植物模型可以通过对高面数植物模型拓扑减面等方法获得。

S2,设置高面数植物模型的对象属性,如图8所示,进入高面数植物模型的“对象属性”界面,取消选中“对摄影机可见”选项,实现取消高面数植物模型对3DSMAX软件的虚拟摄像机可见。

S3,设置低面数植物模型的对象属性,如图9所示,进入低面数植物模型的“对象属性”界面,取消低面数植物模型投射阴影。

S4,控制虚拟光源从预设方向照射高面数植物模型,得到高面数植物模型阴影投射纹理。

通过上述步骤,通过得到高面数植物模型阴影投射纹理,替换到低面数植物模型的阴影上,可以得到如图10所示的植物模型的阴影效果,一方面由于仍采用低面数植物模型,保证了游戏运行的性能,另一方面,由于使用高面数植物模型投射阴影替换了低面数植物模型的阴影,使得游戏场景展示了具有较强立体感的植物模型,提高了场景的视觉体验。

根据本发明实施例,提供了一种虚拟三维模型的阴影处理装置的实施例,图11是根据本发明实施例的一种虚拟三维模型的阴影处理装置的示意图,如图11所示,该装置包括:

获取模块1101,用于获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影;处理模块1102,用于将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,其中,第二虚拟三维模型与第一虚拟三维模型的造型相同,且第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量。

本实施例中,获取模块获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影,处理模块将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,通过单独制作出具有高面片数的第一虚拟三维模型对应阴影投射纹理,并用于设置低面片数的第二虚拟三维模型,实现了在游戏场景中展现出低面片数的第二虚拟三维模型具有高精度阴影的视觉效果,增强了低面片数的第二虚拟三维模型的立体感,进而提高了游戏场景的视觉体验,解决了相关技术中面数较低的植物模型,阴影精度较低的技术问题。

作为一种可选的实施例,上述获取模块还用于:获取与第二虚拟三维模型对应的第一虚拟三维模型;将第一虚拟三维模型和第二虚拟三维模型同时设置在目标区域内的目标位置上;控制虚拟光源从预设方向照射目标位置,得到阴影投射纹理。

作为一种可选的实施例,上述获取模块还用于:控制虚拟光源从预设方向照射目标位置,确定第一虚拟三维模型中接收投射阴影的部分面片;对部分面片执行渲染到纹理操作,得到阴影投射纹理。

作为一种可选的实施例,上述获取模块还用于:将所述第一虚拟三维模型和所述第二虚拟三维模型设置在所述目标区域内的同一位置上。

作为一种可选的实施例,虚拟三维模型的阴影处理装置还包括:第一调整模块,用于调整第一虚拟三维模型的对象属性,以使第一虚拟三维模型在游戏场景中虚拟摄像机的视野范围内处于不可见状态。

作为一种可选的实施例,虚拟三维模型的阴影处理装置还包括:第二调整模块,用于调整第二虚拟三维模型的对象属性,以取消第二虚拟三维模型在虚拟光源照射下产生的投射阴影。

作为一种可选的实施例,阴影投射纹理利用第一游戏引擎获得,并所复用至第二游戏引擎。

需要说明的是,本实施例的可选或优选实施方式可以参见方法实施例中的相关描述,此处不再赘述。

根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟三维模型的阴影处理方法。

计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影;将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,其中,第二虚拟三维模型与第一虚拟三维模型的造型相同,且第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的虚拟三维模型的阴影处理方法。

在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:获取阴影投射纹理,其中,阴影投射纹理是利用游戏场景中的虚拟光源照射目标区域内第一虚拟三维模型产生的投射阴影;将阴影投射纹理设置为目标区域内第二虚拟三维模型在虚拟光源照射下产生的投射阴影,其中,第二虚拟三维模型与第一虚拟三维模型的造型相同,且第二虚拟三维模型的面片数量低于第一虚拟三维模型的面片数量。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟三维模型的阴影处理方法。

上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:三维血管图像重建方法、系统、医疗设备以及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!