CN114288650A - 虚拟场景图像处理方法、展示方法、装置、电子设备 - Google Patents
虚拟场景图像处理方法、展示方法、装置、电子设备 Download PDFInfo
- Publication number
- CN114288650A CN114288650A CN202111680063.2A CN202111680063A CN114288650A CN 114288650 A CN114288650 A CN 114288650A CN 202111680063 A CN202111680063 A CN 202111680063A CN 114288650 A CN114288650 A CN 114288650A
- Authority
- CN
- China
- Prior art keywords
- parameter
- fog
- virtual scene
- dimensional
- light
- 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
Images
Abstract
本申请提供虚拟场景图像处理方法、展示方法、装置、电子设备以及计算机存储介质。由于该虚拟场景图像处理方法最终的渲染参数是基于雾气深度范围参数、折射效果参数和透光雾气效果参数获得的,进而使得渲染参数考虑了虚拟场景中涉及的深度、折射、透光等因素,进而基于该渲染参数渲染的雾效更为接近真实。同时,由于该方法是对二维信息进行处理,使得图像处理效率更高。由于在处理过程中获得了雾气深度范围参数、折射效果参数和透光雾气效果参数,相当于已经获得了虚拟场景中的雾气情况,无需再单独计算雾气效果。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及虚拟场景图像处理方法、虚拟场景图像展示方法、装置、电子设备以及计算机存储介质。
背景技术
目前,随着游戏种类不断增多,游戏玩家越来越看重游戏中是否能够较真实地反应场景。例如,针对一些包含透光介质的游戏场景,需要在游戏的显示画面中营造出游戏内的雾气效果(简称雾效)以增加游戏场景的真实性。
具体地,当游戏玩家在游戏中行走在由透光介质组成的内部区域时,可能会观看区域外的雾效。在该游戏场景,需要渲染出一种雾效,并且渲染的雾效能够使内部区域没有雾气,仅在区域外有雾效。这样才能保证渲染的雾效较为接近真实。因此,如何在该游戏场景营造接近真实的雾效成为当前亟需解决的技术问题。
发明内容
本申请提供一种虚拟场景图像处理方法,以解决如何在该游戏场景营造接近真实的雾效的技术问题。本申请还提供一种虚拟场景图像展示方法、一种虚拟场景图像处理装置、一种虚拟场景图像展示装置、一种电子设备以及一种计算机存储介质。
本申请提供一种虚拟场景图像处理方法,包括:
将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得所述虚拟场景在所述二维空间中的二维场景数据;
根据所述二维场景数据获得针对所述虚拟场景中的目标对象的二维扰动贴图;
根据所述二维场景数据获得针对所述虚拟场景的二维场景深度图,并利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数;
根据所述二维场景数据获得针对所述虚拟场景的二维不透明贴图,并利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数;
获得所述虚拟场景的透光雾气效果参数;
根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
可选的,所述二维扰动贴图中包含第一像素点的折射偏移参数,所述二维场景深度图包含第二像素点的坐标;
所述利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数,包括:
利用第一像素点的折射偏移参数偏移对应第二像素点在所述二维场景深度图中的坐标,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数。
可选的,所述二维扰动贴图中包含第一像素点的折射偏移参数,所述二维不透明贴图包含第三像素点的坐标;
所述利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数,包括:
利用第一像素点的折射偏移参数偏移对应第三像素点在所述二维不透明贴图中的坐标,得到用于表示所述目标对象的折射效果的折射效果参数。
可选的,所述获得所述虚拟场景的透光雾气效果参数,包括:
确定虚拟场景中的当前光线方位;
基于所述光线方位,获得所述虚拟场景的透光雾气效果参数。
可选的,所述确定虚拟场景中的当前光线方位,包括:
确定虚拟场景中的当前光源方向以及虚拟角色在虚拟场景中的当前视线方向;
基于所述光源方向与所述视线方向,确定虚拟场景中的当前光线方位。
可选的,所述基于所述光源方向与所述视线方向,确定虚拟场景中的当前光线方位,包括:
对用于表示所述光源方向的参数与用于表示所述视线方向的参数进行点积运算,确定虚拟场景中的当前光线方位。
可选的,所述基于所述光线方位,获得所述虚拟场景的透光雾气效果参数,包括:
确定虚拟场景中的用于表示当前光线颜色的光线颜色参数以及用于表示雾气颜色的雾气颜色参数;
以用于表示所述光线方位的光线方位参数作为权重,混合所述光线颜色参数以及所述雾气颜色参数,获得所述虚拟场景的透光雾气效果参数。
可选的,所述以用于表示所述光线方位的光线方位参数作为权重,混合所述光线颜色参数以及所述雾气颜色参数,获得所述虚拟场景的透光雾气效果参数,包括:
采用线性插值函数对所述光线方位参数、所述光线颜色参数以及所述雾气颜色参数进行处理,获得所述虚拟场景的透光雾气效果参数。
可选的,所述根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数,包括:
以所述雾气深度范围参数作为权重,混合所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
可选的,所述以所述雾气深度范围参数作为权重,混合所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数,包括:
采用线性插值函数对所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数进行处理,获得针对所述目标对象的渲染参数。
可选的,所述方法用于服务端;所述方法还包括:
向用户端提供所述针对所述目标对象的渲染参数;其中,所述用户端用于在显示设备屏幕中基于所述针对所述目标对象的渲染参数进行渲染。
可选的,所述方法用于用户端;所述方法还包括:
在所述用户端的显示设备屏幕中基于所述针对所述目标对象的渲染参数进行渲染。
本申请提供一种虚拟场景图像展示方法,包括:
获得针对目标对象的渲染参数;所述针对目标对象的渲染参数为采用上述虚拟场景图像处理方法处理得到的;
在显示设备屏幕中基于所述针对目标对象的渲染参数进行渲染。
本申请提供一种虚拟场景图像处理装置,包括:
映射单元,用于将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得所述虚拟场景在所述二维空间中的二维场景数据;
扰动贴图获得单元,用于根据所述二维场景数据获得针对所述虚拟场景中的目标对象的二维扰动贴图;
第一偏移单元,用于根据所述二维场景数据获得针对所述虚拟场景的二维场景深度图,并利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数;
第二偏移单元,用于根据所述二维场景数据获得针对所述虚拟场景的二维不透明贴图,并利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数;
雾气效果参数获得单元,用于获得所述虚拟场景的透光雾气效果参数;
渲染参数获得单元,用于根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
本申请提供一种虚拟场景图像展示装置,包括:
渲染参数获得单元,用于获得针对目标对象的渲染参数;所述针对目标对象的渲染参数为采用上述虚拟场景图像处理方法处理得到的;
渲染单元,用于在显示设备屏幕中基于所述针对目标对象的渲染参数进行渲染。
本申请提供一种电子设备,包括:
处理器;
存储器,用于存储计算机程序,该计算机程序被处理器运行,执行上述虚拟场景图像处理方法与虚拟场景图像展示方法。
本申请提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行上述虚拟场景图像处理方法与虚拟场景图像展示方法。
与现有技术相比,本申请具有以下优点:
本申请提供一种虚拟场景图像处理方法,由于该方法将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得虚拟场景在二维空间中的二维场景数据;并根据二维场景数据获得针对虚拟场景中的目标对象的二维扰动贴图、二维场景深度图以及二维不透明贴图;并利用二维扰动贴图对二维场景深度图进行偏移处理,得到用于表示虚拟场景中的雾气深度范围的雾气深度范围参数;同时利用二维扰动贴图对二维不透明贴图进行偏移处理,得到用于表示目标对象的折射效果的折射效果参数;还获得虚拟场景的透光雾气效果参数;最终根据雾气深度范围参数、折射效果参数和透光雾气效果参数,获得针对目标对象的渲染参数。由于最终的渲染参数是基于雾气深度范围参数、折射效果参数和透光雾气效果参数获得的,进而使得渲染参数考虑了虚拟场景中涉及的深度、折射、透光等因素,进而基于该渲染参数渲染的雾效更为接近真实。同时,由于该方法是对二维信息进行处理,使得图像处理效率更高。由于在处理过程中获得了雾气深度范围参数、折射效果参数和透光雾气效果参数,相当于已经获得了虚拟场景中的雾气情况,无需再单独计算雾气效果。
附图说明
图1为本申请提供的虚拟场景图像处理方法的系统架构示意图;
图2为本申请第一实施例提供的虚拟场景图像处理方法的流程图;
图3为用于表示虚拟场景中的雾气深度范围的示意图;
图4为用于表示目标对象的折射效果的示意图;
图5为用于表示当前光线方位的示意图;
图6为用于表示虚拟场景的透光雾气效果参数的示意图;
图7为目标图像的示意图;
图8为本申请第二实施例提供的虚拟场景图像展示方法的流程图;
图9为本申请第三实施例提供的虚拟场景图像处理装置的示意图;
图10为本申请第四实施例提供的虚拟场景图像展示装置的示意图;
图11为本申请第五实施例中提供的一种电子设备的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供虚拟场景图像处理方法、虚拟场景图像展示方法、装置、电子设备以及计算机存储介质。在下面的实施例中逐一进行说明。
以海底游戏场景作为本申请的虚拟场景的示例,在海底场景的游戏场景中,用户玩家饰演的角色可以在海底场景区域中进行移动,在该场景中,假设用户在海底中的玻璃隧道内来回移动,并透过玻璃隧道向玻璃隧道外看海底,而本申请的虚拟场景图像处理方法,主要用于为用户端的游戏界面提供待展示的图像,实际上,展示的图像即可表示出用户在某个角度透过玻璃隧道向玻璃隧道外看海底雾效的情形。当然,可以理解的是,本申请的虚拟场景还可以是除海底游戏场景之外的其他场景,例如可以是VR世界中的一些场景,也可以是游戏角色在山中的游戏场景,具体不对本申请的虚拟场景进行限制。
本申请提供的虚拟场景图像处理方法,实际上是对二维图像中的二维参数信息进行处理,从而获得针对目标对象渲染参数,基于针对目标对象渲染参数渲染目标对象,进而获得目标图像。总之,整个图像处理过程中处理的均为二维信息,进而对获得目标图像的处理端或者运行该虚拟场景图像处理方法程序的处理端的性能要求不必太高。而现有技术中的图像处理方法由于是对三维图像中的三维信息进行处理,在对三维信息进行处理后,基于处理后的三维参数信息渲染。总之,现有技术的整个图像处理过程中处理的均为三维信息,对处理端的性能要求较高,可能造成游戏画面卡顿,使游戏用户感受较差。
为便于理解,以下结合图1给出本申请提供的虚拟场景图像处理方法的系统架构的说明。图1所示的系统架构示例中,包括:用户端101、服务端102。本实施例中用户端101可以是,但不限于便携终端、手机、PAD、个人电脑或具有图像处理功能的电子设备等,用于运行包含有虚拟场景图像处理方法的程序。用户端101与服务端102通过通信网络相互连接,通信网络可以包含移动网络、网关、因特网,也可以由局域网、因特网组成。例如:用户端101经由移动网络、网关、因特网与服务端102连接。再如:用户端101经由局域网、因特网与服务端102连接。服务端102通过所述雾气深度范围参数、折射效果参数和透光雾气效果参数,进而获得针对目标对象的渲染参数。在本实施例中,雾气可以是自然雾气,也可以是人工制造的烟雾。
服务端102在获得渲染参数后,即可将渲染参数提供给用户端101。
第一实施例
本申请第一实施例提供一种虚拟场景图像处理方法,以下结合图2进行说明。
请参照图2,其为本申请第一实施例提供的虚拟场景图像处理方法的流程图。
本申请实施例的虚拟场景图像处理方法,包括如下步骤:
步骤S201:将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得虚拟场景在二维空间中的二维场景数据。
在本实施例中,三维场景数据可以是指三位空间的像素坐标,比如场景中的一个物体(如一个箱子、一块玻璃)在三维空间中的坐标。二维场景数据可以是指显示设备屏幕对应的二维空间中的像素坐标。如UV坐标,所谓UV坐标,是图像在显示器水平、垂直方向上的坐标,取值为0~1。例如,显示设备屏幕的水平方向的第U个像素表示该像素的水平位置,即对应像素点的水平位置。显示设备屏幕的垂直方向的第V个像素表示该像素的垂直位置,即对应像素点的垂直位置。在本实施例中,显示设备屏幕显示的是二维的信息,只是通过这个屏幕看到的是三维的信息。将三维空间映射到二维空间可以是指将像素三维坐标转化为二维坐标。
步骤S202:根据二维场景数据获得针对虚拟场景中的目标对象的二维扰动贴图。
在本实施例中,目标对象为透光对象。透光对象可以如玻璃等透光介质。在海底隧道的游戏场景中,可以是指玻璃隧道。需要说明的是,在海底隧道游戏场景中,目标对象为海底的透光对象。例如,可以是海底中的玻璃隧道。在本实施例中,目标对象用于将虚拟场景分为内外两个区域。例如,通过海底玻璃隧道可以将海底的游戏场景分为隧道内与隧道外两个区域。
在本实施例中,目标对象的二维扰动贴图可以是指海底隧道玻璃对应的扰动贴图,由于需要对游戏场景中的海底隧道进行贴图,以只对隧道外营造海底的雾效,隧道内部不受雾效影响,因此预先获得二维扰动贴图,该二维扰动贴图实际上可以为一张柏林噪声黑白灰度图。该扰动贴图与海底玻璃隧道大小相同,扰动贴图上记录着每个像素点的折射偏移参数(即:明度值),而这些明度值取值为0~1,可以用作参数去偏移每一个对应的像素点的采样位置。在本实施例中,该二维扰动贴图用于直接覆盖在游戏中的玻璃隧道上。
在本实施例中,作为获取二维扰动贴图的一种实施方式,可以是指:首先,确定虚拟场景中的目标对象;之后,基于目标对象的像素着色器进行采样,获取二维扰动贴图。例如,在游戏中的海底隧道的展示场景中,目标对象为玻璃隧道。因此,获取的二维扰动贴图为覆盖在玻璃隧道的玻璃上的图像。
在基于目标对象的像素着色器进行采样时,可以基于以下方式获取二维扰动贴图(RefractionMap):half refraction Offset=SAMPLE_TEXTURE2D(_RefractionMap,sampler_RefractionMap,input.uv.xy).x。其中,refraction Offset为折射偏移参数。
步骤S203:根据二维场景数据获得针对虚拟场景的二维场景深度图,并利用二维扰动贴图对二维场景深度图进行偏移处理,得到用于表示虚拟场景中的雾气深度范围的雾气深度范围参数。
在本实施例中,该二维场景深度图,用于表示虽然图像中的像素坐标是二维的,但能够表示出来像素离用户看的距离的远近。
具体地,二维扰动贴图中包含第一像素点的折射偏移参数,二维场景深度图包含第二像素点的坐标。
作为利用二维扰动贴图对二维场景深度图进行偏移处理,得到用于表示虚拟场景中的雾气深度范围的雾气深度范围参数的一种方式:利用第一像素点的折射偏移参数偏移对应第二像素点在二维场景深度图中的坐标,得到用于表示虚拟场景中的雾气深度范围的雾气深度范围参数。
具体可以采用如下方式获得雾气深度范围参数:half refractedSceneDepth=SAMPLE_DEPTH_TEXTURE_LOD(_CameraDepthTexture,sampler_CameraDepthTexture,screenUV+refractionOffset,0)。
步骤S204:根据二维场景数据获得针对虚拟场景的二维不透明贴图,并利用二维扰动贴图对二维不透明贴图进行偏移处理,得到用于表示目标对象的折射效果的折射效果参数。
在游戏场景中,二维不透明贴图可以是指游戏场景里的保留不透明物体、去除透光物体(比如玻璃)的图像。
二维扰动贴图中包含第一像素点的折射偏移参数,二维不透明贴图包含第三像素点的坐标。
作为利用二维扰动贴图对二维不透明贴图进行偏移处理,得到用于表示目标对象的折射效果的折射效果参数的方式可以是指:利用第一像素点的折射偏移参数偏移对应第三像素点在二维不透明贴图中的坐标,得到用于表示目标对象的折射效果的折射效果参数。
请参照图3与图4,其分别为用于表示虚拟场景中的雾气深度范围的示意图与用于表示目标对象的折射效果的示意图,实际图3与图4为扰动后的深度纹理图的示意图与扰动后的相机不透明纹理贴图示意图。通过图3与图4可以看出:海底玻璃隧道外的物体发生了扭曲变形,变形即为通过扰动原因产生的。
具体可以采用如下方式获得折射效果参数:half3 refraction=SAMPLE_TEXTURE2D(_CameraOpaqueTexture,sampler_CameraOpaqueTexture,screenUV+refractionOffset).rgb。
步骤S205:获得虚拟场景的透光雾气效果参数。
在本实施例中,作为获得虚拟场景的透光雾气效果参数,可以是:确定虚拟场景中的当前光线方位;基于光线方位,获得虚拟场景的透光雾气效果参数。
具体地,确定虚拟场景中的当前光线方位,可以是指:确定虚拟场景中的当前光源方向以及虚拟角色在虚拟场景中的当前视线方向;基于光源方向与视线方向,确定虚拟场景中的当前光线方位。
作为基于光源方向与视线方向,确定虚拟场景中的当前光线方位,可以是指:对用于表示光源方向的参数与用于表示视线方向的参数进行点积运算,确定虚拟场景中的当前光线方位。如采用half dirFac=saturate(dot(-mainLight.direction,viewDirWS))的方式确定当前光线方位。
作为基于光线方位,获得虚拟场景的透光雾气效果参数,可以是指:确定虚拟场景中的用于表示当前光线颜色的光线颜色参数以及用于表示雾气颜色的雾气颜色参数;以用于表示光线方位的光线方位参数作为权重,混合光线颜色参数以及雾气颜色参数,获得虚拟场景的透光雾气效果参数。。
上述以用于表示光线方位的光线方位参数作为权重,混合光线颜色参数以及雾气颜色参数,获得虚拟场景的透光雾气效果参数,可以是指:采用线性插值函数对光线方位参数、光线颜色参数以及雾气颜色参数进行处理,获得虚拟场景的透光雾气效果参数。如采用half3 scattringColor=lerp(_FogColor.rgb,_DirColor.rgb,dirFac)的方式获得虚拟场景的透光雾气效果参数。
为了进一步体现出当游戏角色处于玻璃隧道内的不同位置,或者游戏角色看向玻璃隧道外部的视线不同时,所能看到的雾效受光线影响不同而不同,还可以预先获取虚拟场景的透光雾气效果参数。请参见图6,其为用于表示虚拟场景的透光雾气效果参数的示意图,其实际上可以是指目标对象的透光效果图。该目标对象的透光效果图实际上对应于虚拟角色处于玻璃隧道内特定位置,并以特定的视线方向看向玻璃隧道外部的透光效果图。实际上,当虚拟角色在海底隧道内所处的位置发生变化或者看向玻璃隧道外部的视线方向发生了变化,则目标对象的透光效果图会发生变化。
作为获取目标对象的透光效果图的一种方式,可以是指:基于虚拟场景中的当前光线方位,获取目标对象的透光效果图。
在海底游戏场景中,目标对象的透光效果图为目标对象的海底透光效果图。
作为获取目标对象的海底透光效果图的一种方式,可以是指:基于游戏场景中的当前光线方位,获取目标对象的海底透光效果图。
具体地,基于游戏场景中的当前光线方位,获取目标对象的海底透光效果图,可以按照如下方式:首先,确定游戏场景中的当前光线方位;之后,基于光线方位,获取目标对象的海底透光效果图。
具体地,请参照图5,其为用于表示当前光线方位的示意图。在用于表示当前光线方位的示意图中,包含了用于表示当前光线方位的参数。
更具体地,确定游戏场景中的当前光线方位可以按照如下的方式:首先,确定游戏场景中的当前光源方向以及游戏玩家在游戏中的当前视线方向;之后,基于光源方向与视线方向,确定游戏场景中的当前光线方位。游戏场景中的当前光线方位可以是太阳光线相对于游戏角色的方位,或者也可以是其他光源产生的光线相对于游戏角色的方位。
在本实施例中,基于光源方向与视线方向,确定游戏场景中的当前光线方位,可以是指:对用于表示光源方向的参数与用于表示视线方向的参数进行点积运算,确定游戏场景中的当前光线方位。
在本实施例中,更具体地,基于游戏场景中的当前光线方位,获取目标对象的海底透光效果图,可以参照如下方式:首先,确定游戏场景中的当前光线颜色以及海底雾颜色;之后,以光线方位作为权重,混合光线颜色以及海底雾颜色,获取虚拟场景的透光雾气效果参数;最终,采用海底透光参数对目标对象进行处理,获取目标对象的海底透光效果图。
上述以光线方位作为权重,混合光线颜色以及海底雾颜色,获取虚拟场景的透光雾气效果参数实际上可以利用线性插值函数进行运算。即:采用线性插值函数对用于表示光线方位的参数、用于表示光线颜色的参数以及用于表示海底雾颜色的参数进行运算处理,获取虚拟场景的透光雾气效果参数。
例如,当用于表示光线方位的参数为A,用于表示光线颜色的参数为B,用于表示海底雾颜色的参数为C时,线性插值函数计算公式为A*B+(1-A)*C。
在获得透光效果图之后,可以将扰动后的深度纹理图、扰动后的相机不透明纹理贴图以及透光效果图进行叠放,获得用于在用户端的游戏界面中展示的目标图像。
在获取扰动后的深度纹理图、扰动后的相机不透明纹理贴图以及透光效果图之后,将扰动后的深度纹理图、扰动后的相机不透明纹理贴图以及透光效果图进行叠放,获得用于在用户端的游戏界面中展示的目标图像。
具体地,将扰动后的深度纹理图、扰动后的相机不透明纹理贴图以及透光效果图进行叠放,获得用于在用户端的游戏界面中展示的目标图像,可以按照如下描述的方式。
首先,基于扰动后的深度纹理图,获取用于表示海底的雾气深度范围的参数;同时,基于扰动后的相机不透明纹理贴图,获取用于表示目标对象的折射效果的参数。
之后,以用于表示海底的雾气深度范围的参数作为权重,混合用于表示目标对象的折射效果的参数以及海底透光参数,获取用于对目标对象进行处理的目标处理参数。
再之后,采用目标处理参数对目标对象进行处理,获得用于在用户端的游戏界面中展示的目标图像。最终获得的目标图像请参照图7,其为目标图像的示意图。
具体地,以用于表示海底的雾气深度范围的参数作为权重,混合用于表示目标对象的折射效果的参数以及海底透光参数,获取用于对目标对象进行处理的目标处理参数,可以是指:采用线性插值函数对用于表示海底的雾气深度范围的参数、用于表示目标对象的折射效果的参数以及海底透光参数进行处理,获取用于对目标对象进行处理的目标处理参数。
步骤S206:根据雾气深度范围参数、折射效果参数和透光雾气效果参数,获得针对目标对象的渲染参数。
作为根据雾气深度范围参数、折射效果参数和透光雾气效果参数,获得针对目标对象的渲染参数的一种方式,可以是:以雾气深度范围参数作为权重,混合折射效果参数和透光雾气效果参数,获得针对目标对象的渲染参数。
具体地,以雾气深度范围参数作为权重,混合折射效果参数和透光雾气效果参数,获得针对目标对象的渲染参数,可以是:采用线性插值函数对雾气深度范围参数、折射效果参数和透光雾气效果参数进行处理,获得针对目标对象的渲染参数。如采用half3tunnelRefraction=lerp(refraction,scattringColor.rgb,refractedSceneDepth)的方式获得针对目标对象的渲染参数。
该步骤实际上相当于将目标对象的透光效果图与扰动后的深度纹理图、扰动后的相机不透明纹理贴图进行,实际获得的目标图像能够对应虚拟角色处于玻璃隧道内特定位置,并以特定的视线方向看到的玻璃隧道外部的雾效。
如果本实施例中的方法用于服务端;方法还包括:向用户端提供针对目标对象的渲染参数;其中,用户端用于在显示设备屏幕中基于针对目标对象的渲染参数进行渲染。
如果本实施例中的方法用于用户端;方法还包括:在用户端的显示设备屏幕中基于针对目标对象的渲染参数进行渲染。
由于该方法将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得虚拟场景在二维空间中的二维场景数据;并根据二维场景数据获得针对虚拟场景中的目标对象的二维扰动贴图、二维场景深度图以及二维不透明贴图;并利用二维扰动贴图对二维场景深度图进行偏移处理,得到用于表示虚拟场景中的雾气深度范围的雾气深度范围参数;同时利用二维扰动贴图对二维不透明贴图进行偏移处理,得到用于表示目标对象的折射效果的折射效果参数;还获得虚拟场景的透光雾气效果参数;最终根据雾气深度范围参数、折射效果参数和透光雾气效果参数,获得针对目标对象的渲染参数。由于最终的渲染参数是基于雾气深度范围参数、折射效果参数和透光雾气效果参数获得的,进而使得渲染参数考虑了虚拟场景中涉及的深度、折射、透光等因素,进而基于该渲染参数渲染的雾效更为接近真实。同时,由于该方法是对二维信息进行处理,使得图像处理效率更高。由于在处理过程中获得了雾气深度范围参数、折射效果参数和透光雾气效果参数,相当于已经获得了虚拟场景中的雾气情况,无需再单独计算雾气效果。
第二实施例
与第一实施例对应地,本申请第二实施例提供一种虚拟场景图像展示方法,由于第二实施例中展示的目标图像是基于第一实施例的方法获得的,第二实施例中与第一实施例相同的部分不再介绍,具体请参见第一实施例的相关部分。
请参照图8,其为本申请第二实施例提供的虚拟场景图像展示方法的流程图。
本申请实施例的虚拟场景图像展示方法,包括如下步骤:
步骤S801:获得针对目标对象的渲染参数。
在本实施例中,针对目标对象的渲染参数为采用第一实施例的方法处理得到的。
步骤S802:在显示设备屏幕中基于针对目标对象的渲染参数进行渲染。
该实施例渲染的渲染参数是基于第一实施例方法获得的:由于第一实施例的方法最终获得的渲染参数是基于雾气深度范围参数、折射效果参数和透光雾气效果参数获得的,进而使得渲染参数考虑了虚拟场景中涉及的深度、折射、透光等因素,进而基于该渲染参数渲染的雾效更为接近真实。
第三实施例
与本申请第一实施例提供的方法相对应的,本申请第三实施例还提供一种虚拟场景图像处理装置。由于装置实施例基本相似于第一实施例,所以描述得比较简单,相关之处参见第一实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
请参照图9,其为本申请第三实施例提供的虚拟场景图像处理装置的示意图。
该虚拟场景图像处理装置,包括:
映射单元901,用于将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得所述虚拟场景在所述二维空间中的二维场景数据;
扰动贴图获得单元902,用于根据所述二维场景数据获得针对所述虚拟场景中的目标对象的二维扰动贴图;
第一偏移单元903,用于根据所述二维场景数据获得针对所述虚拟场景的二维场景深度图,并利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数;
第二偏移单元904,用于根据所述二维场景数据获得针对所述虚拟场景的二维不透明贴图,并利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数;
雾气效果参数获得单元905,用于获得所述虚拟场景的透光雾气效果参数;
渲染参数获得单元906,用于根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
可选的,所述二维扰动贴图中包含第一像素点的折射偏移参数,所述二维场景深度图包含第二像素点的坐标;
所述利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数,包括:
利用第一像素点的折射偏移参数偏移对应第二像素点在所述二维场景深度图中的坐标,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数。
可选的,所述二维扰动贴图中包含第一像素点的折射偏移参数,所述二维不透明贴图包含第三像素点的坐标;
所述利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数,包括:
利用第一像素点的折射偏移参数偏移对应第三像素点在所述二维不透明贴图中的坐标,得到用于表示所述目标对象的折射效果的折射效果参数。
可选的,所述获得所述虚拟场景的透光雾气效果参数,包括:
确定虚拟场景中的当前光线方位;
基于所述光线方位,获得所述虚拟场景的透光雾气效果参数。
可选的,所述确定虚拟场景中的当前光线方位,包括:
确定虚拟场景中的当前光源方向以及虚拟角色在虚拟场景中的当前视线方向;
基于所述光源方向与所述视线方向,确定虚拟场景中的当前光线方位。
可选的,所述基于所述光源方向与所述视线方向,确定虚拟场景中的当前光线方位,包括:
对用于表示所述光源方向的参数与用于表示所述视线方向的参数进行点积运算,确定虚拟场景中的当前光线方位。
可选的,所述基于所述光线方位,获得所述虚拟场景的透光雾气效果参数,包括:
确定虚拟场景中的用于表示当前光线颜色的光线颜色参数以及用于表示雾气颜色的雾气颜色参数;
以用于表示所述光线方位的光线方位参数作为权重,混合所述光线颜色参数以及所述雾气颜色参数,获得所述虚拟场景的透光雾气效果参数。
可选的,所述以用于表示所述光线方位的光线方位参数作为权重,混合所述光线颜色参数以及所述雾气颜色参数,获得所述虚拟场景的透光雾气效果参数,包括:
采用线性插值函数对所述光线方位参数、所述光线颜色参数以及所述雾气颜色参数进行处理,获得所述虚拟场景的透光雾气效果参数。
可选的,所述根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数,包括:
以所述雾气深度范围参数作为权重,混合所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
可选的,所述以所述雾气深度范围参数作为权重,混合所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数,包括:
采用线性插值函数对所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数进行处理,获得针对所述目标对象的渲染参数。
可选的,所述装置用于服务端;所述装置还包括:提供单元,用于向用户端提供所述针对所述目标对象的渲染参数;其中,所述用户端用于在显示设备屏幕中基于所述针对所述目标对象的渲染参数进行渲染。
可选的,所述装置用于用户端;所述装置还包括:渲染单元,用于在所述用户端的显示设备屏幕中基于所述针对所述目标对象的渲染参数进行渲染。
第四实施例
与本申请第二实施例提供的方法相对应的,本申请第四实施例还提供一种虚拟场景图像展示装置。由于装置实施例基本相似于第二实施例,所以描述得比较简单,相关之处参见第二实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
请参照图10,其为本申请第四实施例提供的虚拟场景图像展示装置的示意图。
该虚拟场景图像展示装置,包括:
渲染参数获得单元1001,用于获得针对目标对象的渲染参数;所述针对目标对象的渲染参数为采用第一实施例的方法处理得到的;
渲染单元1002,用于在显示设备屏幕中基于所述针对目标对象的渲染参数进行渲染。
第五实施例
与本申请第一实施例至第二实施例的方法相对应的,本申请第五实施例还提供一种电子设备。
如图11所示,图11为本申请第五实施例中提供的一种电子设备的示意图。该电子设备,包括:处理器1101;存储器1102,用于存储计算机程序,该计算机程序被处理器运行,执行第一实施例至第二实施例的方法。
第六实施例
与本申请第一实施例至第二实施例的方法相对应的,本申请第六实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行第一实施例至第二实施例的方法。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (17)
1.一种虚拟场景图像处理方法,其特征在于,包括:
将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得所述虚拟场景在所述二维空间中的二维场景数据;
根据所述二维场景数据获得针对所述虚拟场景中的目标对象的二维扰动贴图;
根据所述二维场景数据获得针对所述虚拟场景的二维场景深度图,并利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数;
根据所述二维场景数据获得针对所述虚拟场景的二维不透明贴图,并利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数;
获得所述虚拟场景的透光雾气效果参数;
根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
2.根据权利要求1所述的方法,其特征在于,所述二维扰动贴图中包含第一像素点的折射偏移参数,所述二维场景深度图包含第二像素点的坐标;
所述利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数,包括:
利用第一像素点的折射偏移参数偏移对应第二像素点在所述二维场景深度图中的坐标,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数。
3.根据权利要求1所述的方法,其特征在于,所述二维扰动贴图中包含第一像素点的折射偏移参数,所述二维不透明贴图包含第三像素点的坐标;
所述利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数,包括:
利用第一像素点的折射偏移参数偏移对应第二像素点在所述二维不透明贴图中的坐标,得到用于表示所述目标对象的折射效果的折射效果参数。
4.根据权利要求1所述的方法,其特征在于,所述获得所述虚拟场景的透光雾气效果参数,包括:
确定虚拟场景中的当前光线方位;
基于所述光线方位,获得所述虚拟场景的透光雾气效果参数。
5.根据权利要求4所述的方法,其特征在于,所述确定虚拟场景中的当前光线方位,包括:
确定虚拟场景中的当前光源方向以及虚拟角色在虚拟场景中的当前视线方向;
基于所述光源方向与所述视线方向,确定虚拟场景中的当前光线方位。
6.根据权利要求4所述的方法,其特征在于,所述基于所述光源方向与所述视线方向,确定虚拟场景中的当前光线方位,包括:
对用于表示所述光源方向的参数与用于表示所述视线方向的参数进行点积运算,确定虚拟场景中的当前光线方位。
7.根据权利要求4所述的方法,其特征在于,所述基于所述光线方位,获得所述虚拟场景的透光雾气效果参数,包括:
确定虚拟场景中的用于表示当前光线颜色的光线颜色参数以及用于表示雾气颜色的雾气颜色参数;
以用于表示所述光线方位的光线方位参数作为权重,混合所述光线颜色参数以及所述雾气颜色参数,获得所述虚拟场景的透光雾气效果参数。
8.根据权利要求7所述的方法,其特征在于,所述以用于表示所述光线方位的光线方位参数作为权重,混合所述光线颜色参数以及所述雾气颜色参数,获得所述虚拟场景的透光雾气效果参数,包括:
采用线性插值函数对所述光线方位参数、所述光线颜色参数以及所述雾气颜色参数进行处理,获得所述虚拟场景的透光雾气效果参数。
9.根据权利要求1所述的方法,其特征在于,所述根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数,包括:
以所述雾气深度范围参数作为权重,混合所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
10.根据权利要求9所述的方法,其特征在于,所述以所述雾气深度范围参数作为权重,混合所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数,包括:
采用线性插值函数对所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数进行处理,获得针对所述目标对象的渲染参数。
11.根据权利要求1所述的方法,其特征在于,所述方法用于服务端;所述方法还包括:
向用户端提供所述针对所述目标对象的渲染参数;其中,所述用户端用于在显示设备屏幕中基于所述针对所述目标对象的渲染参数进行渲染。
12.根据权利要求1所述的方法,其特征在于,所述方法用于用户端;所述方法还包括:
在所述用户端的显示设备屏幕中基于所述针对所述目标对象的渲染参数进行渲染。
13.一种虚拟场景图像展示方法,其特征在于,包括:
获得针对目标对象的渲染参数;所述针对目标对象的渲染参数为采用权利要求1-12任意一项所述方法处理得到的;
在显示设备屏幕中基于所述针对目标对象的渲染参数进行渲染。
14.一种虚拟场景图像处理装置,其特征在于,包括:
映射单元,用于将虚拟场景在三维空间的三维场景数据映射到显示设备屏幕对应的二维空间中,获得所述虚拟场景在所述二维空间中的二维场景数据;
扰动贴图获得单元,用于根据所述二维场景数据获得针对所述虚拟场景中的目标对象的二维扰动贴图;
第一偏移单元,用于根据所述二维场景数据获得针对所述虚拟场景的二维场景深度图,并利用所述二维扰动贴图对所述二维场景深度图进行偏移处理,得到用于表示所述虚拟场景中的雾气深度范围的雾气深度范围参数;
第二偏移单元,用于根据所述二维场景数据获得针对所述虚拟场景的二维不透明贴图,并利用所述二维扰动贴图对所述二维不透明贴图进行偏移处理,得到用于表示所述目标对象的折射效果的折射效果参数;
雾气效果参数获得单元,用于获得所述虚拟场景的透光雾气效果参数;
渲染参数获得单元,用于根据所述雾气深度范围参数、所述折射效果参数和所述透光雾气效果参数,获得针对所述目标对象的渲染参数。
15.一种虚拟场景图像展示装置,其特征在于,包括:
渲染参数获得单元,用于获得针对目标对象的渲染参数;所述针对目标对象的渲染参数为采用权利要求1-12任意一项所述方法处理得到的;
渲染单元,用于在显示设备屏幕中基于所述针对目标对象的渲染参数进行渲染。
16.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储计算机程序,该计算机程序被处理器运行,执行权利要求1-13任意一项所述的方法。
17.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行权利要求1-13任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680063.2A CN114288650A (zh) | 2021-12-31 | 2021-12-31 | 虚拟场景图像处理方法、展示方法、装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680063.2A CN114288650A (zh) | 2021-12-31 | 2021-12-31 | 虚拟场景图像处理方法、展示方法、装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114288650A true CN114288650A (zh) | 2022-04-08 |
Family
ID=80975465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111680063.2A Pending CN114288650A (zh) | 2021-12-31 | 2021-12-31 | 虚拟场景图像处理方法、展示方法、装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114288650A (zh) |
-
2021
- 2021-12-31 CN CN202111680063.2A patent/CN114288650A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109313470B (zh) | 利用重新投影的锐利文本绘制 | |
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
US10164459B2 (en) | Selective rasterization | |
CN105913481B (zh) | 阴影渲染装置及其控制方法 | |
US8854392B2 (en) | Circular scratch shader | |
US10089796B1 (en) | High quality layered depth image texture rasterization | |
CN111862295A (zh) | 一种虚拟对象的展示方法、装置、设备和存储介质 | |
US20130257885A1 (en) | Low Power Centroid Determination and Texture Footprint Optimization For Decoupled Sampling Based Rendering Pipelines | |
CN113487717B (zh) | 图片处理方法及装置、计算机可读存储介质、电子设备 | |
CN111882632A (zh) | 一种地表细节的渲染方法、装置、设备及存储介质 | |
US8854368B1 (en) | Point sprite rendering in a cross platform environment | |
CN112891946A (zh) | 游戏场景生成方法和装置、可读存储介质、电子设备 | |
EP2956911A1 (en) | Method and device for establishing the frontier between objects of a scene in a depth map | |
CN112734896A (zh) | 环境遮蔽渲染方法、装置、存储介质及电子设备 | |
CN116310036A (zh) | 场景渲染方法、装置、设备、计算机可读存储介质及产品 | |
Barsky et al. | Elimination of artifacts due to occlusion and discretization problems in image space blurring techniques | |
KR20160103926A (ko) | 그림자 렌더링 방법 및 그림자 렌더링 장치 | |
CN114288650A (zh) | 虚拟场景图像处理方法、展示方法、装置、电子设备 | |
CN114742931A (zh) | 渲染图像的方法、装置、电子设备及存储介质 | |
US9273955B2 (en) | Three-dimensional data acquisition | |
CN106846449B (zh) | 一种视角材质或贴图的渲染方法及装置 | |
CN114693780A (zh) | 图像的处理方法、装置、设备、存储介质和程序产品 | |
US8982120B1 (en) | Blurring while loading map data | |
CN111862342A (zh) | 增强现实的纹理处理方法、装置、电子设备及存储介质 | |
CN112465692A (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 |