一种基于Unity的色调映射方法技术

技术编号:32788366 阅读:6 留言:0更新日期:2022-03-23 19:48
本发明专利技术公开了一种基于Unity的色调映射方法,包括如下步骤:S1、在Unity进行色调映射前,将原始图像的渲染结果保存为基本纹理;S2、根据预设的亮度阈值区分出原始图像的暗部区域和明部区域,并分别调整其亮度值,对调整后的亮度值做模糊处理后保存成亮度纹理;S3、结合亮度纹理和映射曲线,对原始图像进行色调映射处理,得到色调映射后的渲染结果,并保存成色调映射纹理;S4、混合色调映射纹理与基本纹理的颜色值,得到最终色调映射图像。本发明专利技术的方法改善了映射后的图像的画面中暗部区域信息丢失的情况,精准控制场景中单个物件受色调映射影响的强弱强度。射影响的强弱强度。射影响的强弱强度。

【技术实现步骤摘要】
一种基于Unity的色调映射方法


[0001]本专利技术涉及计算机
,特别涉及一种基于Unity的色调映射方法。

技术介绍

[0002]色调映射是在有限动态范围媒介上近似显示高动态范围图像的计算机图形学技术,其基本原理是进行大幅度的对比度衰减将场景亮度变换到可以显示的范围,同时要保持图像细节与颜色等对于表现原始场景非常重要的信息。现有的Unity提供的色调映射只能整体影响所有物件最终呈现的效果,不能控制单个物件受色调映射影响的强弱程度,且会使得画面中亮度位于暗部区域的像素会变得更暗,丢失一定的颜色信息,最终整个画面的效果达不到预期。

技术实现思路

[0003]为解决上述问题,本专利技术提供了一种基于Unity的色调映射方法。
[0004]本专利技术采用以下技术方案:
[0005]一种基于Unity的色调映射方法,包括如下步骤:
[0006]S1、在Unity进行色调映射前,将原始图像的渲染结果保存为基本纹理;
[0007]S2、根据预设的亮度阈值区分出所述原始图像的暗部区域和明部区域,并分别调整其亮度值,对调整后的亮度值做模糊处理后保存成亮度纹理;
[0008]S3、结合所述亮度纹理和映射曲线,对所述原始图像进行色调映射处理,得到色调映射后的渲染结果,并保存成色调映射纹理;
[0009]S4、混合所述色调映射纹理与所述基本纹理的颜色值,得到最终色调映射图像。
[0010]进一步地,还包括步骤S5、通过调节原始图像中单个物件的颜色亮度,控制所述最终色调映射图像的效果。
[0011]进一步地,所述基本纹理、亮度纹理以及色调映射纹理的属性均为全局渲染纹理。
[0012]进一步地,步骤S2具体包括如下步骤:
[0013]S21、计算所述基本纹理中各像素的亮度值L;
[0014]S22、预先设定亮度阈值luminance,所述亮度值L小于所述亮度阈值luminance的区域属于暗部区域,所述亮度值L等于或高于所述亮度阈值luminance的区域属于明部区域;
[0015]S23、将所述暗部区域的亮度值L修改为L1=0,即所述暗部区域内的像素不受色调映射的影响;同时将所述明部区域的亮度值L修改为L1=L

luminance,即所述明部区域内的像素受色调映射的影响程度为L

luminance;
[0016]S24、对修改后的亮度值L1做模糊处理后保存为亮度纹理。
[0017]进一步地,所述亮度值L的计算为:
[0018]L=color.r*0.2125+color.g*0.7154+color.b*0.0721;其中,color.r表示红色的亮度值,color.g表示绿色的亮度值,color.b表示蓝色的亮度值。
[0019]进一步地,所述模糊处理采用高斯模糊算法。
[0020]进一步地,步骤S4具体包括如下步骤:
[0021]S41、预先设定最低亮度值L
min
和最高亮度值L
max

[0022]S42、利用smoothstep函数在最低亮度值L
min
和最高亮度值L
max
之间做平滑处理,计算出混合参数blend;
[0023]S43、根据所述混合参数blend,混合所述色调映射纹理和基本纹理的颜色值,得到最终的受色调映射影响的颜色值,并输出最终色调映射图像。
[0024]采用上述技术方案后,本专利技术与
技术介绍
相比,具有如下优点:
[0025]1、本专利技术通过设置亮度阈值,区分出原始图像中的暗部区域,并将暗部区域的亮度值修改为0,在不改变原有色调映射曲线的条件下,保留了暗部区域的颜色信息,改善了映射后的图像的画面中暗部区域信息丢失的情况;
[0026]2、通过混合参数,将原始图像和映射后的图像的亮度值进行混合,从而控制场景中受色调映射影响的强弱强度;
[0027]3、根据实际最终的映射效果图,实时调节原始图像上单个物件上的颜色亮度和亮度阈值参数,进而精准控制场景中的单个物件受色调映射影响的强弱强度,快速、直观地调整最终的映射画面显示效果,制作出更逼真、更优化的映射画面。
附图说明
[0028]图1为本专利技术的方法流程图。
具体实施方式
[0029]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0030]实施例
[0031]如图1所示,一种基于Unity的色调映射方法,包括如下步骤:
[0032]S1、在Unity进行色调映射前,将原始图像的渲染结果保存为基本纹理;
[0033]S2、根据预设的亮度阈值区分出所述原始图像的暗部区域和明部区域,并分别调整其亮度值,对调整后的亮度值做模糊处理后保存成亮度纹理;
[0034]步骤S2具体包括如下步骤:
[0035]S21、从所述基本纹理中提取出亮度信息,并计算所述基本纹理中各像素的亮度值L;
[0036]所述亮度值L的计算为:
[0037]L=color.r*0.2125+color.g*0.7154+color.b*0.0721;其中,color.r表示红色的亮度值,color.g表示绿色的亮度值,color.b表示蓝色的亮度值。
[0038]S22、预先设定亮度阈值luminance,所述亮度值L小于所述亮度阈值luminance的区域属于暗部区域,所述亮度值L等于或高于所述亮度阈值luminance的区域属于明部区域;
[0039]S23、将所述暗部区域的亮度值L修改为L1=0,即所述暗部区域内的像素不受色调
映射的影响;同时将所述明部区域的亮度值L修改为L1=L

luminance,即所述明部区域内的像素受色调映射的影响程度为L

luminance;
[0040]S24、对修改后的亮度值L1做模糊处理后保存为亮度纹理。所述模糊处理采用高斯模糊算法。这里进行模糊处理是为了平滑色调映射影响区域的边缘。
[0041]S3、结合所述亮度纹理和映射曲线,对所述原始图像进行色调映射处理,得到色调映射后的渲染结果,并保存成色调映射纹理;由于亮度纹理中通过预设的亮度阈值luminance区分出了暗部区域,并将其亮度值L修改为L1=0,使得暗部区域的像素不受色调映射的影响,从而保留了暗部区域的颜色信息。
[0042]S4、混合所述色调映射纹理与所述基本纹理的颜色值,得到最终色调映射图像。
[0043]步骤S4具体包括如下步骤:
[0044]S41、预先设定最低亮度值L
min
和最高亮度值L
max
;亮度低的表示受色调映射影响的程度弱,亮度高的表示受色调映射影响的程度本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Unity的色调映射方法,其特征在于:包括如下步骤:S1、在Unity进行色调映射前,将原始图像的渲染结果保存为基本纹理;S2、根据预设的亮度阈值区分出所述原始图像的暗部区域和明部区域,并分别调整其亮度值,对调整后的亮度值做模糊处理后保存成亮度纹理;S3、结合所述亮度纹理和映射曲线,对所述原始图像进行色调映射处理,得到色调映射后的渲染结果,并保存成色调映射纹理;S4、混合所述色调映射纹理与所述基本纹理的颜色值,得到最终色调映射图像。2.如权利要求1所述的一种基于Unity的色调映射方法,其特征在于:还包括步骤S5、通过调节原始图像中单个物件的颜色亮度,控制所述最终色调映射图像的效果。3.如权利要求2所述的一种基于Unity的色调映射方法,其特征在于:所述基本纹理、亮度纹理以及色调映射纹理的属性均为全局渲染纹理。4.如权利要求3所述的一种基于Unity的色调映射方法,其特征在于:步骤S2具体包括如下步骤:S21、计算所述基本纹理中各像素的亮度值L;S22、预先设定亮度阈值luminance,所述亮度值L小于所述亮度阈值luminance的区域属于暗部区域,所述亮度值L等于或高于所述亮度阈值luminance的区域属于明部区域;S23、将所述暗部区域的亮度值L修改为L1=0,即所述暗部区域内的像素不受色调映射的影响;同时将...

【专利技术属性】
技术研发人员:张弦
申请(专利权)人:厦门极致互动网络技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1