1.一种高效自动化的头发匹配头型生成方法,其特征在于:所述方法包括如下步骤:
步骤s1、定义基础头模型和变形头模型的顶点数据集结构,基础头模型和变形头模型的顶点数据集结构包括:顶点位置、顶点法线、顶点uv、顶点颜色;定义基础头发模型和变形头发模型的顶点数据集结构,基础头发模型和变形头发模型的顶点数据集结构包括:顶点位置、顶点法线、顶点uv、顶点uv2、顶点颜色;
步骤s2、加载基础头模型和基础头发模型,遍历基础头发模型中的所有顶点,以基础头发模型中的所有顶点位置为起点,向基础头模型中心点作射线检测来获得基础头发模型的顶点uv2数据集;
步骤s3、生成变形头模型的空间位置图dmap;
步骤s4、加载设置好基础头发模型的顶点uv2数据集,加载空间位置图dmap,逐像素采样获取基础头发模型的顶点偏移数据集,最后得到变形后的头发模型。
2.根据权利要求1所述的一种高效自动化的头发匹配头型生成方法,其特征在于:所述步骤s2进一步具体为:向基础头模型中心点作射线检测,设置检测射线长度为l,射线检测过程中记录射线所有能命中基础头模,并能取得基础头模上有效uv值的顶点,设置基础头发模型的顶点uv2值为命中基础头模的有效uv值,未能命中或无法取得基础头模的有效uv值的顶点,将基础头发模型的顶点uv2设置为(0,0),最终得到基础头发模型的顶点uv2数据集。
3.根据权利要求1所述的一种高效自动化的头发匹配头型生成方法,其特征在于:所述步骤s3进一步具体包括:步骤s31:加载基础头模型和相关的变形头模型;
步骤s32:将基础头模型和变形头模型的顶点位置,按其uv坐标投影至y,z坐标轴上,并将基础头模型和变形头模型的颜色设置为其顶点位置;具体公式如下:
其中,基础头模型和变形头模型的顶点位置p:为(px,py,pz)的三维向量,记录顶点在空间中的位置;基础头模型和变形头模型的顶点uv,为(u,v)的二维向量,用于表示该顶点在一张二维图像上的坐标位置,该坐标位置上的像素值就是这个顶点的颜色,也称顶点的纹理寻址值;
步骤s33:通过步骤s32,得到一张基础头模型的uvpos图,和一张变形头模型的uvpos图,将基础头模型的uvpos图与变形头模型的uvpos图进行逐像素相减,得到变形头模型的空间位置图dmap。
4.根据权利要求1所述的一种高效自动化的头发匹配头型生成方法,其特征在于:所述步骤s4进一步具体包括:步骤s41:加载设置好基础头发模型的顶点uv2数据集,加载空间位置图dmap;
步骤s42:在渲染变形头发模型时,头发顶点用顶点uv2数据集,读取dmap像素,获取dmap像素颜色信息cdmap,所有头发顶点的cdmap值即为头发顶点的偏移数据集;
步骤s43:根据如下公式,计算基础头发模型顶点变形后顶点位置;pfinal为变形头发顶点位置,porig为基础头发顶点位置;pfinal=porig+cdmap;
步骤s44:保存变形后头发顶点位置,将基础头发模型头发顶点数据中的顶点位置,替换为变形头发的顶点位置,并将头发顶点数据重新传入渲染管线中,渲染头发模型,得到变形后的头发模型。
5.一种高效自动化的头发匹配头型生成装置,其特征在于:所述装置包括数据结构定义模块、射线检测模块、空间位置图生成模块、以及变形头发模型获取模块;
所述数据结构定义模块,用于定义基础头模型和变形头模型的顶点数据集结构,基础头模型和变形头模型的顶点数据集结构包括:顶点位置、顶点法线、顶点uv、顶点颜色;定义基础头发模型和变形头发模型的顶点数据集结构,基础头发模型和变形头发模型的顶点数据集结构包括:顶点位置、顶点法线、顶点uv、顶点uv2、顶点颜色;
所述射线检测模块,用于加载基础头模型和基础头发模型,遍历基础头发模型中的所有顶点,以基础头发模型中的所有顶点位置为起点,向基础头模型中心点作射线检测来获得基础头发模型的顶点uv2数据集;
所述空间位置图生成模块,用于生成变形头模型的空间位置图dmap;
所述变形头发模型获取模块,用于加载设置好基础头发模型的顶点uv2数据集,加载空间位置图dmap,逐像素采样获取基础头发模型的顶点偏移数据集,最后得到变形后的头发模型。
6.根据权利要求5所述的一种高效自动化的头发匹配头型生成装置,其特征在于:所述射线检测模块的实现方式进一步具体为:向基础头模型中心点作射线检测,设置检测射线长度为l,射线检测过程中记录射线所有能命中基础头模,并能取得基础头模上有效uv值的顶点,设置基础头发模型的顶点uv2值为命中基础头模的有效uv值,未能命中或无法取得基础头模的有效uv值的顶点,将基础头发模型的顶点uv2设置为(0,0),最终得到基础头发模型的顶点uv2数据集。
7.根据权利要求5所述的一种高效自动化的头发匹配头型生成装置,其特征在于:所述空间位置图生成模块的实现方式进一步具体为:加载基础头模型和相关的变形头模型;
将基础头模型和变形头模型的顶点位置,按其uv坐标投影至y,z坐标轴上,并将基础头模型和变形头模型的颜色设置为其顶点位置;具体公式如下:
其中,基础头模型和变形头模型的顶点位置p:为(px,py,pz)的三维向量,记录顶点在空间中的位置;基础头模型和变形头模型的顶点uv,为(u,v)的二维向量,用于表示该顶点在一张二维图像上的坐标位置,该坐标位置上的像素值就是这个顶点的颜色,也称顶点的纹理寻址值;
通过公式得到一张基础头模型的uvpos图,和一张变形头模型的uvpos图,将基础头模型的uvpos图与变形头模型的uvpos图进行逐像素相减,得到变形头模型的空间位置图dmap。
8.根据权利要求5所述的一种高效自动化的头发匹配头型生成装置,其特征在于:所述变形头发模型获取模块的实现方式进一步具体为:加载设置好基础头发模型的顶点uv2数据集,加载空间位置图dmap;
在渲染变形头发模型时,头发顶点用顶点uv2数据集,读取dmap像素,获取dmap像素颜色信息cdmap,所有头发顶点的cdmap值即为头发顶点的偏移数据集;
根据如下公式,计算基础头发模型顶点变形后顶点位置;pfinal为变形头发顶点位置,porig为基础头发顶点位置;pfinal=porig+cdmap;
保存变形后头发顶点位置,将基础头发模型头发顶点数据中的顶点位置,替换为变形头发的顶点位置,并将头发顶点数据重新传入渲染管线中,渲染头发模型,得到变形后的头发模型。