一种基于二维图像的纹理替换方法与流程

文档序号:17798264发布日期:2019-05-31 20:55阅读:来源:国知局

技术特征:

1.一种基于二维图像的纹理替换方法,其特征在于,包括以下步骤:

步骤1,导出模型信息:在3dmax中建立三维模型,并进行渲染,将渲染后三维模型的各个分量导出,包括三维模型的法线信息,光照信息,高光信息,掩码信息,纹理贴图时UV信息以及整体渲染效果图;

步骤2,准备材质:准备好要替换的材质信息,包括材质的法线信息,颜色信息和高光信息;

步骤3,根据三维模型图片大小计算纹理贴图:根据三维模型图片大小计算对应的材质贴图,包括材质的法线贴图,颜色贴图以及高光贴图;

步骤4,材质法线与三维模型法线的融合:将得到的材质的法线图片与模型的法线图片采用点对点融合,以模型法线为主,材质法线为辅实现模型法线的微调;

步骤5,计算漫反射信息:根据融合后的法线信息以及设置的光线信息计算替换材质后的漫反射信息;

步骤6,高光信息的融合:将三维模型本身的高光信息和材质的高光信息进行融合得到替换材质后的整体高光信息;

步骤7,计算颜色信息:计算替换材质后三维模型整体显示的颜色信息Color;

步骤8,整体融合计算:将颜色信息Color,替换材质后的漫反射信息以及高光信息进行融合,并进行整体微调得到最终替换材质后的效果;

步骤1包括以下步骤:

步骤1-1,在3dmax中建立三维模型,并进行渲染,得到三维模型整体渲染效果图,将渲染结果保存为图片,记为beauty.png;

步骤1-2,渲染完成后导出以下5种图片:

渲染出三维模型场景的法线信息,并保存为图片,记为normal.png;

渲染出三维模型场景的光照信息,并保存为图片,记为diffuse.png;

渲染出三维模型场景的高光信息,并保存为图片,记为specular.png;

渲染出三维模型场景的纹理坐标贴图信息,并保存为图片,记为UV.png;

渲染出三维模型场景中每一个独立物体的掩码信息,并保存为图片,记为mask.png;

步骤2包括以下步骤:

步骤2-1,使用扫描仪扫描需要替换的材质;

步骤2-2,通过扫描仪软件对扫描的材质进行拼切,得到上下可拼接,左右可拼接的材质,导出材质的颜色信息,高光信息以及法线信息,并存储为图片,颜色信息存储为图片texDif.png,高光信息存储为图片texSpe.png,法线信息存储为图片texNor.png;

步骤3包括以下步骤:

步骤3-1,根据步骤2得到的材质的图片大小以及导出的三维模型图片的大小计算纹理重复度,假设横纵方向的重复分别为repeatX和repeatY,则:

其中,tw表示步骤2得到的材质图片的宽度,th表示步骤2得到的材质图片的高度,mw表示三维模型图片的宽度,mh表示三维模型图片的高度;repeatX的计算表示当tw大于mw时repeatX=1,否则

步骤3-2,根据步骤1得到的三维模型整体渲染效果图的大小以及步骤2得到的材质图片的大小合成与步骤1导出的三维模型图片大小一致的材质贴图,根据重复度信息得到材质法线信息图片texNor.png对应的材质法线贴图texNormal.png,根据重复度信息得到材质颜色信息图片texDif.png对应的材质颜色贴图texDiffuse.png,根据重复度信息得到材质高光信息图片texSpe.png对应的材质高光贴图texSpecular.png;

步骤4包括:

将得到的材质法线贴图texNormal.png与导出的三维模型法线图片normal.png进行融合,材质法线贴图texNormal.png中的每点以导出的三维模型法线图片normal.png中的每一点为基础进行旋转,得到替换纹理后的法线图,记为newNormal.png,采用JeppeRevallFrisvad提出的法线融合方法:假设有基础法线t以及细节法线u,则最后融合后的法线r为:

其中t′=[tx,ty,tz+1],u′=[-ux,-uy,uz],

其中t,t′,u,u′以及r都是三维向量,t′表示根据基础法线t得到的中间计算法线,u′表示根据细节法线u得到的中间计算法线,tx表示基础法线t的x分量,ty表示基础法线t的y分量,tz表示基础法线t的z分量,ux表示细节法线u的x分量,uy表示细节法线u的y分量,uz表示细节法线u的z分量;

步骤5包括以下步骤:

步骤5-1,设置四个光源,假设所有的光源都是平行光,其中有一个主光源,三个副光源;

步骤5-2,假设四个光源的光线方向分别为L1,L2,L3,L4,其中L1为主光源,则替换材质后的漫反射信息newDiffuse可以表示如下:

其中clamp表示将结果截取至0到1之间,将替换材质后的漫反射信息newDiffuse保存到图片newDiffuse.png中,newNormal表示步骤4得到的融合后的法线信息,Li表示光线方向,i取值为2、3和4,分别表示三个辅助光源的光线方向;

步骤6包括:

根据三维模型导出的高光图片specular.png以及材质的高光图片计算替换纹理后的高光信息,并对此高光信息进行调整:采用材质的基本光照信息进行调整,则通过如下公式计算替换材质后的高光信息newSpecular公式:

newSpecular=specular.png*texSpe*pow(newDiffuse*α+β,2),

其中,α取0.2,β取0.9,specular.png为步骤1-2中得到的三维模型的高光图,TexSpe为步骤2中得到的材质的高光信息,将替换材质后的高光信息newSpecular存储到图片newSpecular.png中,pow是一个数学函数,表示计算次方,其中pow(x,y)表示计算x的y次方;

步骤7包括:

替换纹理后三维模型的颜色Color由材质的颜色信息所决定,通过三维模型的基本光照信息进行调整,并考虑整体效果以γ进行调整,取公式如下:

Color=texDif*newDiffuse*γ,

其中γ取0.5,texDif表示步骤2中得到的材质的颜色信息,newDiffuse表示步骤5-2得到的替换材质后的漫反射信息。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1