CN112396680B - 毛发流向图的制作方法及装置、存储介质、计算机设备 - Google Patents
毛发流向图的制作方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN112396680B CN112396680B CN202011362621.6A CN202011362621A CN112396680B CN 112396680 B CN112396680 B CN 112396680B CN 202011362621 A CN202011362621 A CN 202011362621A CN 112396680 B CN112396680 B CN 112396680B
- Authority
- CN
- China
- Prior art keywords
- hair
- target
- vertex
- normal vector
- model
- 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
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种毛发流向图的制作方法及装置、存储介质、计算机设备,该方法包括:响应于模型细分指令对三维毛发模型进行细分,得到三维毛发模型对应的新增毛发顶点,并将三维毛发模型对应的初始毛发顶点以及新增毛发顶点作为三维毛发模型对应的目标毛发顶点;按照预设法线向量,配置目标毛发顶点的法线向量;响应于对三维毛发模型的绘制操作,获取与目标毛发顶点对应的目标法线向量,并将目标毛发顶点的法线向量更新为目标法线向量;对目标法线向量进行向量变换处理得到烘焙法线向量,并基于烘焙法线向量进行烘焙法线贴图确定三维毛发模型对应的毛发流向图。本申请解决了毛发流向图绘制精度差、模型接缝处毛发容易呈现裂痕的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种毛发流向图的制作方法及装置、存储介质、计算机设备。
背景技术
随着电脑绘图技术的不断演进,3D绘图硬件效能的增强以及宽带网络的普及,3D技术的应用也有了新的风貌。目前3D技术的使用非常广泛,它已经成为各界研究、应用的主题,3D应用发展纵然也就成为了时势所趋最热门的研究话题,也是各行业努力的方向,它的发展主题跨级了制造设计、电子商务、动画制作、多媒体教学、虚拟现实以及游戏行业等等。
对于毛发绘制来说,目前主流的美术创作软件中,具有流向图绘制功能的有Substance Painter、Mari、Houdini等,而其设计本意是为了绘制河流地形以及其他流体方向,在需要精确绘制毛发方向时,易用性并不强。现有技术方案均适用于河流地形制作时使用的流向图,然而当绘制动物表面毛发流向图时,并没有现有的工作流可以很好地适配这一需求。主要表现在如下几点:
1、有些软件(如Substance Painter)仅能显示流向图颜色,而不能显示其代表的毛发方向,这使得美术人员在绘制流向图时难以得到直观反馈。
2、有些软件(如大部分2D绘制软件)仅能在一个平面上进行绘制,无法导入模型后在模型表面绘制。
3、Houdini FX中的原有工作流适合于粗略绘制河流水流方向,在绘制动物毛发方向时会出现错误且不易用。
发明内容
有鉴于此,本申请提供了一种毛发流向图的制作方法及装置、存储介质、计算机设备,解决了现有技术中毛发流向图绘制精度差、模型接缝处毛发容易呈现裂痕等错误的问题。
根据本申请的一个方面,提供了一种毛发流向图的制作方法,包括:
响应于模型细分指令对三维毛发模型进行细分,得到所述三维毛发模型对应的新增毛发顶点,并将所述三维毛发模型对应的初始毛发顶点以及所述新增毛发顶点作为所述三维毛发模型对应的目标毛发顶点;
按照预设法线向量,配置所述目标毛发顶点的法线向量;
响应于对所述三维毛发模型的绘制操作,获取与所述目标毛发顶点对应的目标法线向量,并将所述目标毛发顶点的法线向量更新为所述目标法线向量;
对所述目标毛发顶点对应的目标法线向量进行向量变换处理得到烘焙法线向量,并基于所述烘焙法线向量进行烘焙法线贴图确定所述三维毛发模型对应的毛发流向图。
可选地,所述响应于对所述三维毛发模型的绘制操作,获取与所述目标毛发顶点对应的目标法线向量之前,所述方法还包括:
按照预设辅助线长度,配置所述目标毛发顶点对应的辅助线长度,并展示与所述辅助线长度以及所述法线向量匹配的毛发绘制辅助线,以通过所述毛发绘制辅助线可视化展示所述目标毛发顶点对应的法线向量;
按照预设毛发显色规则,配置所述目标毛发顶点对应的毛发显色规则,其中,所述预设毛发显色规则包括毛发显示颜色与毛发顶点法线向量的红绿蓝RGB三通道值之间的对应关系。
可选地,所述配置所述目标毛发顶点对应的毛发显色规则之后,所述方法还包括:
响应于对所述三维毛发模型的绘制操作,对与所述目标毛发顶点对应的绘制毛发进行归一化处理,基于归一化处理后的绘制毛发以及所述毛发显示规则展示与所述绘制操作匹配的毛发绘制效果,所述绘制操作基于对与所述三维毛发模型对应的毛发绘制工具的选择和移动动作确定。
可选地,所述按照预设法线向量,配置所述目标毛发顶点的法线向量,具体包括:
按照预设法线向量对所述目标毛发顶点的法线向量进行配置,并按照预设法线向量对所述目标毛发顶点的法线向量进行配置,并将配置后的所述目标毛发顶点的法线向量存入所述三维毛发模型对应的第一顶点类中;
所述将所述目标毛发顶点的法线向量更新为所述目标法线向量,具体包括:
将所述第一顶点类中存储的所述目标毛发顶点的法线向量更新为所述目标法线向量,并利用所述第一顶点类中记录的所述目标法线向量覆盖所述三维毛发模型对应的第二顶点类;
所述对所述目标毛发顶点对应的目标法线向量进行变换处理,具体包括:
读取所述第二顶点类中的所述目标毛发顶点对应的所述目标法线向量,并对读取的对所述目标毛发顶点对应的目标法线向量进行变换处理。
可选地,所述对读取的对所述目标毛发顶点对应的目标法线向量进行变换处理,并基于处理后得到的烘焙法线向量进行烘焙法线贴图确定所述三维毛发模型对应的毛发流向图,具体包括:
对读取的所述目标法线向量对应的y分量进行翻转得到所述目标法线向量对应的烘焙法线向量,并保持所述目标毛发顶点对应的切线空间数据不变;
按照预设法线贴图对所述烘焙法线向量进行烘焙法线贴图处理得到所述毛发流向图。
可选地,所述得到所述三维毛发模型对应的毛发流向图之后,所述方法还包括:
将所述毛发流向图输入到游戏引擎中进行渲染处理,其中,所述游戏引擎为unity。
可选地,所述响应于模型细分指令,对三维毛发模型进行细分得到所述三维毛发模型对应的目标毛发顶点之前,所述方法还包括:
获取所述三维毛发模型对应的模型面数;
若所述模型面数小于预设面数阈值,则生成所述模型细分指令。
根据本申请的另一方面,提供了一种毛发流向图的制作装置,包括:
模型细分模块,用于响应于模型细分指令对三维毛发模型进行细分,得到所述三维毛发模型对应的新增毛发顶点,并将所述三维毛发模型对应的初始毛发顶点以及所述新增毛发顶点作为所述三维毛发模型对应的目标毛发顶点;
法线向量重置模块,用于按照预设法线向量,配置所述目标毛发顶点的法线向量;
绘制数据获取模块,用于响应于对所述三维毛发模型的绘制操作,获取与所述目标毛发顶点对应的目标法线向量,并将所述目标毛发顶点的法线向量更新为所述目标法线向量;
模型烘焙模块,用于对所述目标毛发顶点对应的目标法线向量进行向量变换处理得到烘焙法线向量,并基于所述烘焙法线向量进行烘焙法线贴图确定所述三维毛发模型对应的毛发流向图。
可选地,所述装置还包括:
辅助线配置模块,用于所述响应于对所述三维毛发模型的绘制操作,获取与所述目标毛发顶点对应的目标法线向量之前,按照预设辅助线长度,配置所述目标毛发顶点对应的辅助线长度,并展示与所述辅助线长度以及所述法线向量匹配的毛发绘制辅助线,以通过所述毛发绘制辅助线可视化展示所述目标毛发顶点对应的法线向量;
显色规则配置模块,用于按照预设毛发显色规则,配置所述目标毛发顶点对应的毛发显色规则,其中,所述预设毛发显色规则包括毛发显示颜色与毛发顶点法线向量的红绿蓝RGB三通道值之间的对应关系。
可选地,所述装置还包括:
绘制效果展示模块,用于所述配置所述目标毛发顶点对应的毛发显色规则之后,响应于对所述三维毛发模型的绘制操作,对与所述目标毛发顶点对应的绘制毛发进行归一化处理,基于归一化处理后的绘制毛发以及所述毛发显示规则展示与所述绘制操作匹配的毛发绘制效果,所述绘制操作基于对与所述三维毛发模型对应的毛发绘制工具的选择和移动动作确定。
可选地,所述法线向量重置模块具体用于按照预设法线向量对所述目标毛发顶点的法线向量进行配置,并将配置后的所述目标毛发顶点的法线向量存入所述三维毛发模型对应的第一顶点类中;
所述绘制数据获取模块还用于将所述第一顶点类中存储的所述目标毛发顶点的法线向量更新为所述目标法线向量,并利用所述第一顶点类中记录的所述目标法线向量覆盖所述三维毛发模型对应的第二顶点类;
所述模型烘焙模块,还用于读取所述第二顶点类中的所述目标毛发顶点对应的所述目标法线向量,并对读取的对所述目标毛发顶点对应的目标法线向量进行变换处理。
可选地,所述模型烘焙模块,具体包括:
烘焙法线向量处理单元,用于对所述目标法线向量对应的y分量进行翻转得到所述目标法线向量对应的烘焙法线向量,并保持所述目标毛发顶点对应的切线空间数据不变;
烘焙单元,用于按照预设法线贴图对所述烘焙法线向量进行烘焙法线贴图处理得到所述毛发流向图。
可选地,所述装置还包括:
渲染模块,用于所述得到所述三维毛发模型对应的毛发流向图之后,将所述毛发流向图输入到游戏引擎中进行渲染处理,其中,所述游戏引擎为unity。
可选地,所述装置还包括:
模型面数获取模块,用于所述响应于模型细分指令,对三维毛发模型进行细分得到所述三维毛发模型对应的目标毛发顶点之前,获取所述三维毛发模型对应的模型面数;
细分指令生成模块,用于若所述模型面数小于预设面数阈值,则生成所述模型细分指令。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述毛发流向图的制作方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述毛发流向图的制作方法。
借由上述技术方案,本申请提供的一种毛发流向图的制作方法及装置、存储介质、计算机设备,响应于模型细分指令对三维毛发模型进行细分,以增加原有三维毛发模型中的毛发顶点,确定目标毛发顶点,而后按照预设法线向量对目标毛发顶点对应的法线向量进行重置,使得目标毛发顶点的法线方向连续,进一步,根据在三维毛发模型的模型表面的毛发绘制操作,确定目标毛发顶点对应的用于表现毛发方向特征的目标法线向量,对目标法线向量进行方向变换得到烘焙法线向量并进行烘焙法线贴图处理,最终得到三维毛发模型的毛发流向图。本申请实施例通过对模型进行细分、对毛发顶点的法线向量进行配置以及对烘焙法线向量进行变换的方式,解决了现有技术中毛发流向图绘制精度差、模型接缝处毛发容易呈现裂痕的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种毛发流向图的制作方法的流程示意图;
图2示出了本申请实施例提供的另一种毛发流向图的制作方法的流程示意图;
图3示出了本申请实施例提供的一种毛发流向图的绘制流程示意图;
图4示出了本申请实施例提供的一种毛发流向图的制作装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种毛发流向图的制作方法,如图1所示,该方法包括:
步骤101,响应于模型细分指令对三维毛发模型进行细分,得到三维毛发模型对应的新增毛发顶点,并将三维毛发模型对应的初始毛发顶点以及新增毛发顶点作为三维毛发模型对应的目标毛发顶点;
本申请实施例可以应用于游戏制作、动画制作等领域中,实现对动物、虚拟角色等各种形象的毛发流向图绘制,以表现出动物、虚拟角色等各种形象的头部、肢体等部位生动的毛发效果。本申请可以利用多种三维绘制软件进行毛发流向图绘制,本实施例以利用Houdini FX 18.0.532软件中SideFX Labs Toolset工具集中的原生节点为例进行说明。
在本申请实施例中,三维毛发模型为需要在其表面绘制毛发流向图的三维模型,例如需要进行毛发绘制的动物模型,在一些应用场景中,为了表现出更加细致、生动的毛发效果,对于预先建立的三维毛发模型,可以在已有三维毛发模型的基础上进行节点细分,例如模型面数较低时增加细分节点,具体可以对模型网格进行细分,以增加模型面数,增多毛发顶点数量,新增毛发顶点以及三维毛发模型对应的初始毛发顶点将共同作为后续绘制所需的目标毛发顶点,以使后续绘制的毛发流向图能够表现出更多细节特征。其中,三维毛发模型可以通过Geometry选项导入,以使各种格式的的三维毛发模型都能够正常在软件中使用,避免格式错误情况发生。另外,对于新增毛发顶点可以采用默认设置,例如软件中类函数Method设置为Normal(默认),即三维毛发模型中各新增毛发顶点的方向向量初始值为Normal法线方向。
步骤102,按照预设法线向量,配置目标毛发顶点的法线向量;
在上述实施例中,为了避免模型细分步骤产生的新增毛发顶点的法线方向与初始毛发顶点的法线方向不连续,导致后续绘制的毛发流向图可能呈现出裂痕的效果,本申请实施例中,在进行毛发绘制之前,按照预设法线方向对三维毛发模型对应的目标毛发顶点的法线向量进行重置,以使得目标毛发顶点的法线方向连续,从而有助于避免模型接缝处毛发呈现裂痕的错误,提高毛发流向图表现效果,使得绘制软件不仅适用于粗略绘制河流水流方向,也能够适用于绘制复杂、细致的毛发流向图。
步骤103,响应于对三维毛发模型的绘制操作,获取与目标毛发顶点对应的目标法线向量,并将目标毛发顶点的法线向量更新为目标法线向量;
在上述实施例中,可以连接Visualize Node(可视化节点)进行模型可视化,美术人员可以在可视化模型表面进行绘制操作,响应于美术人员对三维毛发模型的绘制操作,对美术人员的绘制操作进行数据分析,获取美术人员通过绘制操作所表达出的毛发流向特征,获取其中与目标毛发顶点对应的目标法线向量,并按照美术人员绘制的目标法线向量对原来配置的目标毛发顶点的法线向量进行更新,以使更新后的目标毛发顶点法线向量与美术人员的绘制数据匹配。
步骤104,对目标毛发顶点对应的目标法线向量进行向量变换处理得到烘焙法线向量,并基于烘焙法线向量进行烘焙法线贴图确定三维毛发模型对应的毛发流向图。
在上述实施例中,毛发流向图可以通过对法线向量进行烘焙法线贴图获得,例如可以采用Houdini引擎进行烘焙处理,在进行烘焙处理之前,还应基于当前绘制软件与烘焙软件各自对于法线向量默认的存储方式来判断需要对目标毛发顶点对应的目标法线向量进行怎样的变换,以使得对目标法线向量进行变换后得到的烘焙法线向量能够适配于应用场景中的UV坐标系,进而利用烘焙软件对烘焙法线向量进行烘焙法线贴图处理,得到三维毛发模型对应的毛发流向图,从而使得三维毛发模型能够表现出生动、细致的毛发流向效果。
通过应用本实施例的技术方案,响应于模型细分指令对三维毛发模型进行细分,以增加原有三维毛发模型中的毛发顶点,确定目标毛发顶点,而后按照预设法线向量对目标毛发顶点对应的法线向量进行重置,使得目标毛发顶点的法线方向连续,进一步,根据在三维毛发模型的模型表面的毛发绘制操作,确定目标毛发顶点对应的用于表现毛发方向特征的目标法线向量,对目标法线向量进行方向变换得到烘焙法线向量并进行烘焙法线贴图处理,最终得到三维毛发模型的毛发流向图。本申请实施例通过对模型进行细分、对毛发顶点的法线向量进行配置以及对烘焙法线向量进行变换的方式,解决了现有技术中毛发流向图绘制精度差、模型接缝处毛发容易呈现裂痕的问题。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种毛发流向图的制作方法,如图2所示,该方法包括:
步骤201,获取三维毛发模型对应的模型面数;
步骤202,若模型面数小于预设面数阈值,则生成模型细分指令;
步骤203,响应于模型细分指令对三维毛发模型进行细分,得到三维毛发模型对应的新增毛发顶点,并将三维毛发模型对应的初始毛发顶点以及新增毛发顶点作为三维毛发模型对应的目标毛发顶点;
步骤204,按照预设法线向量,配置目标毛发顶点的法线向量;
在上述步骤201至步骤204中,可以通过Geometry选项导入三维毛发模型,并查询该三维毛发模型对应的模型面数,如果模型面数小于预设面数阈值,可以认为模型精度较低,在该种情况下,可以生成模型细分指令,从而对模型进行细分,增加模型面数,提高模型精度,以增强模型的表现力。对模型进行细分之后,按照预设法线向量对模型包含的目标毛发顶点的法线向量进行重置,以使得目标毛发顶点的法线方向连续,从而有助于避免模型接缝处毛发呈现裂痕的错误,提高毛发流向图表现效果。
步骤205,按照预设辅助线长度,配置目标毛发顶点对应的辅助线长度,并展示与辅助线长度以及法线向量匹配的毛发绘制辅助线;
在上述步骤205中,为了方便美术人员进行毛发绘制,可以连接Visualize Node对三维毛发模型进行可视化,对于可视化后的模型,美术人员可以在模型表面对毛发方向进行绘制,美术人员绘制的毛发可以基于毛发绘制辅助线进行展示,具体的,预设辅助线长度可以根据实际应用场景中模拟形象的毛发长度、或者依据美术人员的个人喜好进行设置,按照该预设辅助线长度可以对目标毛发顶点进行辅助线配置,展示与辅助线长度以及顶点法线向量匹配的毛发绘制辅助线,提升了美术人员毛发绘制的直观性。
步骤206,按照预设毛发显色规则,配置目标毛发顶点对应的毛发显色规则,其中,预设毛发显色规则包括毛发显示颜色与毛发顶点对应的法线向量之间的对应关系;
在上述步骤206中,为使不同方向的毛发能够展现出不同的效果,便于区分,提升毛发绘制的直观性和易用性,基于预设毛发显色规则配置目标毛发顶点上对应的毛发的显色规则,为体现不同毛发方向的毛发展示效果,预设毛发显色规则可以是毛发显示颜色与毛发顶点对应的法线向量之间的对应关系,例如法线向量为A时毛发显示红色,法线向量为B时毛发显示为绿色,对于绘制软件来说,可以通过设置Coloring(着色)选项为VectorValues(向量值)以根据向量方向显示颜色。
步骤207,响应于对三维毛发模型的绘制操作,获取与目标毛发顶点对应的目标法线向量,并将目标毛发顶点的法线向量更新为目标法线向量,以及对与目标毛发顶点对应的绘制毛发进行归一化处理,基于归一化处理后的绘制毛发以及毛发显示规则展示与绘制操作匹配的毛发绘制效果;
在上述步骤207中,绘制操作基于对与三维毛发模型对应的毛发绘制工具的选择和移动动作确定。其中,毛发绘制工具可以是毛发绘制“笔刷”,美术人员通过选择和移动“笔刷”在模型表面绘制毛发方向,通过对美术人员的绘制操作进行分析,确定目标毛发顶点对应的绘制法线方向即美术人员绘制的毛发方向,同时,基于美术人员的绘制操作还可以确定每个目标毛发顶点对应的毛发长度,为了提升毛发表现效果,还可以对毛发长度进行归一化处理,从而基于与每个目标毛发顶点对应的归一化处理后的毛发长度以及毛发方向,遵循毛发显示规则对毛发绘制效果进行初步展示,方便美术人员根据展示效果实时对绘制数据进行修正、改善,提高美术人员绘制时的直观性和易用性。
步骤208,对目标法线向量对应的y分量进行翻转得到目标法线向量对应的烘焙法线向量,并保持目标毛发顶点对应的切线空间数据不变;
步骤209,按照预设法线贴图对烘焙法线向量进行烘焙法线贴图处理得到毛发流向图;
步骤210,对毛发流向图输入到游戏引擎中进行渲染处理,其中,游戏引擎为unity。
在上述步骤208至步骤210中,对目标法线向量进行变换处理,具体地,本申请实施例中采用Unity引擎对烘焙得到的毛发流向图进行渲染,因为Unity中的UV坐标的y轴与Houdini中默认的方向相反,因此对目标法线向量对应的y分量进行翻转后得到烘焙法线向量,也即生成毛发流向图的红绿蓝RGB通道中的绿色通道以适配游戏引擎Unity中的UV坐标系,同时,Unity引擎选用与目标毛发顶点的切线空间,以使烘焙后的毛发流向图能够按与原模型相同的标准切线空间输出,纠正了现有技术原工作流将流向图输出在非标准切线空间的错误。进而获取预设法线贴图,即毛发贴图,对模型的烘焙法线向量进行烘焙法线贴图处理,生成毛发流向图,最后利用游戏引擎Unity对烘焙后的毛发流向图进行渲染,并输出到指定文件夹中,得到最终赋予毛发特征表现力的三维模型。
其中,步骤204具体可以为:按照预设法线向量对目标毛发顶点的法线向量进行配置,并按照预设法线向量对目标毛发顶点的法线向量进行配置,并将配置后的目标毛发顶点的法线向量存入三维毛发模型对应的第一顶点类中;相应的,步骤207中将目标毛发顶点的法线向量更新为目标法线向量,具体可以为:将所述第一顶点类中存储的所述目标毛发顶点的法线向量更新为所述目标法线向量,并利用所述第一顶点类中记录的所述目标法线向量覆盖所述三维毛发模型对应的第二顶点类;相应的,步骤208中的目标法线向量具体可以通过“读取第二顶点类中的目标毛发顶点对应的目标法线向量”获得。
在上述实施例中,第一顶点类具体可以为Houdini FX 18.0.532软件中SideFXLabs Toolset工具集中的Point,第二顶点类具体可以为Vertex,按预设法线向量对目标毛发顶点的法线向量进行配置后保存在Point中,美术人员进行毛发绘制之后,将Point中的目标毛发顶点的法线向量更新为美术人员绘制产生的目标法线向量,同时由于进行法线烘焙时需要从Vertex中读取法线向量以便进行烘焙,因此使用Point上保存的方向向量覆盖Vertex上的法线向量。
如图3示出了本申请实施例提供的一种毛发流向图的绘制流程示意图。中具体操作细节如下:
1、点击File/Import/Geometry导入需要绘制Flowmap(流向图)的模型,这里有一点需要注意的是,即使是FBX格式的模型,也需要通过Geometry选项导入,否则后续会出现不明原因错误。
2、双击进入Geometry进行修改。由于Flowmap brush(流向图刷)只能在顶点级别刷方向,所以如果模型面数较低,需要临时加一个Subdivide(细分)节点进行细分。
3、连接Flowmap Node(流向图节点),采用默认设置。
4、连接Visualize Node(可视化节点)进行可视化。由于需要可视化的向量保存在Point上名为v的属性中,于是设置Attribute(属性)为v,Type为Marker(类型为标记),Style为Vector(类型为向量),Class为Point(类为点)。Length Scale(长度范围)选项决定了辅助线的长度,可以按个人喜好设置。勾选Normalize Vectors(标准化向量)以归一化向量长度,同时设置Coloring(着色)为Vector Values(向量值)以根据向量方向显示颜色。
5、连接Flowmap Brush(流向图刷)节点,即可以在模型表面对“毛发”方向进行绘制。绘制之前需要点击一次Reset All Changes(重置所有更改),否则之前的Subdivide(细分)节点所作的曲面细分操作可能会影响绘制。这一步即为美术人员进行绘制创作的步骤。
6、为了正确输出贴图,需要进行一些额外的操作。首先连接attribute promote(属性提升)节点,将Point上保存的方向向量转移至Vertex(顶点)上,设置Original Name为v,New Class为Vertex,勾选Change New Name选项并设置New Name为N。该节点使用Point上保存的方向向量v覆盖Vertex上的法线向量N,于是我们在下一步只要烘焙NormalMap(法线贴图),即可得到所需的Flowmap。
7、最后,连接simple baker(简单烘焙)节点,设置烘焙Normal Map(法线贴图),其中Base Path(基本路径)为最终文件输出路径。注意需要在Advanced(高级)标签中勾选Tangent Normal Flip选项,反转生成Flowmap的绿色通道以适配游戏引擎Unity中的UV坐标系。同时保持Use MikkT Tangent Space选项勾选,保证输出的Flowmap使用与Unity相同的Tangent Space(切线空间),点击Render(渲染),即可将Flowmap流向图输出至指定文件夹。
通过应用本实施例的技术方案,改造了Houdini FX中原有的针对河流流向图绘制的美术工作流,使其适用于动物毛发流向图的绘制,纠正了原有工作流将流向图输出在非标准切线空间的错误,避免了动物模型接缝处毛发呈现裂痕的错误。同时,相对于其他绘制软件,大幅提升了美术人员绘制时的直观性与易用性。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种毛发流向图的制作装置,如图4所示,该装置包括:
模型细分模块301,用于响应于模型细分指令对三维毛发模型进行细分,得到所述三维毛发模型对应的新增毛发顶点,并将所述三维毛发模型对应的初始毛发顶点以及所述新增毛发顶点作为所述三维毛发模型对应的目标毛发顶点;
法线向量重置模块302,用于按照预设法线向量,配置所述目标毛发顶点的法线向量;
绘制数据获取模块303,用于响应于对所述三维毛发模型的绘制操作,获取与所述目标毛发顶点对应的目标法线向量,并将所述目标毛发顶点的法线向量更新为所述目标法线向量;
模型烘焙模块304,用于对所述目标毛发顶点对应的目标法线向量进行向量变换处理得到烘焙法线向量,并基于所述烘焙法线向量进行烘焙法线贴图确定所述三维毛发模型对应的毛发流向图。
在具体的应用场景中,可选地,所述装置还包括:
辅助线配置模块305,用于所述响应于对所述三维毛发模型的绘制操作,获取与所述目标毛发顶点对应的目标法线向量之前,按照预设辅助线长度,配置所述目标毛发顶点对应的辅助线长度,并展示与所述辅助线长度以及所述法线向量匹配的毛发绘制辅助线;
显色规则配置模块306,用于按照预设毛发显色规则,配置所述目标毛发顶点对应的毛发显色规则,其中,所述预设毛发显色规则包括毛发显示颜色与毛发顶点对应的法线向量之间的对应关系。
在具体的应用场景中,可选地,所述装置还包括:
绘制效果展示模块307,用于所述配置所述目标毛发顶点对应的毛发显色规则之后,响应于对所述三维毛发模型的绘制操作,对与所述目标毛发顶点对应的绘制毛发进行归一化处理,基于归一化处理后的绘制毛发以及所述毛发显示规则展示与所述绘制操作匹配的毛发绘制效果,所述绘制操作基于对与所述三维毛发模型对应的毛发绘制工具的选择和移动动作确定。
在具体的应用场景中,可选地,所述法线向量重置模块302具体用于按照预设法线向量对所述目标毛发顶点的法线向量进行配置,并将配置后的所述目标毛发顶点的法线向量存入所述三维毛发模型对应的第一顶点类中;
所述绘制数据获取模块303还用于将所述第一顶点类中存储的所述目标毛发顶点的法线向量更新为所述目标法线向量,并利用所述第一顶点类中记录的所述目标法线向量覆盖所述三维毛发模型对应的第二顶点类;
所述模型烘焙模块304,还用于读取所述第二顶点类中的所述目标毛发顶点对应的所述目标法线向量,并对读取的对所述目标毛发顶点对应的目标法线向量进行变换处理。
在具体的应用场景中,可选地,所述模型烘焙模块304,具体包括:
烘焙法线向量处理单元3041,用于对所述目标法线向量对应的y分量进行翻转得到所述目标法线向量对应的烘焙法线向量,并保持所述目标毛发顶点对应的切线空间数据不变;
烘焙单元3042,用于按照预设法线贴图对所述烘焙法线向量进行烘焙法线贴图处理得到所述毛发流向图。
在具体的应用场景中,可选地,所述装置还包括:
渲染模块308,用于所述得到所述三维毛发模型对应的毛发流向图之后,对所述毛发流向图进行渲染处理。
在具体的应用场景中,可选地,所述装置还包括:
模型面数获取模块309,用于所述响应于模型细分指令,对三维毛发模型进行细分得到所述三维毛发模型对应的目标毛发顶点之前,获取所述三维毛发模型对应的模型面数;
细分指令生成模块310,用于若所述模型面数小于预设面数阈值,则生成所述模型细分指令。
需要说明的是,本申请实施例提供的一种毛发流向图的制作装置所涉及各功能单元的其他相应描述,可以参考图1至图3方法中的对应描述,在此不再赘述。
基于上述如图1至图3所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图3所示的毛发流向图的制作方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图3所示的方法,以及图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图3所示的毛发流向图的制作方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现响应于模型细分指令对三维毛发模型进行细分,以增加原有三维毛发模型中的毛发顶点,确定目标毛发顶点,而后按照预设法线向量对目标毛发顶点对应的法线向量进行重置,使得目标毛发顶点的法线方向连续,进一步,根据在三维毛发模型的模型表面的毛发绘制操作,确定目标毛发顶点对应的用于表现毛发方向特征的目标法线向量,对目标法线向量进行方向变换得到烘焙法线向量并进行烘焙法线贴图处理,最终得到三维毛发模型的毛发流向图。本申请实施例通过对模型进行细分、对毛发顶点的法线向量进行配置以及对烘焙法线向量进行变换的方式,解决了现有技术中毛发流向图绘制精度差、模型接缝处毛发容易呈现裂痕的问题。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种毛发流向图的制作方法,其特征在于,包括:
响应于模型细分指令对三维毛发模型进行细分,得到所述三维毛发模型对应的新增毛发顶点,并将所述三维毛发模型对应的初始毛发顶点以及所述新增毛发顶点作为所述三维毛发模型对应的目标毛发顶点;
按照预设法线方向对三维毛发模型对应的目标毛发顶点的法线向量进行重置,使得目标毛发顶点的法线方向连续;
响应于对所述三维毛发模型的绘制操作,对绘制操作进行数据分析,获取通过绘制操作所表达的毛发流向特征中与所述目标毛发顶点对应的目标法线向量,并按照绘制的目标法线向量对原来配置的目标毛发顶点的法线向量进行更新;
对所述目标毛发顶点对应的目标法线向量进行向量变换处理得到烘焙法线向量,并基于所述烘焙法线向量进行烘焙法线贴图确定所述三维毛发模型对应的毛发流向图。
2.根据权利要求1所述的方法,其特征在于,所述响应于对所述三维毛发模型的绘制操作,获取与所述目标毛发顶点对应的目标法线向量之前,所述方法还包括:
按照预设辅助线长度,配置所述目标毛发顶点对应的辅助线长度,并展示与所述辅助线长度以及所述法线向量匹配的毛发绘制辅助线,以通过所述毛发绘制辅助线可视化展示所述目标毛发顶点对应的法线向量;
按照预设毛发显色规则,配置所述目标毛发顶点对应的毛发显色规则,其中,所述预设毛发显色规则包括毛发显示颜色与毛发顶点法线向量的红绿蓝RGB三通道值之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述配置所述目标毛发顶点对应的毛发显色规则之后,所述方法还包括:
响应于对所述三维毛发模型的绘制操作,对与所述目标毛发顶点对应的绘制毛发进行归一化处理,基于归一化处理后的绘制毛发以及所述毛发显色 规则展示与所述绘制操作匹配的毛发绘制效果,所述绘制操作基于对与所述三维毛发模型对应的毛发绘制工具的选择和移动动作确定。
4.根据权利要求1所述的方法,其特征在于,所述按照预设法线向量,配置所述目标毛发顶点的法线向量,具体包括:
按照预设法线向量对所述目标毛发顶点的法线向量进行配置,并将配置后的所述目标毛发顶点的法线向量存入所述三维毛发模型对应的第一顶点类中;
所述将所述目标毛发顶点的法线向量更新为所述目标法线向量,具体包括:
将所述第一顶点类中存储的所述目标毛发顶点的法线向量更新为所述目标法线向量,并利用所述第一顶点类中记录的所述目标法线向量覆盖所述三维毛发模型对应的第二顶点类;
所述对所述目标毛发顶点对应的目标法线向量进行变换处理,具体包括:
读取所述第二顶点类中的所述目标毛发顶点对应的所述目标法线向量,并对读取的对所述目标毛发顶点对应的目标法线向量进行变换处理。
5.根据权利要求4所述的方法,其特征在于,所述对读取的对所述目标毛发顶点对应的目标法线向量进行变换处理,并基于处理后得到的烘焙法线向量进行烘焙法线贴图确定所述三维毛发模型对应的毛发流向图,具体包括:
对读取的所述目标法线向量对应的y分量进行翻转得到所述目标法线向量对应的烘焙法线向量,并保持所述目标毛发顶点对应的切线空间数据不变;
按照预设法线贴图对所述烘焙法线向量进行烘焙法线贴图处理得到所述毛发流向图。
6.根据权利要求5所述的方法,其特征在于,所述得到所述三维毛发模型对应的毛发流向图之后,所述方法还包括:
将所述毛发流向图输入到游戏引擎中进行渲染处理,其中,所述游戏引擎为unity。
7.根据权利要求1所述的方法,其特征在于,所述响应于模型细分指令,对三维毛发模型进行细分得到所述三维毛发模型对应的目标毛发顶点之前,所述方法还包括:
获取所述三维毛发模型对应的模型面数;
若所述模型面数小于预设面数阈值,则生成所述模型细分指令。
8.一种毛发流向图的制作装置,其特征在于,包括:
模型细分模块,用于响应于模型细分指令对三维毛发模型进行细分,得到所述三维毛发模型对应的新增毛发顶点,并将所述三维毛发模型对应的初始毛发顶点以及所述新增毛发顶点作为所述三维毛发模型对应的目标毛发顶点;
法线向量重置模块,用于按照预设法线方向对三维毛发模型对应的目标毛发顶点的法线向量进行重置,使得目标毛发顶点的法线方向连续;
绘制数据获取模块,用于响应于对所述三维毛发模型的绘制操作,对绘制操作进行数据分析,获取通过绘制操作所表达的毛发流向特征中与所述目标毛发顶点对应的目标法线向量,并按照绘制的目标法线向量对原来配置的目标毛发顶点的法线向量进行更新;
模型烘焙模块,用于对所述目标毛发顶点对应的目标法线向量进行向量变换处理得到烘焙法线向量,并基于所述烘焙法线向量进行烘焙法线贴图确定所述三维毛发模型对应的毛发流向图。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的毛发流向图的制作方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的毛发流向图的制作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011362621.6A CN112396680B (zh) | 2020-11-27 | 2020-11-27 | 毛发流向图的制作方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011362621.6A CN112396680B (zh) | 2020-11-27 | 2020-11-27 | 毛发流向图的制作方法及装置、存储介质、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112396680A CN112396680A (zh) | 2021-02-23 |
CN112396680B true CN112396680B (zh) | 2022-11-25 |
Family
ID=74604687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011362621.6A Active CN112396680B (zh) | 2020-11-27 | 2020-11-27 | 毛发流向图的制作方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112396680B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409465B (zh) * | 2021-06-23 | 2023-05-12 | 网易(杭州)网络有限公司 | 毛发模型的生成方法、装置、存储介质与电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685876A (zh) * | 2018-12-21 | 2019-04-26 | 北京达佳互联信息技术有限公司 | 毛发渲染方法、装置、电子设备及存储介质 |
CN110490961A (zh) * | 2019-08-15 | 2019-11-22 | 天津优乐互娱科技有限公司 | 一种毛发笔刷工具及绘制毛发的方法 |
CN111047675A (zh) * | 2018-10-11 | 2020-04-21 | 真玫智能科技(深圳)有限公司 | 一种头发仿真的方法及装置 |
CN111462313A (zh) * | 2020-04-02 | 2020-07-28 | 网易(杭州)网络有限公司 | 绒毛效果的实现方法、装置和终端 |
-
2020
- 2020-11-27 CN CN202011362621.6A patent/CN112396680B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047675A (zh) * | 2018-10-11 | 2020-04-21 | 真玫智能科技(深圳)有限公司 | 一种头发仿真的方法及装置 |
CN109685876A (zh) * | 2018-12-21 | 2019-04-26 | 北京达佳互联信息技术有限公司 | 毛发渲染方法、装置、电子设备及存储介质 |
CN110490961A (zh) * | 2019-08-15 | 2019-11-22 | 天津优乐互娱科技有限公司 | 一种毛发笔刷工具及绘制毛发的方法 |
CN111462313A (zh) * | 2020-04-02 | 2020-07-28 | 网易(杭州)网络有限公司 | 绒毛效果的实现方法、装置和终端 |
Non-Patent Citations (3)
Title |
---|
【微总结】houdini毛发制作的十大技巧总结;CG猎人;《网址链接:https://www.sohu.com/a/232243667_729554》;20180520;第1-12页 * |
Modelling and Visualisation of the Optical Properties of Cloth;Kočevar等;《Computer simulation》;20170607;全文 * |
虚幻4渲染编程(人物篇)【第一卷:Basic Human Hair - 上】;YivanLee;《网址链接:https://zhuanlan.zhihu.com/p/53407479》;20200703;第1-16页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112396680A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7386153B2 (ja) | 照明をシミュレートするレンダリング方法及び端末 | |
US11748934B2 (en) | Three-dimensional expression base generation method and apparatus, speech interaction method and apparatus, and medium | |
Suveeranont et al. | Example-based automatic font generation | |
WO2022042436A1 (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
US20140085293A1 (en) | Method of creating avatar from user submitted image | |
CN113688545B (zh) | 一种有限元后处理结果可视化方法、系统、数据处理终端 | |
US20210327138A1 (en) | Interactive System and Method Providing Real-Time Virtual Reality Visualization of Simulation Data | |
CN110766776A (zh) | 生成表情动画的方法及装置 | |
JP7307194B2 (ja) | 動画キャラクターの駆動方法並びにその、装置、機器及びコンピュータプログラム | |
KR20230012078A (ko) | 가상 형상 생성 방법, 장치, 전자 기기 및 판독 가능 저장 매체 | |
CN108074285B (zh) | 体积云模拟方法和体积云模拟装置 | |
US10424086B2 (en) | Oil painting stroke simulation using neural network | |
CN112396680B (zh) | 毛发流向图的制作方法及装置、存储介质、计算机设备 | |
US8358311B1 (en) | Interpolation between model poses using inverse kinematics | |
CN113228111A (zh) | 图像处理方法、图像处理系统和程序 | |
Stanko et al. | Surfacing curve networks with normal control | |
CN111739134B (zh) | 虚拟角色的模型处理方法、装置及可读存储介质 | |
CN116524165B (zh) | 三维表情模型的迁移方法、装置、设备和存储介质 | |
EP4287134A1 (en) | Method and system for generating polygon meshes approximating surfaces using root-finding and iteration for mesh vertex positions | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
EP4086853A2 (en) | Method and apparatus for generating object model, electronic device and storage medium | |
CN114119821A (zh) | 虚拟对象的毛发渲染方法、装置及设备 | |
CN114299203A (zh) | 虚拟模型的处理方法和装置 | |
CN114797109A (zh) | 对象编辑方法、装置、电子设备和存储介质 | |
CN111729322A (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 |