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、创建发型,包括:创建网格,通过头发的顶点设置摆放头发发根的位置,并作为网格顶点,根据网格顶点的数目构建三角形,通过构建的三角形组合成面片;创建骨骼,通过设置头发中的骨骼控制节点自定义骨骼控制位置,确定骨骼控制节点个数以及各个控制节点旋转的权重,采用拉格朗日差值计算头发运动的差值;初始化网格顶点、纹理坐标贴图、颜色、骨骼以及由网格顶点组合构建的三角形信息,通过构建的三角形组合成面片,在所述面片上赋以纹理坐标贴图信息, ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。