CN112562053B - 一种pbr材质贴图生成方法及装置 - Google Patents
一种pbr材质贴图生成方法及装置 Download PDFInfo
- Publication number
- CN112562053B CN112562053B CN202011449676.0A CN202011449676A CN112562053B CN 112562053 B CN112562053 B CN 112562053B CN 202011449676 A CN202011449676 A CN 202011449676A CN 112562053 B CN112562053 B CN 112562053B
- Authority
- CN
- China
- Prior art keywords
- color
- map
- pbr
- value
- normal
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- 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
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/12—Shadow map, environment map
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供一种PBR材质贴图生成方法及装置,该方法包括:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。本发明实施例通过预先设计一套包含目前建模常用的PBR材质贴图库,通过简易的界面点选操作即可生成一套高质量的PBR贴图,可以对材质贴图库里的贴图进行方便的修改及细节调整,不需专业知识即可操作,有利于快速、高效、方便地生成PBR材质贴图。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种PBR材质贴图生成方法及装置。
背景技术
近年,PBR(Physicallly-Based Rendering,基于物理的渲染)材质由于其“真实”的效果特点,被运用到了越来越多的领域,对于PBR材质贴图的制作要求也越来越高。从主流来说,制作一套PBR材质贴图,需要美术制作者使用PhotoShop、SubstancePainter或SubstanceDesigner等制作软件通过多道工序制作出来。但是由于上述制作软件通常需要相关专业的技术人员操作,从而使得PBR材质贴图的制作“门槛”较高,无法针对普通大众便捷地生成PBR材质贴图。
发明内容
为解决现有技术中的问题,本发明实施例提供一种PBR材质贴图生成方法及装置。
第一方面,本发明实施例提供一种PBR材质贴图生成方法,该包括:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。
进一步地,所述PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图中至少一项;所述设置项包括所述目标材质默认的基础颜色、暗部颜色、暗部范围、法线强度、环境遮蔽强度、金属性强度及粗糙度强度中至少一项;所述调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图,具体包括:根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图,根据所述法线强度更新所述法线图,根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,得到所述目标材质更新后的PBR材质贴图。
进一步地,所述方法还包括:导入彩色图片,对所述彩色图片的尺寸进行缩放从而与所述颜色贴图的尺寸一致;将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图。
进一步地,所述方法还包括:导入细节纹理图片,并将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图。
进一步地,所述方法还包括:将所述更新后的PBR材质贴图输出给虚幻引擎并贴到材质实例上进行渲染,实现PBR材质展示。
进一步地,所述根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图,具体包括:
对所述颜色贴图的每个像素取其颜色值c3,所述颜色值c3取R通道值与所述暗部范围进行比较,当所述R通道值大于或等于所述暗部范围时,按照基础颜色混合公式计算更新后所述颜色贴图的颜色值;和/或,当所述R通道值小于所述暗部范围时,按照暗部颜色混合公式计算更新后所述颜色贴图的颜色值;
所述基础颜色混合公式表示为:
Rys<0.5时,c_basecolor=2*c1*c3;
Rys≥0.5时,c_basecolor=1-2*(1–c1)*(1–c3);
和/或,所述暗部颜色混合公式表示为:
c_darkcolor=c_basecolor*(1-(f-Rys)/f)+c2*(f-Rys)/f;
其中,所述颜色贴图采用灰度图的形式进行存储,Rys表示所述颜色贴图的R通道值,取值范围为[0,1];c1表示所述基础颜色,c2表示所述暗部颜色,f表示所述暗部范围,c_basecolor表示经所述基础颜色混合公式计算后得到的所述颜色贴图的颜色值,c_darkcolor表示经所述暗部颜色混合公式计算后得到的所述颜色贴图的颜色值;
所述根据所述法线强度更新所述法线图,具体包括对于所述法线图中的每个像素执行如下操作:
将法线值的取值范围由[0,1]转到[-1,1],得到修正后的法线值N1;
将所述法线值N1和所述法线强度相乘,其中,B通道保持不变,得到法线值N2;
对所述法线值N2进行归一化,得到法线值N3;
将所述法线值N3的取值范围还原到[0,1],得到更新后的法线图;
所述根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,具体包括对于所述法线图中的每个像素按照如下公式进行处理:
Rhh1=mix_color(Rhh,IAO);
和/或,
Ghh1=mix_color(Ghh,IM);
和/或,Bhh1=mix_color(Bhh,IR);
其中,Rhh1表示更新后所述混合贴图中R通道的环境遮蔽值,Rhh表示更新前所述混合贴图中R通道的环境遮蔽值,IAO表示所述环境遮蔽强度;Ghh1表示更新后所述混合贴图中G通道的金属性值,Ghh表示更新前所述混合贴图中G通道的金属性值,IM表示所述金属性强度;Bhh1表示更新后所述混合贴图中B通道的粗糙度值,Bhh表示更新前所述混合贴图中B通道的粗糙度值,IR表示所述粗糙度强度;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B,
当B>=0.5时,返回1-2*(1-A)*(1-B)。
进一步地,所述将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图的计算公式如下:
R<0.5时,c_color=2*c4*c3;
R≥0.5时,c_color=1-2*(1–c4)*(1–c3);
其中,c4表示所述彩色图片的颜色值;c3表示所述颜色贴图的像素的颜色值;R表示所述颜色贴图的R通道值,取值范围为[0,1];c_color表示更新后的所述颜色贴图的颜色值。
进一步地,所述细节纹理图片的PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图;所述将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图,具体包括:
将所述细节纹理图片与所述目标材质的所述颜色贴图的颜色值通过mix_color函数进行逐像素混合,得到更新后所述PBR材质贴图的颜色贴图;和/或,将所述细节纹理图片与所述目标材质的所述法线图的R通道和G通道的法线值通过mix_color函数进行逐像素混合,B通道保持所述目标材质的所述法线图的法线值,得到更新后所述PBR材质贴图的法线图;和/或,将所述细节纹理图片与所述目标材质的所述混合贴图的金属性值和粗糙度值通过mix_color函数进行逐像素混合,环境遮蔽值取值为所述细节纹理图片与所述目标材质的所述环境遮蔽值的乘积,得到更新后所述PBR材质贴图的混合贴图;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B,
当B>=0.5时,返回1-2*(1-A)*(1-B)。
第二方面,本发明实施例提供一种PBR材质贴图生成装置,该装置包括:目标材质选择模块,用于:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;更新模块,用于:调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的PBR材质贴图生成方法及装置,通过预先设计一套包含目前建模常用的PBR材质贴图库,通过简易的界面点选操作即可生成一套高质量的PBR贴图,可以对材质贴图库里的贴图进行方便的修改及细节调整,不需专业知识即可操作,有利于快速、高效、方便地生成PBR材质贴图。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的PBR材质贴图生成方法流程图;
图2是本发明一实施例提供的PBR材质贴图生成方法中材质选择界面的示例图;
图3是本发明一实施例提供的PBR材质贴图生成方法中材质选择完成后的界面显示示例图;
图4是本发明一实施例提供的PBR材质贴图生成方法中的导出结果示例图;
图5是本发明一实施例提供的PBR材质贴图生成方法中纹理叠加的效果示意图;
图6是本发明一实施例提供的PBR材质贴图生成方法中材质展示效果图;
图7是本发明另一实施例提供的PBR材质贴图生成方法流程图;
图8是本发明一实施例提供的PBR材质贴图生成装置的结构示意图;
图9示例了一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明一实施例提供的PBR材质贴图生成方法流程图。如图1所示,所述方法包括:
步骤101、在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值。
为了能够更简单快速的生成高品质的PBR纹理贴图,首先制作一个基础的PBR材质贴图库,材质贴图库基于材质的纹理样式、粗糙度、金属性、透明度、自发光属性等物理属性总结了制作模型主要用到的各类材质,如布料,毛料,皮革,塑料,橡胶,木材,金属,墙面涂料,纸,石材,镜面,玻璃,瓷器,自发光等。对于每个材质分类预先制作好PBR材质贴图并存储。
并且,对于每个材质分类,还对应存储有材质描述文件,所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值。这些设置项用于调整各类所述PBR材质贴图。
步骤102、调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。
通过调整所述设置项中的至少一种,根据预设的算法得到所述目标材质更新后的PBR材质贴图。算法可以利用计算机进行后台计算,实现相应PBR材质贴图的调整,不需人为参与。
本发明实施例通过预先设计一套包含目前建模常用的PBR材质贴图库,通过简易的界面点选操作即可生成一套高质量的PBR贴图,可以对材质贴图库里的贴图进行方便的修改及细节调整,不需专业知识即可操作,有利于快速、高效、方便地生成PBR材质贴图。
进一步地,基于上述实施例,所述PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图中至少一项;所述设置项包括所述目标材质默认的基础颜色、暗部颜色、暗部范围、法线强度、环境遮蔽强度、金属性强度及粗糙度强度中至少一项;所述调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图,具体包括:根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图,根据所述法线强度更新所述法线图,根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,得到所述目标材质更新后的PBR材质贴图。
在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图;所述材质描述文件包括所述目标材质默认的基础颜色、暗部颜色、暗部范围、法线强度、环境遮蔽强度、金属性强度及粗糙度强度。
本发明实施例中,对应每个材质分类,制作了大量的PBR贴图,含描述物体表面纹理的颜色贴图(BaseColor),描述凹凸的法线图(Normal),以及R、G、B通道分别对应环境遮蔽(AmbientOcclusion)、金属性(Metallic)、粗糙度(Roughness)的混合贴图(AO_M_R)。为便于处理,所有材质贴图可以统一尺寸。
除了PBR材质贴图外,对应每一种材质还包含描述材质默认基础颜色、暗部颜色、暗部范围、法线默认强度,粗糙度默认强度、金属性默认强度、AO(环境遮蔽)默认强度的material.json文件(材质描述文件)。
在生成PBR材质贴图时,首先在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图;所述材质描述文件包括所述目标材质默认的基础颜色、暗部颜色、暗部范围、法线强度、环境遮蔽强度、金属性强度及粗糙度强度。
图2是本发明一实施例提供的PBR材质贴图生成方法中材质选择界面的示例图。如图2所示,打开软件选择需要的材质,左边是材质列表,右边是缩略图。
调整所述基础颜色、所述暗部颜色、所述暗部范围、所述法线强度、所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中的至少一种。
图3是本发明一实施例提供的PBR材质贴图生成方法中材质选择完成后的界面显示示例图。如图3所示,可以调整材质基础颜色、暗部颜色、暗部范围、法线强度、粗糙度强度、金属性强度、AO强度等。界面所显示的项目可以根据所能支持的功能进行增减。
根据所述基础颜色、所述暗部颜色及所述暗部范围更新所述颜色贴图,根据所述法线强度更新所述法线图,根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度更新所述混合贴图,从而得到所述目标材质更新后的PBR材质贴图。
图4是本发明一实施例提供的PBR材质贴图生成方法中的导出结果示例图。如图4所示,调整完之后点导出即可生成PBR材质贴图,包括记录数据的json文件和表面纹理的颜色贴图(BaseColor),描述凹凸的法线图(Normal),以及R、G、B通道分别对应环境遮蔽(AmbientOcclusion)、金属性(Metallic)、粗糙度(Roughness)的混合贴图(AO_M_R)。其中,根据所述基础颜色、所述暗部颜色及所述暗部范围更新所述颜色贴图,根据所述法线强度更新所述法线图,根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度更新所述混合贴图,从而得到所述目标材质更新后的PBR材质贴图。
在上述实施例的基础上,本发明实施例通过根据描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图及对应的设置项调整PBR材质贴图,有利于实现PBR材质贴图的准确、快速调整。
进一步地,基于上述实施例,所述方法还包括:导入彩色图片,对所述彩色图片的尺寸进行缩放从而与所述颜色贴图的尺寸一致;将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图。
如果需要材质的颜色不是单一的基础色和暗部色而需要更丰富的颜色表示时,可以导入一张彩色图片,首先会将导入的图片缩放到和材质库中的贴图同等大小,如2048*2048,然后再逐像素跟材质的灰度图(颜色贴图)进行混合得到最终的颜色图片(更新后的颜色贴图)。
在上述实施例的基础上,本发明实施例通过将颜色贴图与导入的彩色图片进行混合得到更新后的颜色贴图,满足了更多的使用需求,提高了灵活性。
进一步地,基于上述实施例,所述方法还包括:导入细节纹理图片,并将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图。
对于每种材质还提供细节纹理图片,作用是在基础的纹理图片效果的基础上增加皱褶、条纹、斑块等细节效果。细节纹理图片也包括颜色灰度贴图(BaseColor),法线贴图(Normal)及R、G、B通道分别对应环境遮蔽(AmbientOcclusion)、金属性(Metallic)、粗糙度(Roughness)的混合贴图(AO_M_R)。进行叠加时会把每种图片跟材质对应的原图进行混合得到最终效果,需要分别对细节纹理的灰度贴图、法线贴图、混合贴图跟基础纹理的灰度贴图、法线贴图、混合贴图进行运算混合。
图5是本发明一实施例提供的PBR材质贴图生成方法中纹理叠加的效果示意图。如图5所示,示出了原图、叠加了皱褶效果及叠加了条纹效果的图片。
在上述实施例的基础上,本发明实施例通过导入细节纹理图片,并与材质贴图的原图进行混合,得到更新后的材质贴图,增强了材质贴图的实现效果。
进一步地,基于上述实施例,所述方法还包括:将所述更新后的PBR材质贴图输出给虚幻引擎并贴到材质实例上进行渲染,实现PBR材质展示。
为了使制作的材质效果跟实际使用上更加一致,结合了虚幻4引擎进行实时渲染,可做到所见即所得的修改,避免了在PS里调整最终在使用时效果却差别很大的情况。根据材质库里材质的类型,使用虚幻4的材质系统制作了多个用于渲染的材质实例,在材质库的每个材质下面有一个material.json文件,里面记录了对应的虚幻4的材质实例,进行渲染时,把计算最终的纹理图片(BaseColor)、法线(Normal)、粗糙度图(Roughness)、金属性图(Metallic)和环境遮蔽图(AmbientOcclusion)传输给虚幻4贴到材质实例上进行渲染得到跟实际使用接近的展示的效果。
图6是本发明一实施例提供的PBR材质贴图生成方法中材质展示效果图。如图6所示,是布料类型的材质对应的纹理图片(BaseColor)、法线(Normal)、粗糙度图(Roughness)、金属性图(Metallic)和环境遮蔽图(AmbientOcclusion)以及最终的结合虚幻4渲染效果图。
在上述实施例的基础上,本发明实施例通过将更新后的PBR材质贴图输出给虚幻引擎并贴到材质实例上进行渲染,使用者可以所见即所得的修改调整材质效果。
进一步地,基于上述实施例,所述根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图,具体包括:
对所述颜色贴图的每个像素取其颜色值c3,所述颜色值c3取R通道值与所述暗部范围进行比较,当所述R通道值大于或等于所述暗部范围时,按照基础颜色混合公式计算更新后所述颜色贴图的颜色值;和/或,当所述R通道值小于所述暗部范围时,按照暗部颜色混合公式计算更新后所述颜色贴图的颜色值;
所述基础颜色混合公式表示为:
Rys<0.5时,c_basecolor=2*c1*c3;
Rys≥0.5时,c_basecolor=1-2*(1–c1)*(1–c3);
和/或,所述暗部颜色混合公式表示为:
c_darkcolor=c_basecolor*(1-(f-Rys)/f)+c2*(f-Rys)/f;
其中,所述颜色贴图采用灰度图的形式进行存储,Rys表示所述颜色贴图的R通道值,取值范围为[0,1];c1表示所述基础颜色,c2表示所述暗部颜色,f表示所述暗部范围,c_basecolor表示经所述基础颜色混合公式计算后得到的所述颜色贴图的颜色值,c_darkcolor表示经所述暗部颜色混合公式计算后得到的所述颜色贴图的颜色值;
所述根据所述法线强度更新所述法线图,具体包括对于所述法线图中的每个像素执行如下操作:
将法线值的取值范围由[0,1]转到[-1,1],得到修正后的法线值N1;
将所述法线值N1和所述法线强度相乘,其中,B通道保持不变,得到法线值N2;
对所述法线值N2进行归一化,得到法线值N3;
将所述法线值N3的取值范围还原到[0,1],得到更新后的法线图;
所述根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,具体包括对于所述法线图中的每个像素按照如下公式进行处理:
Rhh1=mix_color(Rhh,IAO);
和/或,
Ghh1=mix_color(Ghh,IM);
和/或,
Bhh1=mix_color(Bhh,IR);
其中,Rhh1表示更新后所述混合贴图中R通道的环境遮蔽值,Rhh表示更新前所述混合贴图中R通道的环境遮蔽值,IAO表示所述环境遮蔽强度;Ghh1表示更新后所述混合贴图中G通道的金属性值,Ghh表示更新前所述混合贴图中G通道的金属性值,IM表示所述金属性强度;Bhh1表示更新后所述混合贴图中B通道的粗糙度值,Bhh表示更新前所述混合贴图中B通道的粗糙度值,IR表示所述粗糙度强度;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B,
当B>=0.5时,返回1-2*(1-A)*(1-B)。
(1)材质细节颜色调整
材质库里所有描述物体表面的纹理图片(颜色贴图)都采用灰度图的形式存储,在软件中所有的材质颜色通过基础颜色c1(R,G,B)、暗部颜色c2(R,G,B)、和暗部范围f(取值范围[0,100])三个值来控制。下面计算中所有颜色都由R、G、B三通道组成。R、G、B取值范围都是[0,1],命名是以c开头,如c1、c2、c3。计算方式为对材质的灰度图(颜色贴图)的每个像素取其颜色值c3,c3取R通道值(灰度图的R,G,B三个通道的值是相等的)跟暗部范围f进行比较计算用于判断该像素是作为基础颜色混合还是作为暗部颜色混合,R大于等于f时作为基础颜色进行混合,R小于f时作为暗部颜色进行混合。基础颜色混合的目的是使灰度图带上颜色,就是灰度图每个像素颜色c3的每个通道跟基础颜色c1每个通道相乘进行混合得到颜色c_basecolor,当R大于0.5时为防止颜色溢出取补色进行混合后再取补色得到c_basecolor。暗部融合是在亮部融合后的基础上根据(f-R)/f的比值再融合暗部颜色c2得到c_darkcolor。
其中,所述基础颜色混合公式表示为:
Rys<0.5时,c_basecolor=2*c1*c3;
Rys≥0.5时,c_basecolor=1-2*(1–c1)*(1–c3);
所述暗部颜色混合公式表示为:
c_darkcolor=c_basecolor*(1-(f-Rys)/f)+c2*(f-Rys)/f。
(2)法线、粗糙度、金属性、环境遮蔽调整
法线、粗糙度、金属性、环境遮蔽这4个值都通过各自的强度值进行调整。粗糙度、金属性、环境遮蔽都单通道值取值为[0,1],通过法线、粗糙度、金属性、环境遮蔽各自的强度来控制最终的法线、粗糙度、金属性、环境遮蔽值。
①法线强度调整方式:法线描述物体表面的凹凸,调整强度值I调整凹凸强度,法线的原始值记录在法线图(Normal)中,法线图中R、G、B组成的向量表示该点的方向,通过强度值I对R和G通道相乘来调整该点的方向,法线的强度范围为[-1,1],通过混合得到最终的法线图。
调整方式:
a.因为图片中存的都是正值,首先将法线取值范围由[0,1]转到[-1,1]。N(R,G,B)表示原始的法线值,N1(R1,G1,B1)表示取值范围为[-1,1]的修正值:N1=N*2-1。
b.将N1和强度值I相乘,B通道保持不变:N2(R2,G2,B2)=N1*(I,I,1)。
c.对N2向量进行归一化:N3=Noramlize(N2)。
d.将N3取值范围还原到[0,1],得到最终的法线值N4:N4=(N3+1)/2。
e.循环对每个像素进行a、b、c、d操作得到最终的法线图。
②环境遮蔽强度、金属性强度、粗糙度强度的调整
环境遮蔽、金属性、粗糙度的原始值存储在混合贴图(AO_M_R)中,环境遮蔽值存储在R通道中,金属性存储在G通道,粗糙度存储在B通道。由环境遮蔽强度IAO调整环境遮蔽值,金属性强度IM调整金属性值,粗糙度强度IR调整粗糙度值。IAO,IM,IR的取值范围都是[0,1]。
环境遮蔽、金属性、粗糙度的调整公式:
a.环境遮蔽:R1=mix_color(R,IAO),
b.金属性:G1=mix_color(G,IM),
c.粗糙度:B1=mix_color(B,IR),
d.循环对混合贴图(AO_M_R)中每个像素进行a,b,c操作得到调整过后的混合贴图。
mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B,
当B>=0.5时,返回1-2*(1-A)*(1-B)。
在上述实施例的基础上,本发明实施例通过给出根据颜色贴图、基础颜色、暗部颜色及暗部范围更新颜色贴图的具体公式,提高了颜色贴图更新的便捷性。
进一步地,基于上述实施例,所述将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图的计算公式如下:
R<0.5时,c_color=2*c4*c3;
R≥0.5时,c_color=1-2*(1–c4)*(1–c3);
其中,c4表示所述彩色图片的颜色值;c3表示所述颜色贴图的像素的颜色值;R表示所述颜色贴图的R通道值,取值范围为[0,1];c_color表示更新后的所述颜色贴图的颜色值。
如果需要材质的颜色不是单一的基础色和暗部色而需要更丰富的颜色表示时,可以导入一张彩色图片,首先会将导入的图片缩放和颜色贴图同等尺寸,然后再逐像素跟材质的灰度图进行混合得到最终的颜色图片。
在上述实施例的基础上,本发明实施例通过给出对彩色图片和颜色贴图进行混合从而更新颜色贴图的具体公式,提高了利用彩色图片更新颜色贴图的便利性。
进一步地,基于上述实施例,所述细节纹理图片的PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图;所述将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图,具体包括:
将所述细节纹理图片与所述目标材质的所述颜色贴图的颜色值通过mix_color函数进行逐像素混合,得到更新后所述PBR材质贴图的颜色贴图;
和/或,
将所述细节纹理图片与所述目标材质的所述法线图的R通道和G通道的法线值通过mix_color函数进行逐像素混合,B通道保持所述目标材质的所述法线图的法线值,得到更新后所述PBR材质贴图的法线图;
和/或,
将所述细节纹理图片与所述目标材质的所述混合贴图的金属性值和粗糙度值通过mix_color函数进行逐像素混合,环境遮蔽值取值为所述细节纹理图片与所述目标材质的所述环境遮蔽值的乘积,得到更新后所述PBR材质贴图的混合贴图;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B,
当B>=0.5时,返回1-2*(1-A)*(1-B)。
(1)灰度贴图混合
对细节纹理的灰度贴图每个像素的颜色cx1(Rx1,Gx1,Bx1)跟基础纹理的灰度图对应位置的像素颜色cj1(Rj1,Gj1,Bj1)进行mix_color计算得到最终的cz1(Rz1,Gz1,Bz1)颜色。
即Rz1=mix_color(Rx1,Rj1),
Gz1=mix_color(Gx1,Gj1),
Bz1=mix_color(Bx1,Bj1)。
Rx1、Gx1、Bx1分别表示细节纹理的灰度贴图每个像素的R、G、B通道的颜色。Rj1、Gj1、Bj1分别表示基础纹理的灰度贴图(颜色贴图)每个像素的R、G、B通道的颜色。Rz1,Gz1,Bz1分别表示最终得到的灰度贴图每个像素的R、G、B通道的颜色
(2)法线图混合
法线图混合也是逐像素对R、G通道使用mix_color函数进行处理,B通道保持原纹理法线的B通道法线值,因为法线(R,G,B)是单位向量,所以只计算R、G通道即可。
即Rz2=mix_color(Rf1,Rj2),
Gz2=mix_color(Gf1,Gj2),
Bz2=Bj2。
其中,(Rf1,Gf1,Bf1)为细节纹理法线像素,(Rj2,Gj2,Bj2)为基础纹理法线像素。(Rz2,Gz2,Bz2)为最终得到的法线图的法线像素。法线像素表示像素的各个通道的法线值。
(3)混合贴图混合
细节纹理的AO_M_R图的像素表示为cx3(Rx3,Gx3,Bx3),基础纹理的AO_M_R图对应的像素表示为cj3(Rj3,Gj3,Bj3)。
混合方式:Rz3=Rx3*Rj3,
Gz3=mix_color(Gx3,Gj3),
Bz3=mix_color(Bx3,Bj3)。
其中,Rx3、Gx3、Bx3分别表示细节纹理的AO_M_R图的像素的R通道、G通道及B通道的相应属性值,Rj3、Gj3、Bj3分别表示基础纹理的AO_M_R图的像素的R通道、G通道及B通道的相应属性值,Rz3、Gz3、Bz3分别表示最终得到的AO_M_R图的像素的R通道、G通道及B通道的相应属性值。
循环对每个像素进行混合即可得到最终AO_M_R图。
在上述实施例的基础上,本发明实施例通过给出将细节纹理图片对应的PBR材质贴图与目标材质对应的PBR材质贴图混合,进一步得到目标材质更新后的PBR材质贴图的具体公式,进一步提高了生成PBR材质贴图的便利性。
图7是本发明另一实施例提供的PBR材质贴图生成方法流程图。如图7所示,所述方法包括:选择要调整材质,调整颜色、法线、金属性、粗糙度、环境遮蔽(AO),选择叠加纹理,输出PBR材质贴图。
本发明实施例提供的PBR材质贴图生成方法,具有如下特点:
1、通过设置一套简易的PBR贴图制作流程,用户只通过界面点选操作即可生成一套高质量的PBR贴图;
2、遵守PBR渲染原理。设计一套包含目前建模常用的PBR材质贴图库。
3、可以对材质贴图库里的贴图进行方便的修改。如颜色、凹凸程度、粗糙度、金属性及方便的添加细节。
4、使用者可以所见即所得的修改调整材质效果。
图8是本发明一实施例提供的PBR材质贴图生成装置的结构示意图。如图8所示,所述装置包括目标材质选择模块10和更新模块2020,其中:
目标材质选择模块10用于:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;
更新模块2020用于:调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。
本发明实施例通过预先设计一套包含目前建模常用的PBR材质贴图库,通过简易的界面点选操作即可生成一套高质量的PBR贴图,可以对材质贴图库里的贴图进行方便的修改及细节调整,不需专业知识即可操作,有利于快速、高效、方便地生成PBR材质贴图。
进一步地,基于上述实施例,所述PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图中至少一项;所述设置项包括所述目标材质默认的基础颜色、暗部颜色、暗部范围、法线强度、环境遮蔽强度、金属性强度及粗糙度强度中至少一项;更新模块20在用于调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图时,具体用于:根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图,根据所述法线强度更新所述法线图,根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,得到所述目标材质更新后的PBR材质贴图。
在上述实施例的基础上,本发明实施例通过根据描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图及对应的设置项调整PBR材质贴图,有利于实现PBR材质贴图的准确、快速调整。
进一步地,基于上述实施例,更新模块20还用于:导入彩色图片,对所述彩色图片的尺寸进行缩放从而与所述颜色贴图的尺寸一致;将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图。
在上述实施例的基础上,本发明实施例通过将颜色贴图与导入的彩色图片进行混合得到更新后的颜色贴图,满足了更多的使用需求,提高了灵活性。
进一步地,基于上述实施例,更新模块20还用于:导入细节纹理图片,并将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图。
在上述实施例的基础上,本发明实施例通过导入细节纹理图片,并与材质贴图的原图进行混合,得到更新后的材质贴图,增强了材质贴图的实现效果。
进一步地,基于上述实施例,所述装置还包括输出展示模块,所述输出展示模块用于:将所述更新后的PBR材质贴图输出给虚幻引擎并贴到材质实例上进行渲染,实现PBR材质展示。
在上述实施例的基础上,本发明实施例通过将更新后的PBR材质贴图输出给虚幻引擎并贴到材质实例上进行渲染,使用者可以所见即所得的修改调整材质效果。
进一步地,基于上述实施例,更新模块20在用于根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图时,具体用于:
对所述颜色贴图的每个像素取其颜色值c3,所述颜色值c3取R通道值与所述暗部范围进行比较,当所述R通道值大于或等于所述暗部范围时,按照基础颜色混合公式计算更新后所述颜色贴图的颜色值;和/或,当所述R通道值小于所述暗部范围时,按照暗部颜色混合公式计算更新后所述颜色贴图的颜色值;
所述基础颜色混合公式表示为:
Rys<0.5时,c_basecolor=2*c1*c3;
Rys≥0.5时,c_basecolor=1-2*(1–c1)*(1–c3);
和/或,所述暗部颜色混合公式表示为:
c_darkcolor=c_basecolor*(1-(f-Rys)/f)+c2*(f-Rys)/f;
其中,所述颜色贴图采用灰度图的形式进行存储,Rys表示所述颜色贴图的R通道值,取值范围为[0,1];c1表示所述基础颜色,c2表示所述暗部颜色,f表示所述暗部范围,c_basecolor表示经所述基础颜色混合公式计算后得到的所述颜色贴图的颜色值,c_darkcolor表示经所述暗部颜色混合公式计算后得到的所述颜色贴图的颜色值;
所述根据所述法线强度更新所述法线图,具体包括对于所述法线图中的每个像素执行如下操作:
将法线值的取值范围由[0,1]转到[-1,1],得到修正后的法线值N1;
将所述法线值N1和所述法线强度相乘,其中,B通道保持不变,得到法线值N2;
对所述法线值N2进行归一化,得到法线值N3;
将所述法线值N3的取值范围还原到[0,1],得到更新后的法线图;
所述根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,具体包括对于所述法线图中的每个像素按照如下公式进行处理:
Rhh1=mix_color(Rhh,IAO);
和/或,
Ghh1=mix_color(Ghh,IM);
和/或,
Bhh1=mix_color(Bhh,IR);
其中,Rhh1表示更新后所述混合贴图中R通道的环境遮蔽值,Rhh表示更新前所述混合贴图中R通道的环境遮蔽值,IAO表示所述环境遮蔽强度;Ghh1表示更新后所述混合贴图中G通道的金属性值,Ghh表示更新前所述混合贴图中G通道的金属性值,IM表示所述金属性强度;Bhh1表示更新后所述混合贴图中B通道的粗糙度值,Bhh表示更新前所述混合贴图中B通道的粗糙度值,IR表示所述粗糙度强度;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B
当B>=0.5时,返回1-2*(1-A)*(1-B)。
在上述实施例的基础上,本发明实施例通过给出根据颜色贴图、基础颜色、暗部颜色及暗部范围更新颜色贴图的具体公式,提高了颜色贴图更新的便捷性。
进一步地,基于上述实施例,更新模块20在用于将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图时,所使用的计算公式如下:
R<0.5时,c_color=2*c4*c3;
R≥0.5时,c_color=1-2*(1–c4)*(1–c3);
其中,c4表示所述彩色图片的颜色值;c3表示所述颜色贴图的像素的颜色值;R表示所述颜色贴图的R通道值,取值范围为[0,1];c_color表示更新后的所述颜色贴图的颜色值。
在上述实施例的基础上,本发明实施例通过给出对彩色图片和颜色贴图进行混合从而更新颜色贴图的具体公式,提高了利用彩色图片更新颜色贴图的便利性。
进一步地,基于上述实施例,所述细节纹理图片的PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图;更新模块20在用于将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图时,具体用于:
将所述细节纹理图片与所述目标材质的所述颜色贴图的颜色值通过mix_color函数进行逐像素混合,得到更新后所述PBR材质贴图的颜色贴图;
和/或,
将所述细节纹理图片与所述目标材质的所述法线图的R通道和G通道的法线值通过mix_color函数进行逐像素混合,B通道保持所述目标材质的所述法线图的法线值,得到更新后所述PBR材质贴图的法线图;
和/或,
将所述细节纹理图片与所述目标材质的所述混合贴图的金属性值和粗糙度值通过mix_color函数进行逐像素混合,环境遮蔽值取值为所述细节纹理图片与所述目标材质的所述环境遮蔽值的乘积,得到更新后所述PBR材质贴图的混合贴图;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B
当B>=0.5时,返回1-2*(1-A)*(1-B)。
在上述实施例的基础上,本发明实施例通过给出将细节纹理图片对应的PBR材质贴图与目标材质对应的PBR材质贴图混合,进一步得到目标材质更新后的PBR材质贴图的具体公式,进一步提高了生成PBR材质贴图的便利性。
本发明实施例提供的装置是用于上述方法的,具体功能可参照上述方法流程,此处不再赘述。
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行PBR材质贴图生成方法,该方法包括:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的PBR材质贴图生成方法,该方法包括:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的PBR材质贴图生成方法,该方法包括:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种PBR材质贴图生成方法,其特征在于,包括:
在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;
调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图;所述PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图中至少一项;所述设置项包括所述目标材质默认的基础颜色、暗部颜色、暗部范围、法线强度、环境遮蔽强度、金属性强度及粗糙度强度;
所述调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图,具体包括:根据所述基础颜色、所述暗部颜色及所述暗部范围更新所述颜色贴图,根据所述法线强度更新所述法线图,根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,得到所述目标材质更新后的PBR材质贴图;
所述根据所述基础颜色、所述暗部颜色及所述暗部范围更新所述颜色贴图,具体包括:
对所述颜色贴图的每个像素取其颜色值c3,所述颜色值c3取R通道值与所述暗部范围进行比较,当所述R通道值大于或等于所述暗部范围时,按照基础颜色混合公式计算更新后所述颜色贴图的颜色值;和/或,当所述R通道值小于所述暗部范围时,按照暗部颜色混合公式计算更新后所述颜色贴图的颜色值;
所述基础颜色混合公式表示为:
Rys<0.5时,c_basecolor=2*c1*c3;
Rys≥0.5时,c_basecolor=1-2*(1–c1)*(1–c3);
和/或,所述暗部颜色混合公式表示为:
c_darkcolor=c_basecolor*(1-(f-Rys)/f)+c2*(f-Rys)/f;
其中,所述颜色贴图采用灰度图的形式进行存储,Rys表示所述颜色贴图的R通道值,取值范围为[0,1];c1表示所述基础颜色,c2表示所述暗部颜色,f表示所述暗部范围,c_basecolor表示经所述基础颜色混合公式计算后得到的所述颜色贴图的颜色值,c_darkcolor表示经所述暗部颜色混合公式计算后得到的所述颜色贴图的颜色值。
2.根据权利要求1所述的PBR材质贴图生成方法,其特征在于,所述方法还包括:
导入彩色图片,对所述彩色图片的尺寸进行缩放从而与所述颜色贴图的尺寸一致;
将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图。
3.根据权利要求1所述的PBR材质贴图生成方法,其特征在于,所述方法还包括:
导入细节纹理图片,并将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图。
4.根据权利要求1所述的PBR材质贴图生成方法,其特征在于,所述方法还包括:
将所述更新后的PBR材质贴图输出给虚幻引擎并贴到材质实例上进行渲染,实现PBR材质展示。
5.根据权利要求1所述的PBR材质贴图生成方法,其特征在于,
所述根据所述法线强度更新所述法线图,具体包括对于所述法线图中的每个像素执行如下操作:
将法线值的取值范围由[0,1]转到[-1,1],得到修正后的法线值N1;
将所述法线值N1和所述法线强度相乘,其中,B通道保持不变,得到法线值N2;
对所述法线值N2进行归一化,得到法线值N3;
将所述法线值N3的取值范围还原到[0,1],得到更新后的法线图;
所述根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,具体包括对于所述法线图中的每个像素按照如下公式进行处理:
Rhh1=mix_color(Rhh,IAO);
和/或,
Ghh1=mix_color(Ghh,IM);
和/或,
Bhh1=mix_color(Bhh,IR);
其中,Rhh1表示更新后所述混合贴图中R通道的环境遮蔽值,Rhh表示更新前所述混合贴图中R通道的环境遮蔽值,IAO表示所述环境遮蔽强度;Ghh1表示更新后所述混合贴图中G通道的金属性值,Ghh表示更新前所述混合贴图中G通道的金属性值,IM表示所述金属性强度;Bhh1表示更新后所述混合贴图中B通道的粗糙度值,Bhh表示更新前所述混合贴图中B通道的粗糙度值,IR表示所述粗糙度强度;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B,
当B>=0.5时,返回1-2*(1-A)*(1-B)。
6.根据权利要求2所述的PBR材质贴图生成方法,其特征在于,所述将所述彩色图片和所述颜色贴图逐像素混合从而更新所述颜色贴图的计算公式如下:
R<0.5时,c_color=2*c4*c3;
R≥0.5时,c_color=1-2*(1–c4)*(1–c3);
其中,c4表示所述彩色图片的颜色值;c3表示所述颜色贴图的像素的颜色值;R表示所述颜色贴图的R通道值,取值范围为[0,1];c_color表示更新后的所述颜色贴图的颜色值。
7.根据权利要求3所述的PBR材质贴图生成方法,其特征在于,所述细节纹理图片的PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图;所述将所述细节纹理图片对应的所述PBR材质贴图与所述目标材质对应的所述PBR材质贴图混合,进一步得到所述目标材质更新后的PBR材质贴图,具体包括:
将所述细节纹理图片与所述目标材质的所述颜色贴图的颜色值通过mix_color函数进行逐像素混合,得到更新后所述PBR材质贴图的颜色贴图;
和/或,
将所述细节纹理图片与所述目标材质的所述法线图的R通道和G通道的法线值通过mix_color函数进行逐像素混合,B通道保持所述目标材质的所述法线图的法线值,得到更新后所述PBR材质贴图的法线图;
和/或,将所述细节纹理图片与所述目标材质的所述混合贴图的金属性值和粗糙度值通过mix_color函数进行逐像素混合,环境遮蔽值取值为所述细节纹理图片与所述目标材质的所述环境遮蔽值的乘积,得到更新后所述PBR材质贴图的混合贴图;
其中,mix_color(A,B)函数的实现:
当B<0.5时,返回2*A*B,
当B>=0.5时,返回1-2*(1-A)*(1-B)。
8.一种PBR材质贴图生成装置,其特征在于,包括:
目标材质选择模块,用于:在预先制作好的材质库中选择待调整的目标材质,所述目标材质对应存储有PBR材质贴图及材质描述文件;所述材质描述文件包括与各种类型的所述PBR材质贴图对应的设置项的默认设置值;
更新模块,用于:调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图;所述PBR材质贴图包括描述物体表面纹理的颜色贴图、描述凹凸的法线图、以及R、G、B通道分别对应环境遮蔽、金属性及粗糙度的混合贴图中至少一项;所述设置项包括所述目标材质默认的基础颜色、暗部颜色、暗部范围、法线强度、环境遮蔽强度、金属性强度及粗糙度强度中至少一项;
所述更新模块在用于调整所述设置项中的至少一种,得到所述目标材质更新后的PBR材质贴图时,具体用于:根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图,根据所述法线强度更新所述法线图,根据所述环境遮蔽强度、所述金属性强度及所述粗糙度强度中至少一项更新所述混合贴图,得到所述目标材质更新后的PBR材质贴图;
所述更新模块在用于根据所述基础颜色、所述暗部颜色及所述暗部范围中至少一项更新所述颜色贴图时,具体用于:
对所述颜色贴图的每个像素取其颜色值c3,所述颜色值c3取R通道值与所述暗部范围进行比较,当所述R通道值大于或等于所述暗部范围时,按照基础颜色混合公式计算更新后所述颜色贴图的颜色值;和/或,当所述R通道值小于所述暗部范围时,按照暗部颜色混合公式计算更新后所述颜色贴图的颜色值;
所述基础颜色混合公式表示为:
Rys<0.5时,c_basecolor=2*c1*c3;
Rys≥0.5时,c_basecolor=1-2*(1–c1)*(1–c3);
和/或,所述暗部颜色混合公式表示为:
c_darkcolor=c_basecolor*(1-(f-Rys)/f)+c2*(f-Rys)/f;
其中,所述颜色贴图采用灰度图的形式进行存储,Rys表示所述颜色贴图的R通道值,取值范围为[0,1];c1表示所述基础颜色,c2表示所述暗部颜色,f表示所述暗部范围,c_basecolor表示经所述基础颜色混合公式计算后得到的所述颜色贴图的颜色值,c_darkcolor表示经所述暗部颜色混合公式计算后得到的所述颜色贴图的颜色值。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述PBR材质贴图生成方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述PBR材质贴图生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011449676.0A CN112562053B (zh) | 2020-12-09 | 2020-12-09 | 一种pbr材质贴图生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011449676.0A CN112562053B (zh) | 2020-12-09 | 2020-12-09 | 一种pbr材质贴图生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112562053A CN112562053A (zh) | 2021-03-26 |
CN112562053B true CN112562053B (zh) | 2022-11-08 |
Family
ID=75061078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011449676.0A Active CN112562053B (zh) | 2020-12-09 | 2020-12-09 | 一种pbr材质贴图生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112562053B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113808246B (zh) * | 2021-09-13 | 2024-05-10 | 深圳须弥云图空间科技有限公司 | 一种贴图的生成方法、装置、计算机设备及计算机可读存储介质 |
CN118096982A (zh) * | 2024-04-24 | 2024-05-28 | 国网江西省电力有限公司超高压分公司 | 一种故障反演培训平台的构建方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780709A (zh) * | 2016-12-02 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种确定全局光照信息的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106067185A (zh) * | 2016-05-27 | 2016-11-02 | 美屋三六五(天津)科技有限公司 | 一种三维模型处理方法及装置 |
CN108389176A (zh) * | 2018-03-09 | 2018-08-10 | 网易(杭州)网络有限公司 | 图像混合处理的方法、装置、存储介质、处理器和终端 |
-
2020
- 2020-12-09 CN CN202011449676.0A patent/CN112562053B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780709A (zh) * | 2016-12-02 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种确定全局光照信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112562053A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074725B2 (en) | Rendering semi-transparent user interface elements | |
CN112316420B (zh) | 模型渲染方法、装置、设备及存储介质 | |
CN112562053B (zh) | 一种pbr材质贴图生成方法及装置 | |
US6532013B1 (en) | System, method and article of manufacture for pixel shaders for programmable shading | |
CN110443877B (zh) | 模型渲染的方法、装置、终端设备和存储介质 | |
JP2002183761A (ja) | 画像生成の方法および装置 | |
JP2001236518A (ja) | 部分イメージ合成による人物キャラクタ生成方法 | |
JP3626144B2 (ja) | 立体オブジェクトデータからの漫画的表現の2次元画像の生成方法および生成プログラム | |
CN107886552A (zh) | 贴图处理方法和装置 | |
US6753875B2 (en) | System and method for rendering a texture map utilizing an illumination modulation value | |
JP2001291116A (ja) | 三次元画像生成装置および三次元画像生成方法、並びにプログラム提供媒体 | |
WO2016039301A1 (ja) | 画像処理装置および画像処理方法 | |
CN116485967A (zh) | 一种虚拟模型的渲染方法及相关装置 | |
CN113744364B (zh) | 图像处理方法和装置 | |
CN115457206A (zh) | 三维模型生成方法、装置、设备及存储介质 | |
KR20060082736A (ko) | 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 | |
JP2000057372A (ja) | 画像処理装置、画像処理方法及び記憶媒体 | |
CN117649477B (zh) | 图像处理方法、装置、设备以及存储介质 | |
JPH01120685A (ja) | 図形オブジェクトのシェーディング値生成装置およびその方法 | |
US8217955B2 (en) | Producing wrinkles and other effects for a computer-generated character based on surface stress | |
JP7309132B1 (ja) | クロマキー処理における画像合成方法 | |
CN116433827B (zh) | 虚拟人脸形象的生成方法、展示方法、生成及展示装置 | |
CN117695630A (zh) | 动画制作方法、装置、电子设备及计算机可读存储介质 | |
JP4277868B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
CN117078849A (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 |