CN113313622A - 虚拟场景中的光照模拟方法、装置及电子设备 - Google Patents
虚拟场景中的光照模拟方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113313622A CN113313622A CN202110456544.9A CN202110456544A CN113313622A CN 113313622 A CN113313622 A CN 113313622A CN 202110456544 A CN202110456544 A CN 202110456544A CN 113313622 A CN113313622 A CN 113313622A
- Authority
- CN
- China
- Prior art keywords
- illumination
- area
- virtual scene
- target
- preset area
- 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
- 238000005286 illumination Methods 0.000 title claims abstract description 174
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004088 simulation Methods 0.000 title claims description 29
- 239000000463 material Substances 0.000 claims abstract description 119
- 239000013077 target material Substances 0.000 claims abstract description 46
- 238000001514 detection method Methods 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000009877 rendering Methods 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013515 script Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005034 decoration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000019646 color tone Nutrition 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟场景中的光照模拟方法、装置及电子设备,所述方法包括:获取当前虚拟场景中预设区域的光源的光照参数;根据光照参数中的光照方向,对预设区域进行光照检测,获取预设区域中的目标区域,目标区域为光线被遮挡的区域;根据目标区域中虚拟物体的状态信息,从材质库中获取对应的目标材质,状态信息用于指示虚拟物体处于光线遮挡状态,目标材质不包含针对光照参数生成的光照算法;根据目标材质对虚拟物体进行渲染。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种虚拟场景中的光照模拟方法、装置及电子设备。
背景技术
在虚拟场景中,通常会使用一盏方向灯,如聚光灯来模拟光照效果,使虚拟场景的显示效果更加逼真。而相关技术中,通常通过记录方向灯的位置、灯光照射方向以及灯光颜色等光照参数,然后将针对光照参数形成的光照计算,结合虚拟场景中虚拟物体的纹理贴图形成的材质渲染虚拟物体,从而来达到类似物体被光照后的效果。
然而,在虚拟场景中,一般会存在遮挡光照的遮挡物,而直接通过光照参数形成的材质渲染虚拟物体,会使本该光线被遮挡的虚拟物体同样呈现被光照后的效果,导致虚拟场景在通过上帝视角形成的显示画面的展示效果差,降低了用户的体验感。
发明内容
本申请的目的在于至少解决现有技术中存在的技术问题之一,提供一种虚拟场景中的光照模拟方法、装置以及电子设备,使虚拟场景中被遮挡的虚拟物体实现光线被阻挡的效果。
第一方面,本申请实施例提供一种虚拟场景中的光照模拟方法,包括:
获取当前虚拟场景中预设区域的光源的光照参数;
根据所述光照参数中的光照方向,对所述预设区域进行光照检测,获取所述预设区域中的目标区域,所述目标区域为光线被遮挡的区域;
根据所述目标区域中虚拟物体的状态信息,从材质库中获取对应的目标材质,所述状态信息用于指示所述虚拟物体处于光线遮挡状态,所述目标材质不包含针对所述光照参数生成的光照算法;
根据所述目标材质对所述虚拟物体进行渲染。
在通过光照参数确定预设区域中被光线遮挡的目标区域后,对目标区域的虚拟物体采用不包含光照参数的目标材质进行渲染,从而在渲染过程中有选择性的改变光照信息,削减了被遮挡的目标区域中虚拟物体的光照计算以减少GPU的计算量,在保证渲染效率的同时,可在当前虚拟场景中被遮挡的虚拟物体实现光线阻挡的效果,提高用户体验。
第二方面,在本申请实施例中,还提供了一种虚拟场景中的光照模拟装置,包括:
参数获取模块,用于获取虚拟场景中预设区域的光源的光照参数;
区域获取模块,用于根据所述光照参数中的光照方向,对所述预设区域进行光照检测,获取所述预设区域中的目标区域,所述目标区域为光线被遮挡的区域;
材质获取模块,用于获取所述目标区域中虚拟物体的目标材质,所述目标材质不包含针对所述光照参数生成的光照算法;
物体渲染模块,用于根据所述目标材质对所述虚拟物体进行渲染。
第三方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的虚拟场景中的光照模拟方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述实施例所述的虚拟场景中的光照模拟方法。
附图说明
下面结合附图和实施例对本申请进一步地说明;
图1为一个实施例提供的虚拟场景中的光照模拟方法的应用环境图;
图2为一个实施例提供的虚拟场景中的光照模拟方法的流程示意图;
图3为一个实施例提供的虚拟场景中的光照模拟方法的预设区域的结构示意图;
图4为另一个实施例提供的虚拟场景中的光照模拟方法的预设区域的结构示意图;
图5为另一个实施例提供的虚拟场景中的光照模拟方法的流程示意图;
图6为一实施例提供的目标区域的确定方法的流程示意图;
图7为一实施例提供的目标材质获取方法的流程示意图;
图8为一个实施例中虚拟场景中的光照模拟装置的结构示意图;
图9为另一个实施例中虚拟场景中的光照模拟装置的结构示意图
图10为一个实施例中计算机设备的结构框图。
具体实施方式
本部分将详细描述本申请的具体实施例,本申请之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本申请的每个技术特征和整体技术方案,但其不能理解为对本申请保护范围的限制。
为使本申请方案更容易被理解,下述对本申请中涉及的部分概念做出解释:
方向灯:是游戏引擎中用来模拟太阳的平行光光源。
虚拟场景:是应用程序在终端上运行时显示的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种。
虚拟物体:是指从虚拟场景中衍生出来的物体,包括建筑物、树木、山、载具等,虚拟场景中可以包括多个虚拟物体,每个虚拟物体在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
纹理贴图:是虚拟物体的位图图像,除了表示虚拟物体表面的基本颜色(反照率)之外,纹理贴图还可表示材质表面的许多其他方面,例如其反射率或粗糙度。
着色器:是一些包含数学计算和算法的小脚本,根据光照输入和材质的配置来计算每个像素渲染的颜色。
材质:虚拟物体的各种可视属性的集合,通过包含对所用纹理贴图的引用、平铺信息、颜色色调等来定义物体表面应使用的渲染方式,用于提供程序的渲染数据和光照算法。
通常,为使虚拟场景更加接近真实场景,会在虚拟场景中模拟光照。模拟光照是计算机图形学中非常重要的研究内容,并且涉及很多领域,比如动画、虚拟现实、游戏等领域,使场景的显示效果更加逼真。例如游戏领域中模拟光照的方案,通常是通过使用一盏方向灯来模拟发光物体,如太阳等,然后记录方向灯的位置、灯光照射方向、灯光强度以及灯光颜色等光照参数,再将针对光照参数形成的光照计算,结合虚拟场景中虚拟物体的纹理贴图形成的材质渲染虚拟物体,从而使虚拟物体达到类似物体被光照后的效果。然而,在虚拟场景中,一般会存在遮挡光照的遮挡物,这些遮挡物可以是在加载虚拟场景的初始便存在的,也可以是后续增加的,可以是固定的,也可以是移动的。若直接通过光照参数形成的材质渲染虚拟物体,会使本该光线被遮挡的虚拟物体同样呈现被光照后的效果,无法很好的模拟真实场景,导致虚拟场景在通过上帝视角形成的显示画面的展示效果差。
为了解决上述技术问题,如图1所示,是可以应用本申请实施例的技术方案的应用环境图。在该应用环境中,可以包括终端设备110和服务器120。终端设备110和服务器120之间通过通信链路进行数据通信,其中通信链路可以包括各种连接类型,如有线通信链路或无线通信链路等。图1中的终端设备110可以是任意数量的终端设备,具体可以是手机、平板电脑、笔记本电脑、可穿戴设备等具有显示屏的终端设备中的任意一种或多种。服务器120可以用独立的服务器120或者是多个服务器120组成的服务器群来实现,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。在本实施例中,该终端设备110可以用于作为运行游戏的游戏客户端的前端,且服务器120可以用于作为该游戏客户端的后台,这样,当服务器120获取到该终端设备110中的游戏用户通过该游戏客户端发送的数据调用请求之后,可以快速与该终端设备110建立长连接。
在一实施例中,终端设备110搭载有游戏,该游戏包含虚拟场景,在游戏运行的过程中,终端设备110根据用户操作或通过通信链路从服务器120中获取到虚拟角色的角色信息和操作信息,例如让虚拟角色往目标方向或目标点移动等等,从而终端设备110可根据虚拟角色的角色信息和操作信息,确定当前虚拟场景;或者,终端设备110还可以根据用户的请求或指令,如针对游戏地图的选取操作,从终端设备110的内存中,或从服务器120中直接获取当前游戏场景。其中,内存或服务器根据指令或者请求执行操作属于现有技术,因此对指令或请求的内容即形式不做具体限定。在获取当前虚拟场景后,终端设备从本地内存或服务器120获取当前虚拟场景中预设区域的光源的光照参数,根据光照参数确定预设区域中被光线遮挡的目标区域后,对目标区域的虚拟物体采用不包含光照参数的目标材质进行渲染,从而在渲染过程中有选择性的改变光照信息,削减了被遮挡的目标区域中虚拟物体的光照计算以减少GPU的计算量,在保证渲染效率的同时,可在当前虚拟场景中被遮挡的虚拟物体实现光线阻挡的效果,提高用户体验。
作为一种可选的实施方式,该方法可以由终端设备执行,或者由服务器和终端设备共同执行。
下面,将通过几个具体的实施例对本申请实施例提供的虚拟场景中的光照模拟方法进行详细介绍和说明。
如图2所示,在一个实施例中,提供了一种虚拟场景中的光照模拟方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图1中的终端设备110。
参照图2,该虚拟场景中的光照模拟方法具体包括如下步骤:
S11、获取当前虚拟场景中预设区域的光源的光照参数。
其中,光照参数包括光源的当前光照强度、当前光照颜色及当前光照方向等,预设区域为从当前虚拟场景中划分出来的部分虚拟空间或全部虚拟空间,该预设区域的大小可根据实际需求自行设定。
步骤S12、根据光照参数中的光照方向,对预设区域进行光照检测,获取预设区域中的目标区域,目标区域为光线被遮挡的区域。
在一实施例中,光照方向包括直接光和间接光的方向,其中,直接光是指从光源触发直接照射到物件身上的光,间接光是指光线在多个物体之间反射,最终进入摄像机后形成的光。其中,对预设区域进行光照检测的触发,可以是当光照参数中的光照方向发生变化时,触发对预设区域的光照检测;或当检测到预设区域中存在移动的虚拟物体时,触发对预设区域的光照检测;或当检测到预设区域中新增了虚拟物体时,触发对预设区域的光照检测。
在一实施例中,如图3或4所示,预设区域可以根据光照方向划分为多个子区域,每个子区域在当前游戏场景的形成地图上可以用一个预设大小的矩形来表示,并通过游戏引擎在当前虚拟场景中模拟光照方向,然后对预设区域进行光照检测,并根据光照检测后的结果对预设区域中光线被遮挡的子区域进行标记,最终各光线被遮挡的子区域形成目标区域。如当预设区域中的子区域的位置上存在不能透光的遮挡物,例如墙壁、载具、建筑物等,则将该子区域进行标记,如图3或图4中用字母A表示的子区域,最终将所有被标记的子区域形成目标区域。通过对预设区域进行划分,使其形成多个子区域,从而后续在确定被遮挡区域的过程中仅需进行子区域的遍历,更方便进行目标区域的确定,减少运算量。且由于子区域根据光照方向进行划分,因此后续对目标区域进行渲染时,可模拟出类似光照投影的场景,从而提高游戏场景的显示效果。
在一实施例中,光照检测的方式可以是碰撞检测,即通过游戏引擎中物理引擎的射线检测功能,将光源发射出的光线与预设区域中每个子区域进行碰撞检测,其中物理引擎可以是PhysX、Havok或Bullet。在检测未发生碰撞时,则表示该子区域内没有遮挡物;在检测到发生碰撞时,则表示该子区域上存在遮挡物,从而将该子区域进行标记。可以知晓的,碰撞检测只在预设区域内进行,超出预设区域的范围则不进行碰撞检测。
步骤S13、根据目标区域中虚拟物体的状态信息,从材质库中获取对应的目标材质,状态信息用于指示虚拟物体处于光线遮挡状态,目标材质不包含针对光照参数生成的光照算法。
由于用于存储材质的材质库中通常包含多种材质,且多种材质中可能存在两个以上包含同样纹理贴图的材质,因此一般的,从材质库中获取对应的目标材质,也可从材质库中获取包含目标区域中虚拟物体的纹理贴图的任一初始材质,当该初始材质中包括光照算法时,删除初始材质中的光照算法,以生成目标材质。其中,初始材质是预存在材质库中的材质,可能存在基于光照参数进行的光照算法,也可能不存在基于光照参数进行的光照算法。示例性的,当获取到的初始材质存在包含光照参数的光照算法时,若检测到终端设备的显示画面加载当前虚拟场景,则通过用于剔除初始材质中包含光照参数的光照算法的预设脚本,如InShadowObject,对初始材质的材质参数进行修改,剔除初始材质中的光照运算。当获取到的初始材质不存在基于光照参数进行的光照算法时,则直接将该初始材质作为目标材质。但由于初始材质中可能包括多个虚拟物体共用的共享材质,若直接修改初始材质,可能会导致共享材质也被修改,使得当前虚拟场景中使用共享材质的所有虚拟物体都会受到影响,出现原本应该根据光照参数呈现光照效果的虚拟物体无法呈现对应的光照效果。因此,为保证仅删除目标区域内虚拟物体的光照算法,减少对其他虚拟物体的影响,可通过复制初始材质,再对复制后的初始材质进行修改,并将修改后的初始材质作为对应目标区域中虚拟物体的目标材质,从而保证删除光照算法后的目标材质仅针对目标区域中的虚拟物体,不会影响场景中的其他物件。但是,由于每个材质都包含有脚本,因此对初始材质的复制就会增加脚本,如果存在多个共享材质,每个共享材质都需要进行复制,那么增加的脚本数量则会过多,导致终端设备的运算量过大。因此,还可通过将初始材质保存至本地数据库后,删除本地数据库中初始材质的光照算法的方式,来避免运算量过大的问题。由于此时保存至本地的初始材质仅对目标区域中的虚拟物体产生影响,不会影响其他的虚拟物体。例如,可以对初始材质进行检测,检测初始材质中包含共享材质部分的材质信息,并将包含共享材质部分的材质信息保存至本地数据库,将其转换为非共享,从而在保证后续对初始材质的修改时,仅对目标区域中的虚拟物体产生影响,同时可减少保存至本地数据库的数据量。当然,除了将包含共享材质部分的材质信息保存至本地数据库的方式外,还可将完整的初始材质保存至本地数据库,具体的保存方式可根据实际情况进行调整。
不过,将共享材质保存至本地,使其转换为非共享材质,则在非共享材质更换属性的时候,终端设备需要开辟新的存储空间,直到场景切换或者被引用时才会释放内存,因此这种有可能会造成内存泄露。同时,考虑到虚拟物体的光照状态是有限的,即受到光照和未受到光照,而每种状态通常都会存在对应的材质,因此,在一实施例中,通过虚拟物体的状态信息从材质库中获取对应的目标材质。作为本实施例的一个举例,由于通过光照检测,检测到目标区域光线被遮挡,因此可将目标区域中的虚拟物体的状态对应标记为处于光线遮挡状态,即未受到光照。根据目标区域中的虚拟物体的状态,从材质库中匹配与该状态相同的目标材质,从而无论该目标材质中包不包含共享材质,均不会对当前虚拟场景中其他虚拟物体产生不良影响,无需对材质进行任何修改,终端设备的运算量不会增大的同时,也不会造成内存泄露。
其中,光照计算可以包括通过光照参数进行实时的环境光计算、发射光计算和光影计算等,由于目标区域是被遮挡的区域,不会受到光源生成的全局方向光的照射,在目标区域中的虚拟物体的表面仅呈现其基本颜色,无需考虑光照因素,因此在目标区域中的虚拟物体不需要进行直接光信息的计算,只需对目标区域外的虚拟物体进行直接光信息的计算,从而减少消耗。
步骤S14、根据目标材质对虚拟物体进行渲染。
在一实施例中,通过不包含光照计算的目标材质,获取对应的着色器。由于目标材质不包含光照计算,因此在渲染当前虚拟场景时,通过运行目标材质中的预设脚本,使着色器中同样不包含对目标区域中虚拟物体的光照计算。通该不包含光照计算的着色器对虚拟物体进行渲染,从而使被遮挡的虚拟物体实现光线阻挡的效果,同时降低设备的运行消耗。
通过对当前虚拟场景基于光照参数预先进行光照检测,确定预设区域中被光线遮挡的目标区域后,对目标区域的虚拟物体采用不包含光照参数的目标材质进行渲染,从而在渲染过程中有选择性的改变光照信息,削减了被遮挡的目标区域中虚拟物体的光照计算以减少GPU的计算量,在保证渲染效率的同时,可在当前虚拟场景中被遮挡的虚拟物体实现光线阻挡的效果,提高用户体验。
由于在虚拟场景中,部分区域是不存在光源的,无需进行处理。因此为获取合适的预设区域以减少运算量,在一实施例中,如图5所示,为另一个实施例中虚拟场景中的光照模拟方法的流程示意图。在步骤S11之前,还包括:
步骤S09、获取光源在当前虚拟场景中的当前位置信息。
通过光源的当前位置信息,可在当前虚拟场景中定位光源所在的位置。
步骤S10、根据当前位置信息,在当前虚拟场景中确定预设区域。
在一实施例中,可预设以光源为中心,其预设范围内的区域即为预设区域,如可预设以光源为中心,半径为10形成的圆形区域即为预设区域。可以理解的,该预设范围可根据游戏需求进行调整。在确定光源位置后,则可根据该预设方式,在当前虚拟场景中以光源位置为中心确定预设区域。
为使预设区域的范围设置更加合理,避免遗漏部分本该进行光照处理的区域,或增加了部分本不该进行光照处理的区域,在一实施例中,还可根据光源的当前位置信息和光源的光照范围,在虚拟场景中确定预设区域,从而提高预设区域设置的准确性。即在获取光源在当前虚拟场景的位置后,以光源的光照强度,可确定光源的光照范围,从而根据光照范围确定区域的边界,进而通过边界确定预设区域。
由于虚拟物体的大小可能不一致,同时其形状亦可能不规则,如载具或树木等,因此当用预设的子区域来表示其遮挡范围时,虚拟物体的不一定能完全覆盖子区域的大小,此时可能出现呈现出的光照被遮挡范围与实际的光照被遮挡范围不一致的情况,导致游戏场景还原度不够真实。而为进一步提高游戏场景的还原度,如图6所示,在一实施例中,目标区域的确定方法包括:
步骤S21、对预设区域进行光照检测,获取预设区域中的光影信息。
在一实施例中,通过游戏引擎在当前虚拟场景中模拟光照方向,然后对预设区域进行光照检测,如碰撞检测,可确定预设区域中遮挡物的遮挡面积。在确定遮挡面积后,根据光照方向,按照常规的投影原理对该遮挡面积进行投影,将其投影到预设区域上,从而获取光影信息,即遮挡物的投影区域。
步骤S22、根据光影信息,获取预设区域中的目标区域。
在一实施例中,在获取光影信息,即遮挡物在预设区域内的投影区域后,将预设区域中所有的投影区域标记为目标区域。
通过预设区域中光影信息来确定目标区域的方式,从而能够更加真实地还原实际的光照遮挡情况,进而提高游戏场景的还原度。
考虑到使用带有共享材质的初始材质进行渲染时,若后续该共享材质在其他终端设备上发生修改,会影响到目标区域中虚拟物体的渲染结果。因此在一实施例中,如图7所示,目标材质的获取方法包括:
步骤S31、检测材质库中与虚拟物体的纹理贴图对应的各初始材质。
其中,对初始材质的检测为检测其是否包含有共享材质,即检测初始材质中是否包含有共享属性的材质文件,具体的检测方式可通过检测初始材质的属性目录来确定其是否包含有共享属性的材质文件,或通过其他常规技术进行检测,在此不做限定。
步骤S32、在检测到各初始材质均存在共享材质时,根据目标区域中虚拟物体的状态信息,从各初始材质中获取对应的目标材质。
在一实施例中,当检测到所有包含虚拟物体的纹理贴图的初始材质中,均包含有共享属性的材质文件时,为减少运算量,同时避免复制或存储初始材质后造成的内存泄露,则根据状态信息从各初始材质中获取目标材质。
步骤S33、在检测到各初始材质中至少一个初始材质不存在共享材质时,删除任一不包含共享材质的初始材质的光照算法,生成目标材质。
在一实施例中,当检测到所有包含虚拟物体的纹理贴图的初始材质中,存在一个不包含共享材质的初始材质时,则为避免当其他终端设备的修改导致影响到目标区域中虚拟物体的渲染结果,通过将不包含共享材质的初始材质的光照算法直接删除的方式,减少当材质文件被修改时造成的虚拟物体渲染结果的改变。
在一个实施例中,如图8所示,提供了一种虚拟场景中的光照模拟装置,包括:
参数获取模块101,用于获取虚拟场景中预设区域的光源的光照参数。
区域获取模块102,用于根据光照参数中的光照方向,对预设区域进行光照检测,获取预设区域中的目标区域,目标区域为光线被遮挡的区域。
材质获取模块103,用于根据目标区域中虚拟物体的状态信息,从材质库中获取对应的目标材质,状态信息用于指示虚拟物体处于光线遮挡状态,目标材质不包含针对光照参数生成的光照算法。
物体渲染模块104,用于根据目标材质对虚拟物体进行渲染。
在一实施例中,如图9所示,提供了另一种虚拟场景中的光照模拟装置,除图7所示结构外,还包括:
信息获取模块099,用于获取光源在当前虚拟场景中的当前位置信息。
区域确定模块100,用于根据当前位置信息,在当前虚拟场景中确定预设区域。
在一实施例中,区域确定模块100,具体用于:
根据当前位置信息和光源的光照范围,在虚拟场景中确定预设区域。
在一实施例中,预设区域包括多个子区域。区域获取模块102,具体用于:对预设区域进行光照检测,从预设区域中获取被遮挡的各子区域,子区域根据光照方向进行边界划分;根据被遮挡的各子区域组成目标区域。
在一实施例中,区域获取模块102,具体用于:
根据光照参数中的光照方向,对预设区域进行光照检测,获取预设区域中的光影信息。根据光影信息,获取预设区域中的目标区域。
在一实施例中,材质获取模块103,具体用于:检测材质库中与虚拟物体的纹理贴图对应的各初始材质,在检测到各初始材质均存在共享材质时,根据目标区域中虚拟物体的状态信息,从各初始材质中获取对应的目标材质。
在一实施例中,材质获取模块103,还用于:在检测到各初始材质中至少一个初始材质不存在共享材质时,删除任一不包含共享材质的初始材质的光照算法,生成目标材质。
在一个实施例中,提供了一种计算机设备,如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟场景中的光照模拟方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟场景中的光照模拟方法。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的虚拟场景中的光照模拟装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该虚拟场景中的光照模拟装置的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的虚拟场景中的光照模拟方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述虚拟场景中的光照模拟方法的步骤。此处虚拟场景中的光照模拟方法的步骤可以是上述各个实施例的虚拟场景中的光照模拟方法中的步骤。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (10)
1.一种虚拟场景中的光照模拟方法,其特征在于,包括:
获取当前虚拟场景中预设区域的光源的光照参数;
根据所述光照参数中的光照方向,对所述预设区域进行光照检测,获取所述预设区域中的目标区域,所述目标区域为光线被遮挡的区域;
根据所述目标区域中虚拟物体的状态信息,从材质库中获取对应的目标材质,所述状态信息用于指示所述虚拟物体处于光线遮挡状态,所述目标材质不包含针对所述光照参数生成的光照算法;
根据所述目标材质对所述虚拟物体进行渲染。
2.根据权利要求1所述的虚拟场景中的光照模拟方法,其特征在于,在获取当前虚拟场景中预设区域的光源的光照参数之前,还包括:
获取所述光源在当前虚拟场景中的当前位置信息;
根据所述当前位置信息,在所述当前虚拟场景中确定所述预设区域。
3.根据权利要求2所述的虚拟场景中的光照模拟方法,其特征在于,所述根据所述当前位置信息,在所述虚拟场景中确定所述预设区域,包括:
根据所述当前位置信息和所述光源的光照范围,在所述虚拟场景中确定所述预设区域。
4.根据权利要求1所述的虚拟场景中的光照模拟方法,其特征在于,所述预设区域包括多个子区域;
对所述预设区域进行光照检测,获取所述预设区域中的目标区域,包括:
对所述预设区域进行光照检测,从所述预设区域中获取被遮挡的各所述子区域,所述子区域根据所述光照方向进行划分;
根据被遮挡的各所述子区域组成所述目标区域。
5.根据权利要求1所述的虚拟场景中的光照模拟方法,其特征在于,对所述预设区域进行光照检测,获取所述预设区域中的目标区域,包括:
对所述预设区域进行光照检测,获取所述预设区域中的光影信息;
根据所述光影信息,获取所述预设区域中的目标区域。
6.根据权利要求1所述的虚拟场景中的光照模拟方法,其特征在于,在根据所述目标区域中虚拟物体的状态信息,从材质库中获取对应的目标材质之前,还包括:
检测所述材质库中与所述虚拟物体的纹理贴图对应的各初始材质;
所述根据所述目标区域中虚拟物体的状态信息,从材质库中获取对应的目标材质,包括:
在检测到各所述初始材质均存在共享材质时,根据所述目标区域中虚拟物体的状态信息,从各所述初始材质中获取对应的目标材质。
7.根据权利要求6所述的虚拟场景中的光照模拟方法,其特征在于,在检测所述材质库中与所述虚拟物体的纹理贴图对应的各初始材质之后,还包括:
在检测到各所述初始材质中至少一个所述初始材质不存在所述共享材质时,删除任一不包含所述共享材质的所述初始材质的光照算法,生成所述目标材质。
8.一种虚拟场景中的光照模拟装置,其特征在于,包括:
参数获取模块,用于获取虚拟场景中预设区域的光源的光照参数;
区域获取模块,用于根据所述光照参数中的光照方向,对所述预设区域进行光照检测,获取所述预设区域中的目标区域,所述目标区域为光线被遮挡的区域;
材质获取模块,用于获取所述目标区域中虚拟物体的目标材质,所述目标材质不包含针对所述光照参数生成的光照算法;
物体渲染模块,用于根据所述目标材质对所述虚拟物体进行渲染。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的虚拟场景中的光照模拟方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456544.9A CN113313622A (zh) | 2021-04-26 | 2021-04-26 | 虚拟场景中的光照模拟方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456544.9A CN113313622A (zh) | 2021-04-26 | 2021-04-26 | 虚拟场景中的光照模拟方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113313622A true CN113313622A (zh) | 2021-08-27 |
Family
ID=77371164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110456544.9A Pending CN113313622A (zh) | 2021-04-26 | 2021-04-26 | 虚拟场景中的光照模拟方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313622A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385289A (zh) * | 2021-12-23 | 2022-04-22 | 北京字跳网络技术有限公司 | 一种渲染显示方法、装置、计算机设备及存储介质 |
CN114581576A (zh) * | 2021-12-13 | 2022-06-03 | 北京市建筑设计研究院有限公司 | 三维场景的灯光配置方法、装置、电子设备及存储介质 |
CN115866224A (zh) * | 2022-11-25 | 2023-03-28 | 中国联合网络通信集团有限公司 | 场景切换方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108236783A (zh) * | 2018-01-09 | 2018-07-03 | 网易(杭州)网络有限公司 | 游戏场景中模拟光照的方法、装置、终端设备及存储介质 |
CN108597030A (zh) * | 2018-04-23 | 2018-09-28 | 新华网股份有限公司 | 增强现实ar的光影效果显示方法、装置及电子设备 |
CN111862295A (zh) * | 2020-07-17 | 2020-10-30 | 完美世界(重庆)互动科技有限公司 | 一种虚拟对象的展示方法、装置、设备和存储介质 |
CN112190937A (zh) * | 2020-10-10 | 2021-01-08 | 网易(杭州)网络有限公司 | 游戏中的光照处理方法、装置、设备及存储介质 |
-
2021
- 2021-04-26 CN CN202110456544.9A patent/CN113313622A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108236783A (zh) * | 2018-01-09 | 2018-07-03 | 网易(杭州)网络有限公司 | 游戏场景中模拟光照的方法、装置、终端设备及存储介质 |
CN108597030A (zh) * | 2018-04-23 | 2018-09-28 | 新华网股份有限公司 | 增强现实ar的光影效果显示方法、装置及电子设备 |
CN111862295A (zh) * | 2020-07-17 | 2020-10-30 | 完美世界(重庆)互动科技有限公司 | 一种虚拟对象的展示方法、装置、设备和存储介质 |
CN112190937A (zh) * | 2020-10-10 | 2021-01-08 | 网易(杭州)网络有限公司 | 游戏中的光照处理方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114581576A (zh) * | 2021-12-13 | 2022-06-03 | 北京市建筑设计研究院有限公司 | 三维场景的灯光配置方法、装置、电子设备及存储介质 |
CN114385289A (zh) * | 2021-12-23 | 2022-04-22 | 北京字跳网络技术有限公司 | 一种渲染显示方法、装置、计算机设备及存储介质 |
CN114385289B (zh) * | 2021-12-23 | 2024-01-23 | 北京字跳网络技术有限公司 | 一种渲染显示方法、装置、计算机设备及存储介质 |
CN115866224A (zh) * | 2022-11-25 | 2023-03-28 | 中国联合网络通信集团有限公司 | 场景切换方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111968215B (zh) | 一种体积光渲染方法、装置、电子设备及存储介质 | |
WO2022116659A1 (zh) | 一种体积云渲染方法、装置、程序和可读介质 | |
CN113313622A (zh) | 虚拟场景中的光照模拟方法、装置及电子设备 | |
EP4242973A1 (en) | Image processing method and related apparatus | |
WO2020038441A1 (zh) | 地图渲染方法、装置、计算机设备及存储介质 | |
US9478065B2 (en) | System and method for remote generation of indirect illumination sources in three-dimensional graphics | |
CN111968214B (zh) | 一种体积云渲染方法、装置、电子设备及存储介质 | |
CN111127623A (zh) | 模型的渲染方法、装置、存储介质及终端 | |
US20240087219A1 (en) | Method and apparatus for generating lighting image, device, and medium | |
US11610364B2 (en) | Method, device, and storage medium for applying lighting to a rendered object in a scene | |
CN112991508A (zh) | 一种基于WebGL的3D渲染系统及方法 | |
US10776996B2 (en) | Method and apparatus for processing image | |
CN112884874A (zh) | 在虚拟模型上贴花的方法、装置、设备及介质 | |
CN115984449A (zh) | 一种光照渲染方法、装置、电子设备及存储介质 | |
WO2024027237A1 (zh) | 渲染的优化方法、电子设备和计算机可读存储介质 | |
CN115526977B (zh) | 游戏画面渲染方法和装置 | |
CN114663632A (zh) | 基于空间位置的光照显示虚拟物体的方法及设备 | |
JP2007272847A (ja) | 照明シミュレーション方法及び画像合成方法 | |
CN115970275A (zh) | 虚拟对象的投影处理方法、装置、存储介质与电子设备 | |
CN115239869B (zh) | 阴影处理方法、阴影渲染方法及设备 | |
CN118236695B (zh) | 三维游戏引擎的虚拟场景构建方法、装置、设备及存储介质 | |
US9741156B2 (en) | Material trouble shooter | |
CN115904192A (zh) | 界面显示方法、装置、电子设备及可读存储介质 | |
CN117671104A (zh) | 一种渲染方法、装置、电子设备及计算机可读存储介质 | |
CN118079373A (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 |