虚拟攻击道具的显示方法和装置、存储介质和电子设备

文档序号:1207253 发布日期:2020-09-04 浏览:15次 >En<

阅读说明:本技术 虚拟攻击道具的显示方法和装置、存储介质和电子设备 (Display method and device of virtual attack prop, storage medium and electronic equipment ) 是由 姚丽 于 2020-05-28 设计创作,主要内容包括:本发明公开了一种虚拟攻击道具的显示方法和装置、存储介质和电子设备,包括:在目标游戏应用中获取待渲染的目标虚拟攻击道具和目标虚拟攻击道具上的目标虚拟部件;获取目标虚拟攻击道具的第一材质以及目标虚拟部件的第二材质;在第一材质和第二材质为同一材质时,对目标虚拟攻击道具和目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件;在目标游戏应用中使用目标渲染组件对目标虚拟对象进行渲染,以在目标游戏应用中显示目标虚拟攻击道具和目标虚拟部件。采用上述技术方案,解决了相关技术中,在游戏运行过程中,武器及其部件在运行过程中存在性能消耗大的问题。(The invention discloses a display method and a device of a virtual attack prop, a storage medium and electronic equipment, wherein the display method comprises the following steps: acquiring a target virtual attack prop to be rendered and a target virtual component on the target virtual attack prop in a target game application; acquiring a first material of a target virtual attack prop and a second material of a target virtual component; when the first material and the second material are the same, carrying out batch operation on the target virtual attack prop and the target virtual component to obtain a target virtual object, and carrying out batch operation on the first rendering assembly and the second rendering assembly to obtain a target rendering assembly; the target virtual object is rendered in the target game application using a target rendering component to display the target virtual attack prop and the target virtual part in the target game application. By adopting the technical scheme, the problem that in the related art, weapons and parts thereof have high performance consumption in the running process of a game is solved.)

虚拟攻击道具的显示方法和装置、存储介质和电子设备

技术领域

本发明涉及计算机技术领域,具体而言,涉及一种虚拟攻击道具的显示方法和装置、存储介质和电子设备。

背景技术

在目前的移动端射击游戏中,随着大地图的制作以及人物的精细化设计,导致内存消耗越来越大,因此需要尽可能的对每一个细节进行优化,提升游戏的性能,而武器作为一个游戏的灵魂,也是玩家使用最频繁的一个元素,需要对武器及其配件在渲染上进行性能优化。

在游戏中每个部件,每把武器实际上是由网格渲染器(也可以称为组件)所渲染出来的,也就说每一个部件就会有一个材质,而每一个材质实际上就是一个性能消耗,由于武器和部件是在游戏中是动态组建的,虽然每一把武器和属于这把武器的部件引用的是同一个材质,但是在游戏中动态组合的时候还是会产生多个材质,导致了多个相同的材质的组件在游戏中运行,增加了性能消耗。

针对相关技术中,在游戏运行过程中,武器及其部件在运行过程中存在性能消耗大的问题,尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种虚拟攻击道具的显示方法和装置、存储介质和电子设备,以至少解决相关技术中,在游戏运行过程中,武器及其部件在运行过程中存在性能消耗大的技术问题。

根据本发明实施例的一个方面,提供了一种虚拟攻击道具的显示方法,包括:在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件;获取上述目标虚拟攻击道具的第一材质以及上述目标虚拟部件的第二材质;在上述第一材质和上述第二材质为同一材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,上述第一渲染组件用于对上述目标虚拟攻击道具进行渲染,上述第二渲染组件用于对上述目标虚拟部件进行渲染,上述目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,上述目标虚拟对象的材质为上述第一材质;在上述目标游戏应用中使用上述目标渲染组件对上述目标虚拟对象进行渲染,以在上述目标游戏应用中显示上述目标虚拟攻击道具和上述目标虚拟部件。

根据本发明实施例的另一方面,还提供了一种虚拟攻击道具的显示装置,包括:第一获取单元,用于在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件;第二获取单元,用于获取上述目标虚拟攻击道具的第一材质以及上述目标虚拟部件的第二材质;第一处理单元,用于在上述第一材质和上述第二材质为同一材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,上述第一渲染组件用于对上述目标虚拟攻击道具进行渲染,上述第二渲染组件用于对上述目标虚拟部件进行渲染,上述目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,上述目标虚拟对象的材质为上述第一材质;第二处理单元,用于在上述目标游戏应用中使用上述目标渲染组件对上述目标虚拟对象进行渲染,以在上述目标游戏应用中显示上述目标虚拟攻击道具和上述目标虚拟部件。

根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述虚拟攻击道具的显示方法。

根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述虚拟攻击道具的显示方法。

在本发明实施例中,在目标游戏应用中,首先,获取待渲染的目标虚拟攻击道具和目标虚拟攻击道具上的目标虚拟部件,并获取目标虚拟攻击道具的第一材质和目标虚拟部件的第二材质,如果第一材质和第二材质为同一材质,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,目标虚拟对象用于表示目标虚拟攻击道具和目标虚拟部件,目标虚拟对象的材质为第一材质,最后,在目标游戏应用中使用目标渲染组件对目标虚拟对象进行渲染,并在目标游戏应用中显示目标虚拟攻击道具和目标虚拟部件。通过上述合批操作的方式,得到目标渲染组件和目标虚拟对象,可以使用目标渲染组件对目标虚拟对象(目标虚拟攻击道具和目标虚拟部件)进行渲染,避免了使用多个组件对目标虚拟攻击道具和目标虚拟部件进行渲染,减少了性能消耗,提高了游戏运行的流畅度。

附图说明

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

图1是根据本发明实施例的一种虚拟攻击道具的显示方法的应用环境的示意图;

图2是根据本发明实施例的一种可选的虚拟攻击道具的显示方法的流程示意图;

图3是根据本发明实施例的一种可选的虚拟攻击道具的未进行合批操作的示意图;

图4是根据本发明实施例的一种可选的武器和部件的网格处理器的示意图;

图5是根据本发明实施例的一种可选的武器和部件的材质的示意图;

图6是根据本发明实施例的一种可选的合批操作处理结果的示意图;

图7是根据本发明实施例的一种可选的武器和部件的公用组件的示意图;

图8是根据本发明实施例的另一种可选的虚拟攻击道具的显示方法的流程示意图;

图9是根据本发明实施例的一种可选的已经加载过的武器在内存池中的示意图;

图10是根据本发明实施例的一种可选的脚本组件的示意图;

图11是根据本发明实施例的一种可选的新的对象的武器和部件的挂点信息的示意图;

图12是根据本发明实施例的一种可选的新的对象的武器和部件的位置的示意图;

图13是根据本发明实施例的一种可选的虚拟攻击道具的显示装置的结构示意图;

图14是根据本发明实施例的一种可选的电子设备的结构示意图。

具体实施方式

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

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

本发明实施例中涉及到的技术术语包括:

(1)移动端:一般指手机端,包含但不仅限于此的所有手持便携式游戏设备。

(2)手游:包含第一人称射击游戏、第三人称射击游戏等包含但不仅限于此的所有使用热兵器类进行远程攻击的游戏。

(3)动态合批(合批操作):把使用了相同材质的物体进行动态合批处理。

根据本发明实施例的一个方面,提供了一种虚拟道具的控制方法。可选地,上述虚拟道具的控制方法可以但不限于应用于如图1所示的应用环境中。如图1所示,第一终端设备102上运行有目标游戏应用的客户端(例如,Android、iOS或Web)。通过该客户端,游戏玩家可以进行网络游戏(如虚拟射击游戏),在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件,并通过网络将目标虚拟攻击道和目标虚拟部件发送至服务器104。服务器104可以是客户端的后台服务器。服务器104接收到目标虚拟攻击道和目标虚拟部件之后,获取上述目标虚拟攻击道具的第一材质以及上述目标虚拟部件的第二材质,在上述第一材质和上述第二材质为同一材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件、以及第一渲染组件和第二渲染组件进行合批操作,得到目标虚拟对象和目标渲染组件,其中,上述第一渲染组件用于对上述目标虚拟攻击道具进行渲染,上述第二渲染组件用于对上述目标虚拟部件进行渲染,上述目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,上述目标虚拟对象的材质为上述第一材质;服务器104通过网络将目标虚拟对象和目标渲染组件发送至第一终端设备102,第一终端设备102接收到目标虚拟对象和目标渲染组件之后,第一终端设备102在上述目标游戏应用中使用上述目标渲染组件对上述目标虚拟对象进行渲染,以在上述目标游戏应用中显示上述目标虚拟攻击道具和上述目标虚拟部件,并且对于第二终端设备106,还可以通过网络和服务器104与第一终端设备进行交互,例如,第一终端设备102对应的游戏玩家和第二终端设备106对应的游戏玩家在同一个游戏中通过竞技的形式进行交互等。以上仅为一种示例,本申请实施例在此不作限定。

需要说明的是,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

可选地,上述方法可以应用于各种涉及到虚拟攻击类游戏道具的使用场景中,如虚拟射击类武器等的场景中,本实施例在此不作任何限定。

可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述只是一种示例,本实施例对此不做任何限定。

可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由终端设备(例如,上述第一终端设备102)执行为例进行说明。如图2所示,上述虚拟道具的控制方法的流程可以包括步骤:

步骤S202,在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件。

可选地,对于目标游戏应用,可以为一种虚拟射击游戏,用户可以使用运行在终端上的客户端进行游戏。在进行虚拟射击游戏的过程中,需要获取待渲染的目标虚拟攻击道具和用来装配该目标虚拟攻击道具的目标虚拟部件,该目标虚拟部件可以为一个或多个虚拟部件,在此不作对虚拟部件的数量不作限定。

步骤S204,获取上述目标虚拟攻击道具的第一材质以及上述目标虚拟部件的第二材质。

可选地,在获取到目标虚拟攻击道具和目标虚拟部件之后,还需要获取目标虚拟攻击道具的第一材质,以及获取目标虚拟部件的第二材质。

步骤S206,在上述第一材质和上述第二材质为同一材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,上述第一渲染组件用于对上述目标虚拟攻击道具进行渲染,上述第二渲染组件用于对上述目标虚拟部件进行渲染,上述目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,上述目标虚拟对象的材质为上述第一材质。

可选地,判断第一材质和第二材质是否为同一种材质,在第一材质和第二材质为同一种材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,第一渲染组件用于对目标虚拟攻击道具进行渲染,第二渲染组件用于对目标虚拟部件进行渲染,目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,并且目标虚拟对象的材质和目标虚拟攻击道具的材质相同,均为第一材质。

需要说明的是,合批操作,即动态合批,可以理解为将使用了相同材质的物体进行动态和批处理。

步骤S208,在上述目标游戏应用中使用上述目标渲染组件对上述目标虚拟对象进行渲染,以在上述目标游戏应用中显示上述目标虚拟攻击道具和上述目标虚拟部件。

可选地,在得到目标虚拟对象和目标渲染组件之后,可以在目标游戏应用中使用目标渲染组件对目标虚拟对象进行渲染,并在目标游戏应用中显示上述目标虚拟攻击道具和目标虚拟部件。

通过本实施例,在目标游戏应用中,首先,获取待渲染的目标虚拟攻击道具和目标虚拟攻击道具上的目标虚拟部件,并获取目标虚拟攻击道具的第一材质和目标虚拟部件的第二材质,如果第一材质和第二材质为同一材质,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,目标虚拟对象用于表示目标虚拟攻击道具和目标虚拟部件,目标虚拟对象的材质为第一材质,最后,在目标游戏应用中使用目标渲染组件对目标虚拟对象进行渲染,并在目标游戏应用中显示目标虚拟攻击道具和目标虚拟部件。通过上述合批操作的方式,得到目标渲染组件和目标虚拟对象,可以使用目标渲染组件对目标虚拟对象(目标虚拟攻击道具和目标虚拟部件)进行渲染,避免了使用多个组件对目标虚拟攻击道具和目标虚拟部件进行渲染,减少了性能消耗,提高了游戏运行的流畅度。

可选地,在本实施例中,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,包括:将上述目标虚拟攻击道具和上述目标虚拟部件进行合成,得到上述目标虚拟对象;为上述目标虚拟对象生成上述目标渲染组件,其中,上述目标渲染组件用于对上述目标虚拟对象进行渲染;将上述第一渲染组件以及上述第二渲染组件进行删除。

可选地,可以按照以下方式实现合批操作,得到目标虚拟对象和目标渲染组件,具体过程如下:

将目标虚拟攻击道具和目标虚拟部件进行合成,得到目标虚拟对象,然后为该目标虚拟对象生成目标渲染组件,并将第一渲染组件和第二渲染组件进行删除。或者,还可以先删除第一渲染组件和第二渲染组件,然后再为该目标虚拟对象生成目标渲染组件。

需要说明的是,生成的上述目标渲染组件(如数量为1)可以同时对用于表示目标虚拟攻击道具和目标虚拟部件的目标对象进行渲染,能够减少渲染组件的个数,减少了性能消耗。

通过本实施例,可以通过上述方式生成目标渲染组件,由于生成的上述目标渲染组件可以同时对用于表示目标虚拟攻击道具和目标虚拟部件的目标对象进行渲染,减少了渲染组件的个数,减少了性能消耗,提高了游戏性能。

可选地,在本实施例中,上述将上述目标虚拟攻击道具和上述目标虚拟部件进行合成,得到上述目标虚拟对象,包括:将上述目标虚拟攻击道具和上述目标虚拟部件进行拼接,得到拼接后的上述目标虚拟对象。

可选地,可以通过将目标虚拟攻击道具和目标虚拟部件进行拼接的方式,来得到拼接后的目标虚拟对象,可理解,上述仅为一种示例,本实施例在此不作任何限定。

可选地,在本实施例中,上述在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件,包括:在上述目标虚拟攻击道具和上述目标虚拟部件未在目标终端的内存中加载过的情况下,从上述目标终端的数据库获取上述目标虚拟攻击道具和上述目标虚拟部件;或者在上述目标虚拟攻击道具和上述目标虚拟部件曾经在上述目标终端的内存中加载过的情况下,从上述目标终端的上述内存中获取上述目标虚拟攻击道具和上述目标虚拟部件。

可选地,如果目标虚拟攻击道具和上述目标虚拟部件从未在目标终端的内存中加载过的情况下,可以从目标终端的数据库或者目标终端对应的服务器获取目标虚拟攻击道具和上述目标虚拟部件,并在目标终端中加载该目标虚拟攻击道具和上述目标虚拟部件。或者

如果目标虚拟攻击道具和上述目标虚拟部件曾经在上述目标终端的内存中加载过的情况下,可以从上述目标终端的上述内存中直接获取上述目标虚拟攻击道具和上述目标虚拟部件,节省加载时间。

通过本实施例,能够通过不同的方式加载目标虚拟攻击道具和目标虚拟部件,提高了加载方式的灵活性。

可选地,在本实施例中,在上述目标虚拟攻击道具和上述目标虚拟部件未在目标终端的内存中加载过的情况下,从上述目标终端的数据库获取上述目标虚拟攻击道具和上述目标虚拟部件包括:从上述目标终端的数据库获取上述目标虚拟攻击道具;在上述目标虚拟攻击道具获取完成的情况下,从上述目标终端的数据库获取上述目标虚拟部件。

可选地,由于加载一个新的虚拟攻击道具(武器)的加载过程耗时较长,可以先加载武器,再加载部件。

例如,如果目标虚拟攻击道具和上述目标虚拟部件未在目标终端的内存中加载过的情况下,可以从目标终端的数据库获取上述目标虚拟攻击道具,并优先加载该目标虚拟攻击道具,在上述目标虚拟攻击道具获取完成的情况下,从上述目标终端的数据库获取上述目标虚拟部件,然后加载目标虚拟部件。

通过本实施例,可以按照顺序加载目标虚拟攻击道具和目标虚拟部件,提高了加载的速度。

可选地,在本实施例中,在上述目标虚拟攻击道具和上述目标虚拟部件未在目标终端的内存中加载过的情况下,上述方法还包括:加载预先配置的脚本,其中,上述预先配置的脚本用于配置上述目标虚拟攻击道具和上述目标虚拟部件。

可选地,在上述目标虚拟攻击道具和上述目标虚拟部件未在目标终端的内存中加载过的情况下,还需要加载预先配置的脚本,其中,上述预先配置的脚本用于配置上述目标虚拟攻击道具和上述目标虚拟部件。

也就是说,在加载武器时候不仅仅只是加载目标虚拟攻击道具(武器)的模型,还需要将脚本进行动态加载,至于加载哪个脚本是由配置决定的,这样就能方便的修改任意的武器及其关联的脚本组件。

通过本实施例,通过加载脚本,可以灵活的配置目标虚拟攻击道具和目标虚拟部件,提高了游戏配置的灵活性。

可选地,在本实施例中,上述对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,包括:在确定上述目标虚拟攻击道具和上述目标虚拟部件满足进行上述合批操作的预设条件的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件,其中,上述预设条件用于确定上述目标虚拟攻击道具和上述目标虚拟部件所包含的信息是否在上述预设条件所设置的范围内。

可选地,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,以及对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件时,还需要确定目标虚拟攻击道具和目标虚拟部件是否符合进行合批操作的预设条件,在满足的情况下,可以对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件,其中,上述预设条件用于确定上述目标虚拟攻击道具和上述目标虚拟部件所包含的信息是否在上述预设条件所设置的范围内。

可理解,以上仅为一种示例,本实施例在此不作任何限定。

通过本实施例,由于动态合批处理动态的目标虚拟攻击道具和目标虚拟部件,会产生和一定的开销,可以通过设置预设条件对合批操作进行限制,使合批操作更加合理,提高了合批操作的合理性。

可选地,在本实施例中,上述在确定上述目标虚拟攻击道具和上述目标虚拟部件满足进行上述合批操作的预设条件的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件,包括:在确定上述目标虚拟攻击道具包含的第一顶点的数量和上述目标虚拟部件包含的第二顶点的数量之和未超过第一预设阈值的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件;和/或,在确定上述目标虚拟攻击道具包含的第一网格的第三顶点的数量和上述目标虚拟部件的第二网格的第四顶点的数量之和未超过第二预设阈值的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件;其中,上述第一网格和上述第二网格均包括多个三角面,上述第一顶点、上述第二顶点、上述第三顶点和上述第四顶点均为上述多个三角面的顶点。

可选地,上述网格可以理解为由多个三角面构成,其中,三角面为单面显示,背面无法看到,三角面显示的面的顶点即为上述第一顶点、上述第二顶点、上述第三顶点和上述第四顶点。

可选地,如果上述目标虚拟攻击道具包含的第一顶点的数量和上述目标虚拟部件包含的第二顶点的数量之和未超过第一预设阈值(如不超过900个顶点),可以对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件;和/或,

如果上述目标虚拟攻击道具包含的第一网格的第三顶点的数量和上述目标虚拟部件的第二网格的第四顶点的数量之和未超过第二预设阈值(如不超过300个顶点),可以对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件。

需要说明的是,unity3D是由unity Technologies开发创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合性游戏开发工具,是一个全面整合的专业游戏引擎,是一种三维动画渲染和制作软件。在unity3D中分为有静态合批和动态合批,静态合批是将静态(不移动)GameObjects组合成大网格,然后进行绘制。静态合批使用比较简单,PlayerSettings中开启static batching,然后对需要静态合批物体的Static打钩即可,unity3D会自动合并被标记为static的对象,前提它们共享相同的材质,并且不移动,被标记为static的物体不能在游戏中移动,旋转或缩放。但是静态批处理需要额外的内存来存储合并的几何体。如果多个GameObject在静态批处理之前共享相同的几何体,则会在编辑器或运行时为每个GameObject创建几何体的副本,这会增大内存的开销。例如,在密集的森林级别将树标记为静态可能会产生严重的内存影响。此时就必须去权衡利弊,为了更少的内存占用,可能需要避免某些GameObjects的静态批处理,尽管这必须要牺牲一定的渲染性能。

但是。武器和部件都是可移动并且可选择,最重要的是武器和部件都是动态生成和动态组合的,因而不能使用静态合批的方式处理。那么只能用动态合批,本来unity是自带有动态合批的功能,但是动态合批处理动态的GameObjects的每个顶点都有一定的开销,因此动态合批处理仅应用于包含不超过900个顶点和不超过300个顶点的网格。因此,只能通过写逻辑的方式来处理武器的动态合批。

如图3所示,为武器(如上述目标虚拟攻击道具)和武器的部件(如上述目标虚拟部件)未进行动态合批处理前的情况。

如图4所示,左边是该武器下拥有的部件,右边是这些部件所挂的网格处理器组件,而武器上面也有网格处理器组件。

如图5所示,武器所持有的部件的材质是一样的,且武器所持有的部件的材质和武器的材质相同。

如图6所示,可以对武器和部件进行合批操作,当合批后部件和武器身上挂的网格处理器全部被删除。

如图7所示,通过上述合批操作,可以生成新的一个武器和部件的公用组件。通过这种方式就可以把每把武器下的所有部件的网格处理器删掉,减少渲染,达到优化的目的。

需要说明的是,对于一些动态组合的对象如果没有进行合批处理,比如说武器和部件,因为每一把武器要装多少部件这些是根据配置文件动态的实时生成和组合的,因此不是一开始就把武器和其所属的配件做成一个模型上面,但是他们用的都是一样的材质,会造成多个相同的材质组件在运行。增加了游戏的性能损耗。

为了解决上述问题,下面结合可选示例对虚拟攻击道具的显示方法的流程进行说明。如图8所示,具体步骤如下:

步骤801,游戏开始,判断玩家是否获得新的武器。

步骤802,每次玩家获得新的武器都会重新加载,如果获得是之前已经加载过的武器则不需要重新加载。如果是一把新的武器,则开始加载资源,先加载武器再加载部件,当资源都加载完毕后开始下一步。

如图9所示,之前加载过的武器会在内存池中保存,且不会被销毁。通过这种方式,可以在下次使用的时候能够快速显示之前加载过的武器和部件。

如果是一把新的武器,则开始加载资源,先加载武器再加载部件,当资源都加载完毕后开始下一步,武器的加载是一个非常耗时的过程,在加载的时候不仅仅只是加载武器的模型,还需要连脚本同时动态加载上去,至于加载哪个脚本是由配置决定的,这样就能方便的修改任意的武器及其关联的脚本组件。如图10所示,为加载脚本组件。

步骤803,在武器和部件加载完毕时,判断武器和部件是否需要合批,需要由配置决定,并非一定要合批,因为合批会产生一定的损耗,如果损耗过大就不会合批。

步骤804,如果当前武器需要合批,则判断其下部件所有材质是否跟武器使用一样的材质,如果是则开始进行合批操作,把相同的材质和组件删掉,生成一个合批后的组件和材质,这个生成的对象是一个新的对象,如图11所示,在新的对象上面会有所有武器和部件的挂点信息。

如图12所示,新的对象存储了每一个部件的位置,可以通过下标来获取每一个部件。这上面一共有四个元素,代表武器和3个部件,一个下标对应一个武器或部件,通过下标即可对每一个元素进行操作。

通过本实施例,通过对属于同一把武器下面的部件进行合批处理,使得所有跟其武器公用一个材质组件,减少性能损耗,提高了游戏的运行性能。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

根据本发明实施例的又一方面,还提供了一种虚拟攻击道具的显示装置,如图13所示,该装置包括:

第一获取单元1302,用于在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件;

第二获取单元1304,用于获取上述目标虚拟攻击道具的第一材质以及上述目标虚拟部件的第二材质;

第一处理单元1306,用于在上述第一材质和上述第二材质为同一材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,上述第一渲染组件用于对上述目标虚拟攻击道具进行渲染,上述第二渲染组件用于对上述目标虚拟部件进行渲染,上述目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,上述目标虚拟对象的材质为上述第一材质;

第二处理单元1308,用于在上述目标游戏应用中使用上述目标渲染组件对上述目标虚拟对象进行渲染,以在上述目标游戏应用中显示上述目标虚拟攻击道具和上述目标虚拟部件。

通过本实施例,在目标游戏应用中,首先,获取待渲染的目标虚拟攻击道具和目标虚拟攻击道具上的目标虚拟部件,并获取目标虚拟攻击道具的第一材质和目标虚拟部件的第二材质,如果第一材质和第二材质为同一材质,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,目标虚拟对象用于表示目标虚拟攻击道具和目标虚拟部件,目标虚拟对象的材质为第一材质,最后,在目标游戏应用中使用目标渲染组件对目标虚拟对象进行渲染,并在目标游戏应用中显示目标虚拟攻击道具和目标虚拟部件。通过上述合批操作的方式,得到目标渲染组件和目标虚拟对象,可以使用目标渲染组件对目标虚拟对象(目标虚拟攻击道具和目标虚拟部件)进行渲染,避免了使用多个组件对目标虚拟攻击道具和目标虚拟部件进行渲染,减少了性能消耗,提高了游戏运行的流畅度。

作为一种可选的技术方案,上述第一处理单元,包括:

合成模块,用于将上述目标虚拟攻击道具和上述目标虚拟部件进行合成,得到上述目标虚拟对象;

生成模块,用于为上述目标虚拟对象生成上述目标渲染组件,其中,上述目标渲染组件用于对上述目标虚拟对象进行渲染;

删除模块,用于将上述第一渲染组件和上述第二渲染组件进行删除。

作为一种可选的技术方案,上述合成模块,还用于将上述目标虚拟攻击道具和上述目标虚拟部件进行拼接,得到拼接后的上述目标虚拟对象。

作为一种可选的技术方案,上述第一获取单元,包括:

第一获取模块,用于在上述目标虚拟攻击道具和上述目标虚拟部件未在目标终端的内存中加载过的情况下,从上述目标终端的数据库获取上述目标虚拟攻击道具和上述目标虚拟部件;或者

第二获取模块,用于在上述目标虚拟攻击道具和上述目标虚拟部件曾经在上述目标终端的内存中加载过的情况下,从上述目标终端的上述内存中获取上述目标虚拟攻击道具和上述目标虚拟部件。

作为一种可选的技术方案,上述第一获取模块,还用于从上述目标终端的数据库获取上述目标虚拟攻击道具;在上述目标虚拟攻击道具获取完成的情况下,从上述目标终端的数据库获取上述目标虚拟部件。

作为一种可选的技术方案,上述装置还包括:

加载模块,用于加载预先配置的脚本,其中,上述预先配置的脚本用于配置上述目标虚拟攻击道具和上述目标虚拟部件。

作为一种可选的技术方案,上述第一处理单元,还用于在确定上述目标虚拟攻击道具和上述目标虚拟部件满足进行上述合批操作的预设条件的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件,其中,上述预设条件用于确定上述目标虚拟攻击道具和上述目标虚拟部件所包含的信息是否在上述预设条件所设置的范围内。

作为一种可选的技术方案,上述第一处理模块,用于在确定上述目标虚拟攻击道具包含的第一顶点的数量和上述目标虚拟部件包含的第二顶点的数量之和未超过第一预设阈值的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件;和/或

第二处理模块,用于在确定上述目标虚拟攻击道具包含的第一网格的第三顶点的数量和上述目标虚拟部件的第二网格的第四顶点的数量之和未超过第二预设阈值的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到上述目标虚拟对象,对上述第一渲染组件和上述第二渲染组件进行上述合批操作得到上述目标渲染组件;

其中,上述第一网格和上述第二网格均包括多个三角面,上述第一顶点、上述第二顶点、上述第三顶点和上述第四顶点均为上述多个三角面的顶点。

根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件;

S2,获取上述目标虚拟攻击道具的第一材质以及上述目标虚拟部件的第二材质;

S3,在上述第一材质和上述第二材质为同一材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,上述第一渲染组件用于对上述目标虚拟攻击道具进行渲染,上述第二渲染组件用于对上述目标虚拟部件进行渲染,上述目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,上述目标虚拟对象的材质为上述第一材质;

S4,在上述目标游戏应用中使用上述目标渲染组件对上述目标虚拟对象进行渲染,以在上述目标游戏应用中显示上述目标虚拟攻击道具和上述目标虚拟部件。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来命令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。

根据本发明实施例的又一个方面,还提供了一种用于实施上述虚拟攻击道具的显示方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端设备为例来说明。如图14所示,该电子设备包括存储器1402和处理器1404,该存储器1402中存储有计算机程序,该处理器1404被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,在目标游戏应用中获取待渲染的目标虚拟攻击道具和上述目标虚拟攻击道具上的目标虚拟部件;

S2,获取上述目标虚拟攻击道具的第一材质以及上述目标虚拟部件的第二材质;

S3,在上述第一材质和上述第二材质为同一材质的情况下,对上述目标虚拟攻击道具和上述目标虚拟部件进行合批操作得到目标虚拟对象,对第一渲染组件和第二渲染组件进行合批操作得到目标渲染组件,其中,上述第一渲染组件用于对上述目标虚拟攻击道具进行渲染,上述第二渲染组件用于对上述目标虚拟部件进行渲染,上述目标虚拟对象用于表示上述目标虚拟攻击道具和上述目标虚拟部件,上述目标虚拟对象的材质为上述第一材质;

S4,在上述目标游戏应用中使用上述目标渲染组件对上述目标虚拟对象进行渲染,以在上述目标游戏应用中显示上述目标虚拟攻击道具和上述目标虚拟部件。

可选地,本领域普通技术人员可以理解,图14所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图14中所示更多或者更少的组件(如网络接口等),或者具有与图14所示不同的配置。

其中,存储器1402可用于存储软件程序以及模块,如本发明实施例中的虚拟攻击道具的显示方法和装置对应的程序命令/模块,处理器1404通过运行存储在存储器1402内的软件程序以及模块,从而执行各种功能应用以及虚拟攻击道具的显示,即实现上述的虚拟攻击道具的显示方法。存储器1402可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1402可进一步包括相对于处理器1404远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,如图14所示,上述存储器1402中可以但不限于包括上述虚拟攻击道具的显示装置中的第一获取单元1302、第二获取单元1304、第一处理单元1306、第二处理单元1308。此外,还可以包括但不限于上述虚拟攻击道具的显示装置中的其他模块单元,本示例中不再赘述。

可选地,上述的传输装置1406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1406包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1406为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子设备还包括:显示器1408,用于显示上述目标虚拟攻击道具和上述目标虚拟部件;和连接总线1410,用于连接上述电子设备中的各个模块部件。

在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来命令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

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

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干命令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。

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

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

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

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

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

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息处理方法及装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类