【技术实现步骤摘要】
本专利技术属于计算机图形学真实感角色建模领域,特别涉及一种基于可复用发型约束的真实感头发发型建模方法,通过建立发型约束在任意虚拟角色模型间的映射关系,从而达到发型约束复用、实现快速头发生成的目的。
技术介绍
作为外表释放给外界的第一印象,角色的头发成为影视动画制作中塑造虚拟角色的重要手段之一。然而迄今为止,真实感发型建模仍是一项非常困难的工作,其原因在于,发丝建模的数量级通常达50k-100k,针对发丝的几何表示和控制方法存在随着待建发型复杂程度增加,造型工作量大幅提升的问题。为了保证生成头发的真实感、以及后期模拟头发运动学和动力学的性能需求,目前研究工作主要集中在显式的发丝几何表示与建模方法。解决该问题的首要难点在于发丝的计算规模较大,难以有效控制发丝形状。现有解决方法中,Watanabe (Watanabe Y, YSuenaga. A trigonal prism-based method for hair image generation.1EEE ComputerGraphics and Applications, 1992,12(1) :47-53) ...
【技术保护点】
一种头发模型建模方法,其特征在于,该方法根据待生成整体发型的整体发型特征分别生成Q根样例发丝,然后用该Q根样例发丝分别表示各自所在发簇的形状,根据各样例发丝插值生成各自所在发簇内的剩余发丝,从而在目标虚拟角色模型上生成整体发型,该方法的具体步骤如下:步骤一,对于输入的目标虚拟角色模型,根据待生成整体发型的整体形状在目标虚拟角色模型上规定头发生长区域即头皮网格;采用网格参数化方法在头皮网格上建立目标虚拟角色模型的头皮网格参数域A;步骤二,生成Q根样例发丝的二维分布:(1)在头皮网格参数域A上生成全局发丝二维分布,将该结果映射至目标虚拟角色模型的头皮网格上;或者,在目标虚拟角色 ...
【技术特征摘要】
1.一种头发模型建模方法,其特征在于,该方法根据待生成整体发型的整体发型特征分别生成Q根样例发丝,然后用该Q根样例发丝分别表示各自所在发簇的形状,根据各样例发丝插值生成各自所在发簇内的剩余发丝,从而在目标虚拟角色模型上生成整体发型,该方法的具体步骤如下 步骤一,对于输入的目标虚拟角色模型,根据待生成整体发型的整体形状在目标虚拟角色模型上规定头发生长区域即头皮网格;采用网格参数化方法在头皮网格上建立目标虚拟角色模型的头皮网格参数域A ; 步骤二,生成Q根样例发丝的二维分布 (1)在头皮网格参数域A上生成全局发丝二维分布,将该结果映射至目标虚拟角色模型的头皮网格上;或者,在目标虚拟角色模型的头皮网格上生成全局发丝二维分布,将该结果映射至头皮网格参数域A上; (2)采用K均值聚类方法将头皮网格参数域A上的全局发丝二维分布均匀划分成Q簇,使用Q根样例发丝表示所在发簇的整体发丝形状,同时各样例发丝的发根均位于所在发簇的聚簇中心,进而得到Q根样例发丝的二维分布,再将该Q根样例发丝的二维分布映射至目标虚拟角色模型的头皮网格上; 步骤三,构建发型约束域 根据待生成整体发型中发丝的形状特征构建多个发型约束域;同时根据待生成整体发型的整体发型特征和局部发型特征采用层次化的多队列结构建立多个发型约束域相互之间的关系,得到控制全局发丝形状的发型约束域队列和控制局部发丝形状的发型约束域队列;其中控制全局发丝形状的发型约束域队列为全局发型约束域队列,该全局发型约束域队列中的每个元素是由至少一个发型约束域组成的发型约束域集合,且该全局发型约束域队列中共包含多个发型约束域中的η个发型约束域;控制局部发丝形状的发型约束域队列为局部发型约束域队列,该局部发型约束域队列中的每个元素是由至少一个发型约束域组成的发型约束域集合,且该局部发型约束域队列中共包含多个发型约束域中除η个发型约束域外的m个发型约束域; 其中,每个发型约束域的构建包括设定激活条件、消隐条件和作用力函数Str ;所述激活条件为所构建的发型约束域开始影响生长发丝形状的条件;所述消隐条件为所构建的发型约束域终止影响生长发丝形状的条件;所述作用力函数为所构建的发型约束域影响生长发丝形状时,该发型约束域对生长发丝产生的作用力向量; 步骤四采用下述方法在Q根样例发丝的二维分布上分别生成Q根样例发丝;Q根样例发丝均生成后得到样例发丝集合; 根据全局发型约束域队列和局部发型约束域队列计算生成当前样例发丝,并且针对全局发型约束域队列和局部发型约束域队列同时进行下述步骤,下述方法中所述的发型约束域队列指全局发型约束域队列或局部发型约束域队列; (1)取出位于发型约束域队列队首的发型约束域集合F; (2)分别判断F中的各发型约束域是否满足激活条件,得到F中的K个满足激活条件的发型约束域; (3)计算K个满足激活条件的发型约束域施加在当前样例发丝生长端点Pi上的作用力之和 t, t = Σ Strk ;其中i为当前样例发丝的生长端点序号,当前样例发丝的生长起点P1为当前样例发丝在Q根样例发丝的二维分布中的顶点;strk为第k个满足激活条件的发型约束域施加在当前样例发丝上的作用力分量,k = 1,2,3,…,K,且K为大于等于I的正整数; (4)计算在t的作用下当前样例发丝生长端点Pi处产生的切线方向Ti+1,Ti+1 = Ti+t,其中=Ti为生长端点Pi处的切线方向,Ti为P1在头皮网格上的法线方向; (5)计算当前样例发丝下一个生长端点的空间位置pi+1,pi+1=Pi+sTi+1,其中s为当前样例发丝的生长步长,且s > O ; (6)分别判断F中的K个满足激活条件的发型约束域是否满足消隐条件,去除F中满足消隐条件的发型约束域; (7)判断F是否为空,当F为空时,将F从发型约束域队列移除; (8)判断全局发型约束域队列和局部发型约束域队列是否为空,当全局发型约束域队列和局部发型约束域队列均为空时,完成当前样例发丝的生长,完成生长后的当前样例发丝的生长端点总个数为I ;否则,执行步骤(9); (9)统计执行步骤(I)至(9)的迭代次数,当迭代次数达到常数G(G ^ O)时,完成当前样例发丝的生长,完成生长后的当前样例发丝的生长端点总数为I ;否则,迭代执行步骤(I)至(9); 步骤五,根据样例发丝集合中的每根样例发丝插值计算生成样例发丝所在发簇中的其他发丝,从而在虚拟角色模型上生成整体发型。2.如权利要求1所述的头发模型建模方法,其特征在于,步骤三中根据待生成整体发型中发丝的形状特征构建多个发型约束域 对于待生成整体发型中的发丝生长方向相互平行的局部发型和发丝生长方向相互平行的全局发型分别构建等距约束域,所述等距约束域是根据局部发型或全局发型的生长规模定义一空间作用域,该空间作用域是一个有限体积的长方体Sq ;其激活条件为当该等距约束域未满足过激活条件和消隐条件,且发丝的生长端点首次位于Sq所包含的空间范围内部;其消隐条件为当该等距约束域已满足激活条件,且发丝的生长端点处于Sq所包含的空间范围外部;其作用力函数Str为一个常向量; 对于待生成整体发型中的发丝生长方向聚簇到一点的局部发型和发丝生长方向聚簇到一点的全局发型分别构建集簇约束域,所述集簇约束域的激活条件为当该集簇约束域位于全局发型约束域队列或局部发型约束域队列的队首发型约束域集合中; 其消隐条件为下列条件之一 (1)生长发丝的当前生长端点位于Sc定义的空间范围之内; (2)生长发丝的当前生长端点位于Sp'定义的空间范围之外; 其中,Sc为一三维空间核,该三维空间核的核心为空间中任意顶点C、半径为h,且O<h < r,r为点s到点c的距离,点s为首次受该集簇约束域作用时的发丝生长端点;Sp'为一三维空间球,该三维空间球的球心为S、半径为r ; 其作用力函数3.一种快速复用头发模型建模方法,其特征在于,该方法对模型库中的所有虚拟角色模型均生成整体发型,首先在模型库中任选一虚拟角色模型作为原型模型,并在原型模型上生成整体发型,通过提取已有的原型模型的发型约束域参数,将该发型约束域参数归一化为约束模版,并根据约束模版在其它虚拟角色模型上生成与已有原型模型的整体发型外观相一致的整体发型,具体步骤如下 步骤(I ),在模型库中任选一虚拟角色模型作为原型模型,采用权利要...
【专利技术属性】
技术研发人员:耿国华,周明全,李康,韩翼,刘伦椿,尚鹏,任少平,贺洁琼,晋武侠,郝妮,杜宏强,
申请(专利权)人:西北大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。