CN110874812A - 游戏中的场景图像绘制方法、装置及电子终端 - Google Patents
游戏中的场景图像绘制方法、装置及电子终端 Download PDFInfo
- Publication number
- CN110874812A CN110874812A CN201911124392.1A CN201911124392A CN110874812A CN 110874812 A CN110874812 A CN 110874812A CN 201911124392 A CN201911124392 A CN 201911124392A CN 110874812 A CN110874812 A CN 110874812A
- Authority
- CN
- China
- Prior art keywords
- image
- unit
- game
- target
- units
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000009877 rendering Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 14
- 238000012545 processing Methods 0.000 description 22
- 230000000007 visual effect Effects 0.000 description 14
- 230000000903 blocking effect Effects 0.000 description 11
- 230000008030 elimination Effects 0.000 description 9
- 238000003379 elimination reaction Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 241000209504 Poaceae Species 0.000 description 1
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种游戏中的场景图像绘制方法、装置及电子终端,该方法首先根据的虚拟角色确定至少一个目标地块,然后加载目标地块和对应的目标图像单位,并保存图像单位到图像单位原型管理器。其中图像单位原型管理器用于存储每种图像单位的模型参数。再对目标地块和对应的目标图像单位进行初始化,并对初始化后的图像单位进行剔除处理。最后根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制。该方法在图像单位的剔除处理过程中减少了计算量,降低了游戏设备的负荷,并实现了剔除过程的异步计算,提升了游戏的流程度。
Description
技术领域
本发明涉及计算机程序开发技术领域,尤其是涉及一种游戏中的场景图像绘制方法、装置及电子终端。
背景技术
当前以Unity引擎开发的Unity游戏逐渐成为行业主流,游戏的渲染效果也更加逼真。随着游戏画质的提升,游戏场景图像的绘制压力也在增大。在Unity游戏中,过多的场景图像绘制会使得游戏设备产生大量负荷,限制游戏画面的刷新率,严重时会导致游戏卡顿,使得用户体验下降。
发明内容
本发明的目的在于提供一种游戏中的场景图像绘制方法、装置及电子终端,以减少场景图像较多时对游戏设备带来的性能压力,提升Unity游戏的流畅度。
第一方面,本发明实施例提供了一种游戏中的场景图像绘制方法,通过终端设备提供图形用户界面,图形用户界面包括游戏画面,游戏画面中包括虚拟角色,包括:根据虚拟角色确定至少一个目标地块;加载目标地块和对应的目标图像单位,并保存图像单位到图像单位原型管理器;其中,图像单位原型管理器用于存储每种图像单位的模型参数;对目标地块和对应的目标图像单位进行初始化;对初始化后的图像单位进行剔除处理;根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,对目标地块和对应的目标图像单位进行初始化的步骤包括:将场景图像中的每个地块和图像单位划分为多个单位格;利用多线程或协程技术对每个单位格内的图像单位进行初始化。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,对初始化后的图像单位进行剔除处理的步骤包括:获取游戏画面对应的虚拟相机的当前相机方位信息;根据每个目标地块的地块方位信息和当前相机方位信息确定目标地块和虚拟相机的间距;确定满足第一预设值的间距所对应的目标地块为待剔除目标地块;剔除待剔除目标地块所对应的图像单位。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,每个地块均包括多个单位格;剔除待剔除目标地块所对应的内的图像单位的步骤之后,还包括:根据待剔除目标地块之外的每个目标地块中每个单位格的单位格方位信息和当前相机方位信息,确定每个单位格与虚拟相机的间距;确定满足第二预设值的第二间距所对应的单位格为待剔除单位格;剔除待剔除单位格所对应的图像单位。
结合第一方面的第二种可能的实施方式或第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,对初始化后的图像单位进行剔除处理的步骤还包括:在未被剔除的图像单位中,查找位于预设视锥范围之外或超出预设视距的图像单位;剔除查找到的图像单位。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,每个地块均包括多个单位格;剔除待剔除目标地块所对应的内的图像单位的步骤之后,还包括:在待剔除目标地块之外的每个目标地块中,查找位于预设视锥范围之外或超出预设视距的图像单位;剔除查找到的图像单位。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在未被剔除的图像单位中,查找位于预设视锥范围之外或超出预设视距的图像单位的步骤之前,还包括:根据图像单位的每个种类,在图像单位原型管理器中分别形成多个剔除队列。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制的步骤包括:根据图像单位原型管理器中存储的每种图像单位的模型参数,遍历未被剔除的图像单位;利用游戏的图像绘制函数接口,基于遍历结果对未被剔除的图像单位进行渲染绘制。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第八种可能的实施方式,其中,图像单位的模型参数包括多细节层次LOD参数;利用游戏的图像绘制函数接口,基于遍历结果对未被剔除的图像单位进行渲染绘制的步骤包括:将遍历结果中的相同类型的图像单位的同一LOD层次的模型作为一个图像单位组;每个图像单位组调用游戏的图像绘制函数接口,通过图像绘制函数接口对每个图像单位组进行一次渲染绘制。
结合第一方面的第一至八种可能的实施方式,本发明实施例提供了第一方面的第九种可能的实施方式,其中,图像单位为植被单位。
第二方面,本发明实施例还提供一种游戏中的场景图像绘制装置,其中,该装置通过终端设备提供图形用户界面,图形用户界面包括游戏画面,游戏画面中包括虚拟角色,包括:目标地块确定模块,用于根据的虚拟角色确定至少一个目标地块;
图像单位加载模块,用于加载目标地块和对应的目标图像单位,并保存图像单位到图像单位原型管理器;其中,图像单位原型管理器用于存储每种图像单位的模型参数;
初始化模块,用于对目标地块和对应的目标图像单位进行初始化;
图像单位剔除模块,用于对初始化后的图像单位进行剔除处理;
渲染模块,用于根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制。
第三方面,本发明实施例还提供一种电子终端,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,该处理器执行计算机程序时实现第一方面中任一种实施方式中的方法的步骤。
第四方面,本发明实施例还一种具有处理器可执行的非易失的程序代码的计算机可读介质,该程序代码使处理器执行第一方面中任一种实施方式中的方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例了一种游戏中的场景图像绘制方法、装置及电子终端,通过终端设备提供图形用户界面,图形用户界面包括游戏画面,游戏画面中包括虚拟角色,在该方法中,首先根据的虚拟角色确定至少一个目标地块,然后加载目标地块和对应的目标图像单位,并保存图像单位到图像单位原型管理器。其中图像单位原型管理器用于存储每种图像单位的模型参数。再对目标地块和对应的目标图像单位进行初始化,并对初始化后的图像单位进行剔除处理。最后根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制。该方法在图像单位的剔除处理过程中可大幅度减少了无用的图像单位的渲染,减少了CPU以及GPU的运算压力,降低了游戏设备的负荷,并在初始化过程以及剔除过程中实现了数据的异步非阻塞式的处理效果,降低了游戏绘制时的卡顿,提升了游戏的流程度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的游戏中的场景图像绘制方法流程图;
图2为本发明实施例提供的游戏中的场景图像绘制方法中,对目标地块和对应的目标图像单位进行初始化过程的流程图;
图3为本发明实施例提供的游戏中的场景图像绘制方法中,对初始化后的图像单位进行剔除处理的流程图;
图4为本发明实施例提供的游戏中的场景图像绘制方法中,根据图像单位原型管理器中存储的每种图像单位的模型参数对未被剔除的图像单位进行渲染绘制的流程图;
图5为本发明实施例提供的游戏中的场景图像绘制方法中,对视角以外的图像单位进行剔除处理的流程图;
图6为本发明实施例提供的游戏中的场景图像绘制方法中,另一种根据图像单位原型管理器中存储的每种图像单位的模型参数对未被剔除的图像单位进行渲染绘制的流程图;
图7为本发明实施例提供的游戏中的场景图像绘制方法中,根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制的流程图;
图8为本发明实施例提供的游戏中的场景图像绘制方法中,对未被剔除的图像单位进行渲染绘制的流程图;
图9为本发明实施例提供的一种游戏中的场景图像绘制装置结构示意图;
图10为本发明实施例提供的一种电子终端的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以Unity引擎开发的Unity游戏是当前PC游戏以及手机游戏的主流游戏系列,例如当前流行的大型游戏很多都是以Unity 3D引擎开发的,通过Unity引擎中包含的各种图形处理的算法,可方便的开发出视觉效果震撼的游戏。
在Unity游戏中,对于大面积植被进行渲染时通常采用以下两种方案:第一种方案是使用地形系统中的植被系统,设置可能用到的植被原型后将其绘制在地表中;第二种方案是使用大量的单个Unity对象进行集合。但以上两种方式都会对游戏设备带来很大的计算压力,常常对游戏设备的CPU(Central Processing Unit,中央处理器)带来严重的性能问题,而且GPU(Graphics Processing Unit,图形处理器)通常也承担较大的计算压力。
综上所述,考虑到现有在Unity游戏中,过多的场景图像绘制会使得游戏设备产生大量负荷使得游戏卡顿,导致用户体验下降的问题,本发明的目的在于提供一种游戏中的场景图像绘制方法、装置及电子终端,该技术采用相关软件或硬件来实现,下面通过实施例进行描述。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种游戏中的场景图像绘制方法进行详细介绍,该方法通过终端设备提供图形用户界面,该图形用户界面包括游戏画面,游戏画面中包括虚拟角色。具体的,该方法流程图如图1所示,包括以下步骤:
步骤S102,根据虚拟角色确定至少一个目标地块。
虚拟角色是指游戏中的玩家操控的人物,虚拟角色的个数并不固定,在第一人称视角类游戏中的虚拟角色通常是一个;而在操纵多人物的军团类游戏中,虚拟角色为多个。
目标地块是指需要渲染的游戏场景图像,具体的,游戏中的场景图像包括背景图像、人物图像以及其它图像,具体的,背景图像根据游戏种类的不同可以为植被、岩石、云彩等自然背景,也可以为空白背景。人物图像可根据人物身份的不同对应着各自的图像,例如法师、骑兵、士兵等,这些人物图像的形象是不同的。其它图像可以是游戏过程中随机产生的,例如游戏时的特效、游戏过程中的数值显示等。可见,场景图像均是由独立的图像单位组合而成,这些图像单位可为一棵草、一块石头、一个士兵等。
目标地块是根据虚拟角色的所在位置来确定,具体的说可通过判断虚拟角色是否位于目标地块坐标内来判断。当在一些场景中需要更多的目标地块时,可通过设置较远的距离阈值,根据该阈值来获取虚拟角色所在的位置周围的多个目标地块。
步骤S104,加载目标地块和对应的目标图像单位,并保存图像单位到图像单位原型管理器。
图像单位原型管理器用于存储每种图像单位的模型参数。由于游戏场景非常复杂,因此需要将游戏场景划分成若干个地块,有利于提升游戏场景的加载速度。在每个地块中包含着若干图像单位,由于图像单位均是单独绘制的,不同的图像单位对应的模型参数也是不同的,这些模型参数存储在图像单位原型管理器中。图像单位原型管理器在场景图像绘制时记录着每种图像单位的模型参数,目的是方便在不同地块中绘制相同的图像单位时可一次性绘制出来。
步骤S106,对目标地块和对应的目标图像单位进行初始化。
初始化的过程首先获取场景图像中每个地块的图像单位,然后根据需求对图像单位的属性进行初始赋值或相关计算。由于划分的地块较多,而且每个地块中的图像单位也较多,因此在初始化的过程中使用异步非阻塞的方式进行,可缓解由于图像单位加载数量较多导致的游戏画面卡顿。
初始化过程中得到的相关计算结果,保存在设备的数据缓冲区中,用于后续的图像绘制。
步骤S108,对初始化后的图像单位进行剔除处理。
该步骤中提到的剔除处理,是在GPU对图像单位进行渲染绘制之前,通过计算将游戏中认为看不到的或者不重要的图像单位排除到渲染队列的过程。通过剔除处理,可减少不必要的图像加载,降低了GPU的渲染压力。上述剔除处理并不是真正意义上的剔除操作,而是一种确认或是标记操作,目的是为了在渲染时不渲染这些“剔除”的地块,但地块的数据仍然是加载在内存中的。
游戏中玩家的视角通常只是游戏场景中的很小一部分,因此在该步骤中根据计算游戏玩家与各个地块中心的距离,通过预先设定的阈值来决定需要剔除的地块。例如某游戏的全部游戏场景分成了3×3共9个地块,而此时游戏玩家走到最中间的地块并靠近该地块的中心,如果此时达周围8个地块的中心与游戏玩家的距离都达到设定的阈值,则剔除周围8个地块中的所有图像单位。在另一实施方式中,也可以根据计算游戏玩家与各个地块最近点的距离,判断是否需要剔除每个地块内的图像单位。
在图像单位的剔除处理时需要遍历所有需要剔除的图像单位,然后执行剔除计算,这个过程采用异步非阻塞的方式来实现。异步非阻塞的实现过程可使用多线程来实现,通过在子线程中实现图像的剔除处理,保证了游戏主线程持续运行,减少由于剔除处理造成的游戏卡顿。
在剔除的过程中,将不同种类的图像单位,分别通过图像单位原型管理器进行分类,形成对应的剔除队列。通过得到的剔除队列可对不同种类的图像单位进行组合删除,进一步提升剔除的效率。
步骤S110,根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制。
在步骤S108中将图像单位进行了剔除处理,而未被剔除的图像单位则需要进行渲染绘制。绘制的过程利用到步骤S106中初始化过程结果,通过调用已存入到设备数据缓冲区中的初始化结果,并使用图像单位原型管理器来进行渲染绘制。由于图像单位原型管理器中存储着每种图像单位的模型参数,使得在不同地块中相同图像单位可一次性绘制出来,避免了多次绘制造成的对GPU的运算压力,因此降低了绘制过程中的对游戏设备的资源消耗。
本实施例提供的游戏中的场景图像绘制方法中,通过对游戏场景进行分块,提高了场景加载速度和游戏画面的刷新率,并根据剔除处理降低了图像单位的加载数目,降低了游戏设备的渲染压力。上述过程运用异步非阻塞的多线程方式进行处理,实现了不同地块中相同图像单位的一次性绘制,使得整体场景图像的绘制过程中的卡顿现象得到缓解,提升了游戏流畅度。
本发明实施例还提供了另一种游戏中的场景图像绘制方法,该方法在上述实施例所述方法的基础上实现。实施例中的游戏是基于Unity引擎的Unity游戏,该方法重点描述如何对目标地块和对应的目标图像单位进行初始化,该方法流程图如图2所示,具体包括以下步骤:
步骤S202,将场景图像中的每个地块和图像单位划分为多个单位格。在Unity游戏中,每个地块中的图像单位数量很大,一次性加载时会对游戏设备带来较大的运算压力,因此有必要将地块划分为多个单位格。划分完的单位格遵循相互一致的原则,例如如果地块为500米×500米的正方形,那么划分的单位格可为50米×50米的正方形,也可以为25米×25米的正方形。如果地块为不规则形状,可将不规则地块划分为不同的规则地块的组合,然后再对各自的规则地块进行单位格划分。单位格的形状相同,在各自所述的地块中可方便执行循环运算,有利于提升游戏场景的加载速度。单位格的边长设定根据游戏场景的复杂程度决定,过大的单位格会使得单次加载时间过长;过小的单位格会使得循环运算过于复杂。
步骤S204,利用多线程或协程技术对每个单位格内的图像单位进行初始化。
由于Unity游戏中每个单位格内的图像单位较多,初始化的过程采用多线程或协程技术。但是Unity引擎提供的API(Application Programming Interface,应用程序编程接口)必须在Unity主线程中使用,不能在其它子线程中调用,这是由于Unity游戏中的逻辑更新和画面更新,必须按照游戏帧的序列严格同步执行,否则就会出现游戏对象产生不同的现象。但在不使用Unity的SDK(Software Development Kit,软件开发工具包)的前提下,在一些大量耗时计算、网络请求以及复杂的I/O操作时会使用子线程,但子线程的处理非常复杂,一旦出现问题很难进行调试。为了解决上述问题,本实施例中使用Unity 2018中的Job System功能,该组件能够在Unity引擎中轻松实现多线程。
Job System通过创建Job,将Job所需的参数放入到job queue(作业队列)中执行。Job System有一组工作线程,通常每个CPU核心对应一个线程以避免切换,工作线程从作业队列获取作业并执行,实现了多线程处理。
协程,即协作式程序,本质是在一个线程的时间片段中执行代码段,通过相关代码使得代码段能够实现分段式的执行。因此,协程的本质是单线程,每个协程通过对CPU进行分时操作,实现了多个执行主体的依次执行,最终实现类似多线程的效果。由于Unity引擎是单线程的,因此在Unity引擎中使用协程也符合单线程的要求,对于开发人员来说更加直观,方便进行应用程序的调试。
在本实施例中,在对每个单位格内的图像单位进行初始化时,可根据游戏场景的需求实现图像单位的多线程或协程处理。例如,可利用Job System分摊图像单位在初始化中的相关矩阵计算,计算的结果存入Unity API提供的ComputeBuffer接口中,为后续的剔除处理提供数据。由于矩阵计算量很大,通过Job System提供的多线程技术可有效提升计算效率。
每个单位格在初始化时计算包围盒的过程,也可利用多线程或协程处理。在Unity引擎的运算中,可用体积稍大且特性简单的几何体来近似代替复杂的几何图像,这个几何体就是包围盒。在本实施例中,可使用AABB(Axis-aligned bounding box)包围盒、包围球(Sphere)、方向包围盒OBB(Oriented bounding box)以及固定方向凸包FDH(Fixeddirectinos hulls)中的任一种包围盒来代替图像单位。在初始化的过程中将所有单位格中的图像单位进行遍历,然后依次计算对应的包围盒。这个过程涉及复杂的计算,因此使用多线程或协程可进一步提升游戏加载速度。
通过本实施例提供的游戏中的场景图像绘制方法,通过对场景图像中的地块划分多个单位格,降低了游戏加载时一次性载入过多导致的游戏卡顿。通过运用Unity引擎中的多线程或协程技术对每个单位格内的图像单位进行初始化,实现了异步非阻塞式的作业效果,提升了游戏画面的刷新率和的流畅度。
本发明实施例还提供了另一种场景图像绘制方法,该方法在上述实施例所述方法的基础上实现,该方法重点描述如何对初始化后的图像单位进行剔除处理,该方法流程图如图3所示,包括以下步骤:
步骤S302,获取当前游戏画面对应的虚拟相机的当前相机方位信息。
虚拟相机是游戏中玩家的视觉系统,从虚拟相机中得到的场景就是游戏玩家的所看到的场景。获取的视角根据游戏种类的不同而不同,例如,在第一人称游戏视角类的游戏中,游戏的虚拟相机的视角跟正常人视角相似,这类型的游戏多为战争类游戏,采用第一人称类游戏会使得玩家沉浸感较强;而在第三人称视角类的游戏中,虚拟相机的视角多为俯视的视角,即玩家可以俯视看到自己选用的游戏主角,这类型的游戏更倾向于技能的对抗,需要看到其它周围的场景;也有的游戏会根据玩家的需求调整虚拟相机的视角,并不止限定在游戏主角上,这在一些战役类的游戏中常常会使用。
虚拟相机当前视角的获取过程可通过调用相关接口得以实现,例如在Unity引擎中可调用相关Camera类中的方法Camera.mian即可实现。获得当前视角中包含各种有关视角的数据,例如距离,角度等。
步骤S304,根据每个目标地块的地块方位信息和当前相机方位信息确定目标地块和虚拟相机的间距。
首先计算每个地块中的中心位置坐标,中心位置的确定根据地块的形状来确定,优选将中心位置设置为地块的几何中心。在对图像场景中所有地块中心位置坐标计算完成后,分别与当前虚拟相机所处的位置坐标进行距离计算,得到每个地块与虚拟相机的间距。需要说明的是,该间距仅仅考虑水平面中的直线距离计算,并不考虑地块中的高度数据。
步骤S306,确定满足第一预设值的间距所对应的目标地块为待剔除目标地块。
在步骤S304中得到的每个地块与虚拟相机的间距进行阈值判定,将间距大于第一预设值的地块确定为目标地块,得到的目标地块即为虚拟相机看不到的地块。第一预设值的设定时会根据游戏场景的负载情况而定,如果游戏场景非常复杂,则该第一预设值可设置偏小一些,这样可剔除更多的场景,有利于游戏加载速度;如果游戏场景较为简单,则该第一预设值可设置偏大一些,这样有利于保留更多的游戏场景,也可减少场景剔除的动作。
步骤S308,剔除待剔除目标地块所对应的图像单位。
由于目标地块是虚拟相机看不到的地块,对于看不到的地块也没必要进行加载,因此将步骤S306中得到的目标地块中的图像单位全部进行剔除处理。由于目标地块的数量较多,其中包含的图像单位数量也很多,因此对目标地块内的图像单位进行剔除的过程中可采用异步非阻塞的方式,例如在Unity引擎游戏中使用Job System多线程或者协程技术来实现图标地块中图像单位的剔除操作。
该实施例中通过计算每个地块与当前虚拟相机的距离,通过预设的第一预设值进行判定,剔除了不需要渲染绘制的地块。在剔除的过程中采用异步非阻塞的作业方式,提升了游戏画面的刷新率和的流畅度。
在一种实施方式中,由于地块的面积较大,满足间距不大于第一预设值的地块面积也很大,包含的单位格数量很多,还有进一步剔除的空间。因此,在步骤S308之后,如图4所示,还可以包括以下步骤:
步骤S402,根据待剔除目标地块之外的每个目标地块中每个单位格的单位格方位信息和当前相机方位信息,确定每个单位格与虚拟相机的间距。
在完成剔除目标地块内的图像单位之后,对满足间距不大于第一预设值的地块中的图像单位进行进一步剔除,由于该地块包含多个单位格,通过遍历该地块中所有的单位格,计算每个单位格的几何中心与虚拟相机的间距。
步骤S404,确定满足第二预设值的第二间距所对应的单位格为待剔除单位格。
第二预设值为虚拟对象的视距,其设定思路与第一预设值的设定思路相同,但显然第二预设值的大小不能超过第一预设值。
步骤S406,剔除待剔除目标单位格所对应的图像单位。
由于目标单位格是虚拟相机看不到的地块,对于看不到的单位格也没必要进行加载,因此将目标单位格中的图像单位全部进行剔除处理。由于目标单位格的数量较多,其中包含的图像单位数量也很多,因此对目标单位格内的图像单位进行剔除的过程中可采用异步非阻塞的方式,例如在Unity引擎游戏中使用Job System多线程或者协程技术来实现目标单位格中图像单位的剔除操作。
在一种实施方式中,游戏中的虚拟相机视角与人眼相似,呈现的视角是圆锥或金字塔形状,因此在第一人称类的游戏中,有必要对视角以外的图像单位进行剔除处理,如图5所示,步骤S406还可以包括以下步骤:
步骤S502,在未被剔除的图像单位中,查找位于预设视锥范围之外或超出预设视距的图像单位。
预设视锥范围与游戏中人物设定的视野有关,一般来说人物的视角是固定的,所以此类游戏中的视锥范围大都相似。但也有特殊情况,例如人物戴上眼镜,或者人物的一只眼睛受伤,均会使得视锥范围变化。
因此在游戏的过程中,预设视锥范围会根据游戏的进行不断变化,查找位于预设视锥范围之外的图像单位也会相应的实时更新。
作为一个优选方案,还可以在步骤S502之前,根据图像单位的每个种类,在图像单位原型管理器中分别形成多个剔除队列。通过队列的形式对图像单位进行分类管理,有利于后续数据的统一管理。
步骤S504,剔除查找到的图像单位。
在上述实施例中,通过计算每个地块与当前虚拟相机的间距,并根据预设的第一预设值确定了不需要加载图像单位的目标地块,并使用异步非阻塞的方式对目标地块中的大量图像单位进行剔除。该实施例只加载游戏需要的图像单位,并使用异步非阻塞方式剔除了大量非必须的图像单位,使得游戏加载速度进一步提升。
在一种实施方式中,由于地块的面积较大,满足间距不大于第一预设值的地块面积也很大,包含的单位格数量很多,还有进一步剔除的空间,而且第一级剔除后,直接根据视椎体进行剔除,因此如图6所示,在步骤S308之后,还包括以下步骤:
步骤S602:在待剔除目标地块之外的每个目标地块中,查找位于预设视锥范围之外或超出预设视距的图像单位。
步骤S604:剔除查找到的所述图像单位。
与上述实施例中不同的是,该实施例直接根据视锥体进行剔除操作,不再对确定满足第二预设值的第二间距所对应的单位格为进行剔除。
本发明实施例还提供了另一种场景图像绘制方法,该方法在上述实施例所述方法的基础上实现,该方法重点描述如何根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制,该方法流程图如图7所示,具体包括以下步骤:
步骤S702,根据图像单位原型管理器中存储的每种图像单位的模型参数,遍历未被剔除的图像单位。
在对初始化的图像单位进行剔除处理后,得到未被剔除的图像单位,通过图像单位原型管理器中存储的每种图像单位的模型参数对未被剔除的图像单位进行遍历,得到遍历结果。
步骤S704,利用游戏的图像绘制函数接口,基于遍历结果对未被剔除的图像单位进行渲染绘制。
本实施例中的图像绘制函数接口可以采用如DrawInstanceIndirect接口等接口,DrawInstanceIndirect接口为微软公司DirectX 11中提供的接口,该接口实现了只需调用一次CPU就可绘制大量相同的模型。该步骤S408中得到的遍历结果中保存着未被剔除的图像单位和模型参数,因此通过调用DrawInstanceIndirect接口可直接绘制出所有未被剔除图像。
在一种实施方式中,图像单位的模型参数包括多细节层次LOD参数,LOD(Level ofdetail,多层次细节)是一种游戏优化技术,它可根据模型的位置和重要性决定物体渲染时的资源分配,降低了非重要物体的细节度,从而获得高效的渲染运算。
例如,在Unity引擎游戏中,图像原型管理器记录着每种图像单位中各层LOD的Mesh(网格)、Shader(着色器)以及LOD其它参数,通过图像单位原型管理器记录的参数可以实现不同地块中相同图像单位的一次性绘制。绘制时采用在Unity中的DrawCall,DrawCall是每次CPU准备数据并通知GPU的过程,如果能在一次DrawCall完成所有绘制就会大大提高运行效率,进而达到优化的目的,本实施例中的方案就是采用该思路,如图8所示,此时步骤704包括:
步骤S802,将遍历结果中的相同类型的图像单位的同一LOD层次的模型作为一个图像单位组。
遍历结果中保存着未被剔除的图像单位和模型参数,通过对遍历结果再次进行遍历,得到其中相同类型的图像单位的同一LOD层次的模型作为一个图像单元组。然后使用Unity引擎提供的ComputeShader程序在GPU中执行视锥剔除算法,将超出视锥体外以及视距的图像单位剔除。视锥剔除算法由Unity提供,可降低了GPU的负担,提升了游戏帧数。
步骤S804,每个图像单位组调用游戏的图像绘制函数接口,通过图像绘制函数接口对每个图像单位组进行一次渲染绘制。
在上述实施例中,通过图像单位原型管理器中存储的每种所述图像单位的模型参数遍历未被剔除的图像单位,将遍历结果中的模型分为了图像单位组,并调用DrawInstanceIndirect接口实现了一次性渲染绘制,减少了DrawCall绘制,减少了对游戏设备CPU以及GPU的运算负担,有利于提升游戏流畅度。
本发明实施例还提供了另一种场景图像绘制方法,该方法在上述实施例所述方法的基础上实现,在该场景图像绘制方法中,所绘制的图像单位为植被单位,例如草、花、树木、灌木等。
在对由多个500×500米的地块组成的游戏场景中,对其中一个地块中的植被渲染的性能进行测试。该地块植被覆盖丰富,由草丛、花、以及树木组成,花与树木不止一种。在使用Unity内置的Terrain Tree和GameObject来表示植被,其中Terrain Tree为地形数据,共有327288个;GameObject为一颗植被,共有16596个。通过使用本实施例之前,通过Unity性能分析可知,游戏画面帧率为23帧,每帧43ms,CPU每帧消耗40ms,其中剔除消耗32.4ms,还有较长的LOD计算消耗。使用本实施例提供的场景图像方法后,游戏画面帧率为441帧,每帧2.3ms,CPU每帧消耗2.69ms,其中剔除消耗0.69ms。比对后发现,在使用本发明实施例提供的场景图像绘制方法后,每帧CPU消耗降低了20倍,而且帧率上也提升了20倍之多,可明显感受到游戏画面流畅度的提升。
从上述实施例可知,在对植被场景进行绘制时,通过采用上述实施例提供的场景图像绘制方法,大幅度降低了CPU消耗,在其它复杂场景的绘制过程中,能够使得卡顿现象得到缓解,提升了游戏流畅度。
对应与上述游戏中的场景图像绘制方法,参见图9所述的一种游戏中的场景图像绘制装置,该装置通过终端设备提供图形用户界面,图形用户界面包括游戏画面,游戏画面中包括虚拟角色,该装置包括以下模块:
目标地块确定模块901,用于根据的虚拟角色确定至少一个目标地块;
图像单位加载模块902,用于加载目标地块和对应的目标图像单位,并保存图像单位到图像单位原型管理器;其中,图像单位原型管理器用于存储每种图像单位的模型参数;
初始化模块903,用于对目标地块和对应的目标图像单位进行初始化;
图像单位剔除模块904,用于对初始化后的图像单位进行剔除处理;
渲染模块905,用于根据图像单位原型管理器中存储的每种图像单位的模型参数,对未被剔除的图像单位进行渲染绘制。
在一种实现方式中,上述初始化模块903中,还包括:
划分模块,用于将场景图像中的每个地块和图像单位划分为多个单位格;
异步执行模块,利用多线程或协程技术对每个单位格内的图像单位进行初始化。
在一种实现方式中,上述图像单位剔除模块904还包括:
第一视角获取模块,用于获取当前游戏画面对应的虚拟相机的当前相机方位信息。
第一视角计算模块,用于根据每个目标地块的地块方位信息和当前相机方位信息确定目标地块和虚拟相机的间距。
第一目标确定模块,用于确定满足第一预设值的间距所对应的目标地块为待剔除目标地块。
第一目标剔除模块,用于剔除待剔除目标地块所对应的图像单位。
在一种实现方式中,上述图像单位剔除模块904中的地块均包括多个单位格,图像单位剔除模块904还包括:
第二视角计算模块,用于根据待剔除目标地块之外的每个目标地块中每个单位格的单位格方位信息和当前相机方位信息,确定每个单位格与虚拟相机的间距。
第二目标确定模块,用于确定满足第二预设值的第二间距所对应的单位格为待剔除单位格。
第二目标剔除模块,用于剔除待剔除目标单位格所对应的图像单位。
在一种实现方式中,上述图像单位剔除模块904还包括:
第三目标确定模块,用于在未被剔除的图像单位中,查找位于预设视锥范围之外或超出预设视距的图像单位。
第三目标剔除模块,用于剔除查找到的所述图像单位。
在一种实现方式中,上述图像单位剔除模块904中的地块均包括多个单位格,图像单位剔除模块904还包括:
第四目标确定模块,用于在待剔除目标地块之外的每个目标地块中,查找位于预设视锥范围之外或超出预设视距的图像单位;
第四目标剔除模块,用于剔除查找到的所述图像单位。
在一种实现方式中,上述图像单位剔除模块904还包括:
队列生成模块,用于根据图像单位的每个种类,在图像单位原型管理器中分别形成多个剔除队列。
在一种实现方式中,上述图像单位剔除模块904还包括:
渲染遍历模块,用于根据图像单位原型管理器中存储的每种图像单位的模型参数,遍历未被剔除的图像单位。
渲染执行模块,用于利用游戏的图像绘制函数接口,基于遍历结果对未被剔除的图像单位进行渲染绘制。
在一种实现方式中,上述渲染执行模块中的图像单位的模型参数包括多细节层次LOD参数,该渲染执行模块还包括:
分组执行模块,用于将遍历结果中的相同类型的图像单位的同一LOD层次的模型作为一个图像单位组。
分组渲染模块,用于每个图像单位组调用游戏的图像绘制函数接口,通过图像绘制函数接口对每个图像单位组进行一次渲染绘制。
本发明实施例所提供的一种游戏中的场景图像绘制装置,其实现原理及产生的技术效果和前述实施例所提供的一种游戏中的场景图像绘制方法相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供一种电子终端,图10为该电子终端的结构示意图,电子终端100包括存储器101和处理器102,其中存储器101用于存储有可在处理器102上运行的计算机程序;处理器102执行计算机程序时,实现上述实施例中的游戏中场景图像绘制方法的步骤;电子装置还包括总线103和通信接口104,存储器101和通信接口104通过总线103连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口104(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线103可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器101用于存储程序,所述处理器102在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器102中,或者由处理器102实现。
处理器102可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器102中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器102读取存储器101中的信息,结合其硬件完成上述方法的步骤。
本发明实施方式还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述游戏中场景图像绘制方法,具体实现可参见方法实施方式,在此不再赘述。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种游戏中的场景图像绘制方法,其特征在于,通过终端设备提供图形用户界面,所述图形用户界面包括游戏画面,所述游戏画面中包括虚拟角色,包括:
根据所述的虚拟角色确定至少一个目标地块;
加载所述目标地块和对应的目标图像单位,并保存所述图像单位到图像单位原型管理器;其中,所述图像单位原型管理器用于存储每种所述图像单位的模型参数;
对所述目标地块和所述对应的目标图像单位进行初始化;
对初始化后的所述图像单位进行剔除处理;
根据所述图像单位原型管理器中存储的每种所述图像单位的模型参数,对未被剔除的所述图像单位进行渲染绘制。
2.根据权利要求1所述的方法,其特征在于,对所述目标地块和所述对应的目标图像单位进行初始化的步骤包括:
将所述场景图像中的每个所述地块和图像单位划分为多个单位格;
利用多线程或协程技术对每个所述单位格内的图像单位进行初始化。
3.根据权利要求1所述的方法,其特征在于,所述对初始化后的所述图像单位进行剔除处理的步骤包括:
获取所述游戏画面对应的虚拟相机的当前相机方位信息;
根据每个所述目标地块的地块方位信息和当前相机方位信息确定所述目标地块和所述虚拟相机的间距;
确定满足第一预设值的所述间距所对应的目标地块为待剔除目标地块;
剔除所述待剔除目标地块所对应的图像单位。
4.根据权利要求3所述的方法,其特征在于,每个所述地块均包括多个单位格;
所述剔除所述待剔除目标地块所对应的内的图像单位的步骤之后,还包括:
根据所述待剔除目标地块之外的每个所述目标地块中每个单位格的单位格方位信息和当前相机方位信息,确定每个所述单位格与所述虚拟相机的间距;
确定满足第二预设值的第二间距所对应的单位格为待剔除单位格;
剔除所述待剔除单位格所对应的图像单位。
5.根据权利要求3或4所述的方法,其特征在于,所述对初始化后的所述图像单位进行剔除处理的步骤还包括:
在未被剔除的图像单位中,查找位于预设视锥范围之外或超出预设视距的图像单位;
剔除查找到的所述图像单位。
6.根据权利要求3所述的方法,其特征在于,每个所述地块均包括多个单位格;
所述剔除所述待剔除目标地块所对应的内的图像单位的步骤之后,还包括:
在所述待剔除目标地块之外的每个所述目标地块中,查找位于预设视锥范围之外或超出预设视距的图像单位;
剔除查找到的所述图像单位。
7.根据权利要求5所述的方法,其特征在于,所述在未被剔除的图像单位中,查找位于预设视锥范围之外或超出预设视距的图像单位的步骤之前,还包括:
根据所述图像单位的每个种类,在所述图像单位原型管理器中分别形成多个剔除队列。
8.根据权利要求1所述的方法,其特征在于,所述根据所述图像单位原型管理器中存储的每种所述图像单位的模型参数,对未被剔除的所述图像单位进行渲染绘制的步骤,包括:
根据所述图像单位原型管理器中存储的每种所述图像单位的模型参数,遍历未被剔除的所述图像单位;
利用所述游戏的图像绘制函数接口,基于遍历结果对未被剔除的所述图像单位进行渲染绘制。
9.根据权利要求6所述的方法,其特征在于,所述图像单位的模型参数包括多细节层次LOD参数;
利用所述游戏的图像绘制函数接口,基于遍历结果对未被剔除的所述图像单位进行渲染绘制的步骤包括:
将遍历结果中的相同类型的图像单位的同一LOD层次的模型作为一个图像单位组;
每个所述图像单位组调用所述游戏的图像绘制函数接口,通过所述图像绘制函数接口对每个所述图像单位组进行一次渲染绘制。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述图像单位为植被单位。
11.一种游戏中的场景图像绘制装置,其特征在于,所述装置通过终端设备提供图形用户界面,所述图形用户界面包括游戏画面,所述游戏画面中包括虚拟角色,包括:
目标地块确定模块,用于根据所述的虚拟角色确定至少一个目标地块;
图像单位加载模块,用于加载所述目标地块和对应的目标图像单位,并保存所述图像单位到图像单位原型管理器;其中,所述图像单位原型管理器用于存储每种所述图像单位的模型参数;
初始化模块,用于对所述目标地块和所述对应的目标图像单位进行初始化;
图像单位剔除模块,用于对初始化后的所述图像单位进行剔除处理;
渲染模块,用于根据所述图像单位原型管理器中存储的每种所述图像单位的模型参数,对未被剔除的所述图像单位进行渲染绘制。
12.一种电子终端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至10任一项所述的方法的步骤。
13.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至10任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124392.1A CN110874812B (zh) | 2019-11-15 | 2019-11-15 | 游戏中的场景图像绘制方法、装置及电子终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124392.1A CN110874812B (zh) | 2019-11-15 | 2019-11-15 | 游戏中的场景图像绘制方法、装置及电子终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874812A true CN110874812A (zh) | 2020-03-10 |
CN110874812B CN110874812B (zh) | 2024-06-04 |
Family
ID=69717092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911124392.1A Active CN110874812B (zh) | 2019-11-15 | 2019-11-15 | 游戏中的场景图像绘制方法、装置及电子终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874812B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111467801A (zh) * | 2020-04-20 | 2020-07-31 | 网易(杭州)网络有限公司 | 模型消隐方法及装置、存储介质及电子设备 |
CN112057854A (zh) * | 2020-09-10 | 2020-12-11 | 网易(杭州)网络有限公司 | 游戏对象的处理方法、装置、电子设备和计算机可读介质 |
CN112587921A (zh) * | 2020-12-16 | 2021-04-02 | 成都完美时空网络技术有限公司 | 模型处理方法和装置、电子设备和存储介质 |
CN112789609A (zh) * | 2020-06-30 | 2021-05-11 | 深圳市大疆创新科技有限公司 | 地图的更新方法、装置、可移动平台及存储介质 |
CN112907741A (zh) * | 2021-02-05 | 2021-06-04 | 深圳市润谦科技有限公司 | 地形场景生成方法、装置、电子设备及存储介质 |
CN113720325A (zh) * | 2021-09-14 | 2021-11-30 | 阿里巴巴达摩院(杭州)科技有限公司 | 环境变化检测方法、装置、电子设备及计算机存储介质 |
CN113769382A (zh) * | 2021-09-10 | 2021-12-10 | 网易(杭州)网络有限公司 | 游戏场景中模型的剔除方法、装置、设备及存储介质 |
CN114288657A (zh) * | 2021-12-03 | 2022-04-08 | 北京影谱科技股份有限公司 | 一种在游戏中实时计算及展示实体包围盒数据的方法 |
WO2023005079A1 (zh) * | 2021-07-29 | 2023-02-02 | 完美世界(北京)软件科技发展有限公司 | 一种游戏任务发放方法以及装置 |
WO2024113941A1 (zh) * | 2022-12-01 | 2024-06-06 | 网易(杭州)网络有限公司 | 游戏中的地块控制方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004290514A (ja) * | 2003-03-27 | 2004-10-21 | Aruze Corp | 遊技機 |
CN106355644A (zh) * | 2016-08-31 | 2017-01-25 | 北京像素软件科技股份有限公司 | 三维电子游戏画面中的物体模型剔除方法及装置 |
CN107179981A (zh) * | 2017-05-22 | 2017-09-19 | 珠海金山网络游戏科技有限公司 | 一种游戏资源优化的方法 |
CN107952241A (zh) * | 2017-12-05 | 2018-04-24 | 北京像素软件科技股份有限公司 | 渲染控制方法、装置及可读存储介质 |
CN108434739A (zh) * | 2018-01-30 | 2018-08-24 | 网易(杭州)网络有限公司 | 游戏场景中虚拟资源的处理方法及装置 |
-
2019
- 2019-11-15 CN CN201911124392.1A patent/CN110874812B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004290514A (ja) * | 2003-03-27 | 2004-10-21 | Aruze Corp | 遊技機 |
CN106355644A (zh) * | 2016-08-31 | 2017-01-25 | 北京像素软件科技股份有限公司 | 三维电子游戏画面中的物体模型剔除方法及装置 |
CN107179981A (zh) * | 2017-05-22 | 2017-09-19 | 珠海金山网络游戏科技有限公司 | 一种游戏资源优化的方法 |
CN107952241A (zh) * | 2017-12-05 | 2018-04-24 | 北京像素软件科技股份有限公司 | 渲染控制方法、装置及可读存储介质 |
CN108434739A (zh) * | 2018-01-30 | 2018-08-24 | 网易(杭州)网络有限公司 | 游戏场景中虚拟资源的处理方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111467801A (zh) * | 2020-04-20 | 2020-07-31 | 网易(杭州)网络有限公司 | 模型消隐方法及装置、存储介质及电子设备 |
CN111467801B (zh) * | 2020-04-20 | 2023-09-08 | 网易(杭州)网络有限公司 | 模型消隐方法及装置、存储介质及电子设备 |
CN112789609A (zh) * | 2020-06-30 | 2021-05-11 | 深圳市大疆创新科技有限公司 | 地图的更新方法、装置、可移动平台及存储介质 |
WO2022000260A1 (zh) * | 2020-06-30 | 2022-01-06 | 深圳市大疆创新科技有限公司 | 地图的更新方法、装置、可移动平台及存储介质 |
CN112057854A (zh) * | 2020-09-10 | 2020-12-11 | 网易(杭州)网络有限公司 | 游戏对象的处理方法、装置、电子设备和计算机可读介质 |
CN112587921A (zh) * | 2020-12-16 | 2021-04-02 | 成都完美时空网络技术有限公司 | 模型处理方法和装置、电子设备和存储介质 |
CN112907741A (zh) * | 2021-02-05 | 2021-06-04 | 深圳市润谦科技有限公司 | 地形场景生成方法、装置、电子设备及存储介质 |
CN112907741B (zh) * | 2021-02-05 | 2024-02-02 | 深圳市润谦科技有限公司 | 地形场景生成方法、装置、电子设备及存储介质 |
WO2023005079A1 (zh) * | 2021-07-29 | 2023-02-02 | 完美世界(北京)软件科技发展有限公司 | 一种游戏任务发放方法以及装置 |
CN113769382A (zh) * | 2021-09-10 | 2021-12-10 | 网易(杭州)网络有限公司 | 游戏场景中模型的剔除方法、装置、设备及存储介质 |
CN113720325A (zh) * | 2021-09-14 | 2021-11-30 | 阿里巴巴达摩院(杭州)科技有限公司 | 环境变化检测方法、装置、电子设备及计算机存储介质 |
CN113720325B (zh) * | 2021-09-14 | 2024-05-17 | 阿里巴巴达摩院(杭州)科技有限公司 | 环境变化检测方法、装置、电子设备及计算机存储介质 |
CN114288657A (zh) * | 2021-12-03 | 2022-04-08 | 北京影谱科技股份有限公司 | 一种在游戏中实时计算及展示实体包围盒数据的方法 |
WO2024113941A1 (zh) * | 2022-12-01 | 2024-06-06 | 网易(杭州)网络有限公司 | 游戏中的地块控制方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110874812B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110874812B (zh) | 游戏中的场景图像绘制方法、装置及电子终端 | |
WO2022100437A1 (zh) | 虚拟环境中的天气渲染方法、装置、设备、介质及程序 | |
CN108176048B (zh) | 图像的处理方法和装置、存储介质、电子装置 | |
US9839844B2 (en) | Sprite strip renderer | |
US8810590B2 (en) | Method and apparatus for spatial binning on a GPU and global path planning to avoid spatially binned objects | |
CN110090440B (zh) | 虚拟对象显示方法、装置、电子设备及存储介质 | |
US11704868B2 (en) | Spatial partitioning for graphics rendering | |
US7460118B2 (en) | Image processor, image processing method and image processing program | |
JP6802393B2 (ja) | 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル | |
Shopf et al. | March of the froblins: simulation and rendering massive crowds of intelligent and detailed creatures on gpu | |
CN107038745A (zh) | 一种3d旅游景观漫游交互方法及装置 | |
WO2022184128A1 (zh) | 虚拟对象的技能释放方法、装置、设备及存储介质 | |
CN112245926B (zh) | 虚拟地形的渲染方法、装置、设备及介质 | |
CN111739142A (zh) | 场景渲染方法、装置、电子设备及计算机可读存储介质 | |
CN114067042A (zh) | 一种图像渲染方法、装置、设备、存储介质及程序产品 | |
CN112206535B (zh) | 虚拟对象的渲染显示方法、装置、终端及存储介质 | |
CN106204713A (zh) | 静态合并处理方法和装置 | |
KR20220042299A (ko) | 가상 환경의 픽처를 디스플레이하는 방법 및 장치, 디바이스, 그리고 매체 | |
CN116012507A (zh) | 一种渲染数据处理方法、装置、电子设备及存储介质 | |
CN114463473A (zh) | 图像渲染的处理方法和装置、存储介质及电子设备 | |
CN108379841A (zh) | 游戏特效的处理方法、装置和终端 | |
KR20180088876A (ko) | 이미지 처리 방법 및 장치 | |
CN113643417B (zh) | 图像调整方法、装置、电子设备及存储介质 | |
JP2003228725A (ja) | 3次元画像処理システム | |
CN114399421A (zh) | 三维模型可见度数据的存储方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |