一种基于Unity3D引擎的头发模拟制作方法及系统技术方案

技术编号:20005290 阅读:23 留言:0更新日期:2019-01-05 17:49
本发明专利技术提供一种基于Unity3D引擎的头发模拟制作方法,包括创建发型,进行网格和骨骼的创建,骨骼的创建是通过设置头发中的骨骼控制节点确定骨骼控制位置,并采用拉格朗日差值计算头发运动的差值;初始化网格顶点、纹理坐标贴图、颜色、骨骼、由网格顶点构建的三角形信息,通过三角形组合成面片,在面片上赋以纹理坐标贴图信息,创建网格渲染;通过控制配置参数实现对发型的处理,通过蒙皮网格渲染器,把单簇的头发合并成一个完整的头发,并根据配置参数的刷新更新发型;存储发型的配置参数信息实现对发型的保存。本发明专利技术还提供一种基于Unity3D引擎的头发模拟制作系统,实现对人体头发的自定义创建与修改,灵活且可移植性高。

A Method and System of Hair Simulating Based on Unity3D Engine

The invention provides a hair simulation method based on Unity3D engine, including creating hairstyle, grid and skeleton. Skeleton creation determines the skeleton control position by setting skeleton control nodes in hair, and calculates the difference of hair movement by Lagrange difference; initializes grid vertex, texture coordinate mapping, color, skeleton, and is constructed by grid vertex. The triangle information is constructed by combining triangles into facets and assigning texture coordinate mapping information to facets to create mesh rendering; the processing of hairstyle is realized by controlling configuration parameters; the single cluster of hair is merged into a complete hair through skinned mesh renderer, and the hairstyle is updated according to the refreshment of configuration parameters; the information of configuration parameters is stored to realize the hairstyle. Preservation. The invention also provides a hair simulation system based on Unity3D engine, which realizes the custom creation and modification of human hair, and has high flexibility and portability.

【技术实现步骤摘要】
一种基于Unity3D引擎的头发模拟制作方法及系统
本专利技术涉及计算机图形学领域,尤其涉及一种基于Unity3D引擎的头发模拟制作方法及系统。
技术介绍
Unity3D引擎提供了一种蒙皮网格渲染器来渲染骨骼动画,引擎对动画的支持基础是通过支持使用骨骼对网格的操作来实现。目前Unity3D自带的工具只能实现类似衣服,骨骼关节等类似效果,尚未实现其他部位的制作。现有的发型处理方法,包括道具对头发进行的颜色、长度、卷曲等的操作,在模拟头发的运动轨迹上,主要是预先将设定好的常见的几组动作写入系统中,在触发时候直接调用,一般包括8组,从八个方向进行吹头发,但这种方式实现的道具效果过于僵硬,无法实现对头发运动的灵活控制,美术提供的头发不能做到实时自定义的控制,且更改维护起来比较复杂,增加了开发和维护成本。
技术实现思路
本专利技术要解决的技术问题之一,在于提供一种基于Unity3D引擎的头发模拟制作方法,实现对人体头发的自定义创建与修改,灵活且可移植性高。本专利技术要解决的技术问题之一,是这样实现的:一种基于Unity3D引擎的头发模拟制作方法,包括:步骤1、创建发型,包括:创建网格,通过头发的顶点设置摆放头发发根的位置,并作为网格顶点,根据网格顶点的数目构建三角形,通过构建的三角形组合成面片;创建骨骼,通过设置头发中的骨骼控制节点自定义骨骼控制位置,确定骨骼控制节点个数以及各个控制节点旋转的权重,采用拉格朗日差值计算头发运动的差值;初始化网格顶点、纹理坐标贴图、颜色、骨骼以及由网格顶点组合构建的三角形信息,通过构建的三角形组合成面片,在所述面片上赋以纹理坐标贴图信息,创建网格渲染;步骤2、处理发型,通过控制配置参数实现对发型的处理,所述配置参数包括头发的颜色、长度、宽度、卷曲度和旋转角度,其中,头发的颜色和卷曲度通过控制纹理坐标贴图实现,头发的长度和宽度通过控制网格实现,头发的旋转角度通过控制骨骼实现;步骤3、通过蒙皮网格渲染器,把单簇的头发合并成一个完整的头发,并根据配置参数的刷新更新发型;步骤4、存储发型的配置参数信息实现对发型的保存。进一步的,在步骤1之前还包括:判断是否加载预先存储的发型,若是,则加载存储的发型的配置参数,否则,进入步骤1。进一步的,所述纹理坐标贴图包含一簇头发从发根到发梢的纹理信息。进一步的,所述步骤2进一步包括:通过发型道具进行发型的处理操作:生发剂和剪刀道具通过控制长短参数的变化实现头发的变长或变短操作;染发和烘干器道具通过控制颜色参数的变化实现头发的颜色变化操作;卷发器和拉直器道具通过控制卷曲参数的变化实现头发的卷曲或拉直操作;吹发器和洗发器道具通过控制旋转参数的变化实现头发的运动操作。进一步的,所述吹发器的操作过程包括:通过获取吹发器与头发的骨骼控制节点的距离以及方向得到一向量值,并结合吹发器使用时间和骨骼控制节点的权重计算头发每一骨骼控制节点在该方向上的旋转角度,从而模拟头发运动轨迹。本专利技术要解决的技术问题之二,在于提供一种基于Unity3D引擎的头发模拟制作系统,实现对人体头发的自定义创建与修改,灵活且可移植性高。本专利技术要解决的技术问题之二,是这样实现的:一种基于Unity3D引擎的头发模拟制作系统,包括发型创建模块、发型处理模块、发型生成模块和发型存储模块:所述发型创建模块,用于创建发型,包括:创建网格,通过头发的顶点设置摆放头发发根的位置,并作为网格顶点,根据网格顶点的数目构建三角形,通过构建的三角形组合成面片;创建骨骼,通过设置头发中的骨骼控制节点自定义骨骼控制位置,确定骨骼控制节点个数以及各个控制节点旋转的权重,采用拉格朗日差值计算头发运动的差值;初始化网格顶点、纹理坐标贴图、颜色、骨骼以及由网格顶点组合构建的三角形信息,通过构建的三角形组合成面片,在所述面片上赋以纹理坐标贴图信息,创建网格渲染;所述发型处理模块,用于处理发型,通过控制配置参数实现对发型的处理,所述配置参数包括头发的颜色、长度、宽度、卷曲度和旋转角度,其中,头发的颜色和卷曲度通过控制纹理坐标贴图实现,头发的长度和宽度通过控制网格实现,头发的旋转角度通过控制骨骼实现;所述发型生成模块,用于通过蒙皮网格渲染器,把单簇的头发合并成一个完整的头发,并根据配置参数的刷新更新发型;所述发型存储模块,用于存储发型的配置参数信息实现对发型的保存进一步的,在发型创建模块之前还包括:判断是否加载预先存储的发型,若是,则加载存储的发型的配置参数,否则,执行发型创建模块。进一步的,所述纹理坐标贴图包含一簇头发从发根到发梢的纹理信息。进一步的,所述发型处理模块进一步包括:用于通过发型道具进行发型的处理操作:生发剂和剪刀道具通过控制长短参数的变化实现头发的变长或变短操作;染发和烘干器道具通过控制颜色参数的变化实现头发的颜色变化操作;卷发器和拉直器道具通过控制卷曲参数的变化实现头发的卷曲或拉直操作;吹发器和洗发器道具通过控制旋转参数的变化实现头发的运动操作。进一步的,所述吹发器的操作过程包括:通过获取吹发器与头发的骨骼控制节点的距离以及方向得到一向量值,并结合吹发器使用时间和骨骼控制节点的权重计算头发每一骨骼控制节点在该方向上的旋转角度,从而模拟头发运动轨迹。本专利技术具有如下优点:开发者只需美术提供发型的纹理坐标贴图,即可完整实现对整个头发的制作;灵活,可移植性高,发型道具可以根据业务特点定制;发型配置信息模块化,方便策划,以及便于美术对头发的调整,调整保存后可以直接加载处理,缩短开发流程。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术基于Unity3D引擎的头发模拟制作方法执行流程图。图2为本专利技术基于Unity3D引擎的头发模拟制作系统框图。具体实施方式请参考图1,本专利技术一种基于Unity3D引擎的头发模拟制作方法,包括:步骤1、创建发型,包括:创建网格,通过头发的顶点设置摆放头发发根的位置,并作为网格顶点,根据网格顶点的数目构建三角形,通过构建的三角形组合成面片;创建骨骼,通过设置头发中的骨骼控制节点自定义骨骼控制位置,确定骨骼控制节点个数以及各个控制节点旋转的权重,采用拉格朗日差值计算头发运动的差值;此处通过模拟骨骼的方式,使得创建的头发网格可以有比较自然的运动,拉格朗日差值算法有助于做平滑过渡计算,将其运用到头发运动的差值运算,提高了数据的准确性,并使得头发在运动过程中的效果更加平滑,且可以实现任意方向的旋转;初始化网格顶点、纹理坐标贴图、颜色、骨骼以及由网格顶点组合构建的三角形信息,通过构建的三角形组合成面片,在所述面片上赋以纹理坐标贴图信息,创建网格渲染;步骤2、处理发型,通过控制配置参数实现对发型的处理,所述配置参数包括头发的颜色、长度、宽度、卷曲度和旋转角度,其中,头发的颜色和卷曲度通过控制纹理坐标贴图实现,头发的长度和宽度通过控制网格实现,头发的旋转角度通过控制骨骼实现;步骤3、通过蒙皮网格渲染器,把单簇的头发合并成一个完整的头发,并根据配置参数的刷新更新发型;步骤4、存储发型的配置参数信息实现对发型的保存。较佳的,在步骤1之前还包括:判断是否加载预先存储的发型,若是,则加载存储的发型的配置参数,否则,进入步骤1。较佳的,所述纹理坐标贴图包含一簇头发从发根到发梢的纹理信息。较佳的,所述步骤2进本文档来自技高网...

【技术保护点】
1.一种基于Unity3D引擎的头发模拟制作方法,其特征在于:包括:步骤1、创建发型,包括:创建网格,通过头发的顶点设置摆放头发发根的位置,并作为网格顶点,根据网格顶点的数目构建三角形,通过构建的三角形组合成面片;创建骨骼,通过设置头发中的骨骼控制节点自定义骨骼控制位置,确定骨骼控制节点个数以及各个控制节点旋转的权重,采用拉格朗日差值计算头发运动的差值;初始化网格顶点、纹理坐标贴图、颜色、骨骼以及由网格顶点组合构建的三角形信息,通过构建的三角形组合成面片,在所述面片上赋以纹理坐标贴图信息,创建网格渲染;步骤2、处理发型,通过控制配置参数实现对发型的处理,所述配置参数包括头发的颜色、长度、宽度、卷曲度和旋转角度,其中,头发的颜色和卷曲度通过控制纹理坐标贴图实现,头发的长度和宽度通过控制网格实现,头发的旋转角度通过控制骨骼实现;步骤3、通过蒙皮网格渲染器,把单簇的头发合并成一个完整的头发,并根据配置参数的刷新更新发型;步骤4、存储发型的配置参数信息实现对发型的保存。

【技术特征摘要】
1.一种基于Unity3D引擎的头发模拟制作方法,其特征在于:包括:步骤1、创建发型,包括:创建网格,通过头发的顶点设置摆放头发发根的位置,并作为网格顶点,根据网格顶点的数目构建三角形,通过构建的三角形组合成面片;创建骨骼,通过设置头发中的骨骼控制节点自定义骨骼控制位置,确定骨骼控制节点个数以及各个控制节点旋转的权重,采用拉格朗日差值计算头发运动的差值;初始化网格顶点、纹理坐标贴图、颜色、骨骼以及由网格顶点组合构建的三角形信息,通过构建的三角形组合成面片,在所述面片上赋以纹理坐标贴图信息,创建网格渲染;步骤2、处理发型,通过控制配置参数实现对发型的处理,所述配置参数包括头发的颜色、长度、宽度、卷曲度和旋转角度,其中,头发的颜色和卷曲度通过控制纹理坐标贴图实现,头发的长度和宽度通过控制网格实现,头发的旋转角度通过控制骨骼实现;步骤3、通过蒙皮网格渲染器,把单簇的头发合并成一个完整的头发,并根据配置参数的刷新更新发型;步骤4、存储发型的配置参数信息实现对发型的保存。2.根据权利要求1所述的基于Unity3D引擎的头发模拟制作方法,其特征在于:在步骤1之前还包括:判断是否加载预先存储的发型,若是,则加载存储的发型的配置参数,否则,进入步骤1。3.根据权利要求1所述的基于Unity3D引擎的头发模拟制作方法,其特征在于:所述纹理坐标贴图包含一簇头发从发根到发梢的纹理信息。4.根据权利要求1所述的基于Unity3D引擎的头发模拟制作方法,其特征在于:所述步骤2进一步包括:通过发型道具进行发型的处理操作:生发剂和剪刀道具通过控制长短参数的变化实现头发的变长或变短操作;染发和烘干器道具通过控制颜色参数的变化实现头发的颜色变化操作;卷发器和拉直器道具通过控制卷曲参数的变化实现头发的卷曲或拉直操作;吹发器和洗发器道具通过控制旋转参数的变化实现头发的运动操作。5.根据权利要求4所述的基于Unity3D引擎的头发模拟制作方法,其特征在于:所述吹发器的操作过程包括:通过获取吹发器与头发的骨骼控制节点的距离以及方向得到一向量值,并结合吹发器使用时间和骨骼控制节点的权重计算头发每一骨骼控制节点在该方向上的旋转角度,从而模拟头发运动轨迹。6.一种基于Unity3D引擎的头发模拟制作系统,其特征在于,包括发型创建...

【专利技术属性】
技术研发人员:刘洋郑婷婷高松涛薛飞林燕燕
申请(专利权)人:福州智永信息科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1