本申请属于数据处理,具体涉及一种三维模型自动绑骨的方法及计算机存储介质。
背景技术:
1、当用户制作好cg人物模型之后,如果想让人物模型动起来,就需要先对cg人物模型进行绑骨的操作。三维建模设备建立的三维点云模型是obj格式文件,obj文件中包含模型顶点坐标、贴图坐标、法线坐标,不包含骨骼信息,需要人为手动利用模型软件进行骨骼绑定。
2、目前,对三维模型的骨骼绑定多采用3dmax来完成人体骨骼绑定,或者采用blender完成骨骼绑定(auto rig pro),但是,无论是采取那种方法,都需要利用三维模型软件,通过人为观察和鼠标移动方法,寻找骨骼点。采用目前的方法,主要存在如下缺陷:①依赖软件;②每个骨骼点需要挨个调整,自动化不足;③移动方式为鼠标移动,键盘方向键移动,均依赖人的观察和操作,效率低下。
3、因此,如何设计出一种自动化、高效率的利用三维模型进行人体骨骼信息绑定的方法,是目前需要解决的技术问题。
技术实现思路
1、本申请的目的在于提供一种能够利用三维模型自动化、高效率的进行人体骨骼信息绑定的方法。
2、本申请的第一方面,提供了一种三维模型自动绑骨的方法,该方法包括:读取3d模型的obj文件格式的顶点坐标;
3、根据人体在t-pose站立姿态时的模型姿态,寻找三维坐标的极值点,按照不同人物的模型比例确定骨骼点在三维空间内的顶点坐标范围集;
4、对顶点坐标范围集内的所有点在三维空间中进行数据降维,拟合出一个近似的圆,将计算出的圆心坐标作为对应骨骼点的中心坐标;
5、根据各个骨骼点的中心坐标构建表征三维模型骨骼信息的bvh树文件。
6、进一步地,按照人物模型比例确定骨骼点在三维空间内的顶点坐标范围集包括:
7、基于各骨骼点相对人物身高的比例位置,确定各关键骨骼点的初始顶点坐标;
8、以所述初始顶点坐标为中心,在其周围进行数据增补,得到骨骼点的顶点坐标范围集,其中,所述顶点坐标范围集为一个三维空间内的非标准圆环结构。
9、进一步地,对顶点坐标范围集内的所有点在空间中拟合出一个近似的圆包括:
10、对所述非标准圆环结构中的点,通过奇异值分解方法,分解得到二维平面中的一个近似的圆。
11、进一步地,将人物模型置于坐标系正中,取y向的极大值为头顶点,x向的极小值为人物模型的右手指尖,x向的极大值为人物模型的左手指尖,x负向中的y最小值为人物模型的右脚,x正向中的y最小值为人物模型的左脚,双脚连线中点为人物模型的坐标系原点。
12、进一步地,所选取并测得的人物模型的关键骨骼点包括头,颈,腰,跨,膝盖,脚踝,肩,肘,腕。
13、进一步地,在获取某关键骨骼点的坐标后,还根据关节比例计算出其它骨骼点的坐标。
14、进一步地,以所述初始顶点坐标为中心,在其周围进行数据扩充,得到模型的顶点坐标范围集包括:根据所述关键骨骼点在三维坐标系的位置,基于该位置进行对应方向的顶点数据增补,所述对应方向为单独的x向、y向、z向,或者多个方向的结合。
15、采用本申请所提供的一种三维模型自动绑骨的方法,利用人物模型文件本身的三维空间信息,结合数据降维方法,自动得到各骨骼点坐标,该种方法不需要依赖软件,不需要每个点都用鼠标慢慢挪,提高了骨骼绑定的工作效率。
1.一种三维模型自动绑骨的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的三维模型自动绑骨的方法,其特征在于,按照人物模型比例确定骨骼点在三维空间内的顶点坐标范围集包括:
3.根据权利要求2所述的三维模型自动绑骨的方法,其特征在于,对顶点坐标范围集内的所有点在空间中拟合出一个近似的圆包括:
4.根据权利要求2所述的三维模型自动绑骨的方法,其特征在于,将人物模型置于坐标系正中,取y向的极大值为头顶点,x向的极小值为人物模型的右手指尖,x向的极大值为人物模型的左手指尖,x负向中的y最小值为人物模型的右脚,x正向中的y最小值为人物模型的左脚,双脚连线中点为人物模型的坐标系原点。
5.根据权利要求2所述的三维模型自动绑骨的方法,其特征在于,所选取并测得的人物模型的关键骨骼点包括头,颈,腰,跨,膝盖,脚踝,肩,肘,腕。
6.根据权利要5所述的三维模型自动绑骨的方法,其特征在于,在获取某关键骨骼点的坐标后,还根据关节比例计算出其它骨骼点的坐标。
7.根据权利要求2所述的三维模型自动绑骨的方法,其特征在于,以所述初始顶点坐标为中心,在其周围进行数据扩充,得到模型的顶点坐标范围集包括:根据所述关键骨骼点在三维坐标系的位置,基于该位置进行对应方向的顶点数据增补,所述对应方向为单独的x向、y向、z向,或者多个方向的结合。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任一所述的方法的步骤。