一种三维模型定义方法与流程

文档序号:15640931发布日期:2018-10-12 22:03阅读:1248来源:国知局

本发明适用于计算机图形学技术领域,具体涉及一种通用高效的三维模型定义方法。



背景技术:

当前,在动画、建筑、游戏、广告传媒等众多领域,三维模型都有着大量的应用场景,而三维模型格式就是定义三维模型的数据组成结构,三维模型格式的好坏完全决定了三模模型在各个应用场景的易用性与精简型。虽然三维模型格式多种多样,但是有的三维模型数据完全封闭,使他人无法正常使用,有的三维模型格式虽然公开但是冗余复杂,和渲染物体的数据结构差异性较大导致解析效率低下,通用性不高,可扩展性太差。



技术实现要素:

为了解决上述问题,本发明提供一种通用性高可扩展性强的三维模型定义方法。

本发明的一种一种三维模型定义方法,包括如下步骤:

s1、对三维模型的格式进行定义,定义内容包括对节点列表、父节点索引列表、蒙皮列表、灯光列表、相机列表、动画列表、材质列表、纹理列表、网格列表、图片列表进行定义;

s2、对三维模型的灯光进行定义,定义内容包括对灯光名称、灯光所属节点索引、灯光类型、灯光颜色、灯光强度、灯光范围、是否投影定义;

s3、对三维模型的相机进行定义,定义内容包括对相机名字、相机类型、相机所属节点索引、视角、近视距、远视距进行定义;

s4、对三维模型的动画进行定义,定义内容包括对动画名称、动画类型、动画结束时间动画数据列表进行定义;

s5、对三维模型的动画数据进行定义,定义内容包括对关键帧时间、关键帧数据、插值器类型进行定义;

s6、对三维模型的蒙皮进行定义,定义内容包括对蒙皮名字、蒙皮中骨骼所对应的节点在三维模型的节点列表中的索引的列表、蒙皮中骨骼的逆绑定姿态的矩阵列表进行定义;

s7、对三维模型的材质进行定义,定义内容包括对材质名称、漫反射颜色、环境光颜色、镜面光颜色、自发光颜色、不透明度、光泽度、漫反射纹理索引、环境光纹理索引、镜面光纹理索引、自发光纹理索引、不透明度纹理索引、光泽度纹理索引、漫反射纹理uv通道、环境光纹理uv通道、镜面光纹理uv通道、自发光纹理uv通道、不透明纹理uv通道、光泽度纹理uv通道进行定义;

s8、对三维模型的纹理进行定义,定义内容包括对纹理名称、图片索引、纹理过滤方式、纹理差值方式、纹理是否mipmap进行定义;

s9、对三维模型的网格进行定义,定义内容包括对顶点位置数据、顶点uv1数据、顶点uv2数据、顶点颜色数据、顶点骨骼索引数据、顶点骨骼权重数据、顶点变形数据、顶点三角化索引数据进行定义;

s10、对三维模型的节点进行定义,定义内容包括对节点名称、节点网格索引、节点空间旋转、节点空间平移、节点空间缩放、节点是否可见、节点中的多维网格列表、是否接受投影、是否可被投影进行定义;

s11、对三维模型的多维网格进行定义,定义内容包括对材质索引、所属节点中的网格数据的起始顶点索引偏移、所属节点中网格数据的自顶点索引偏移后的索引长度进行定义;

s12、对三维模型中的顶点变形进行定义,定义内容为对顶点目标列表进行定义;

s13、对三维模型中的顶点目标进行定义,定义内容为对目标顶点的位置数据进行定义;

s14、将步骤s1-s13定义的内容所对应的资源并行处理,根据上述方法定义好的三维模型进行资源解析来做三维建模。

本发明的三维模型定义方法提供一种高效、可扩展、易读写、解析快的三维建模模型定义方法,所有资源并行管理解耦性强,所有资源关系由索引来维持,正因为解耦性强所以可扩展性也大大提高即使增加新的数据也只是由索引来联系,资源并行后,当做资源解析时无需关心其他资源的相互关系,只需要把所有资源解析完成后最后用索引去连接即可。

具体实施方式

一种三维模型定义方法,包括如下步骤:

s1、对三维模型的格式进行定义,定义内容包括对节点列表、父节点索引列表、蒙皮列表、灯光列表、相机列表、动画列表、材质列表、纹理列表、网格列表、图片列表进行定义;父节点索引列表对应节点列表里每个节点的父节点在节点列表的索引,用所述父节点索引列表构建节点树结构;

s2、对三维模型的灯光进行定义,定义内容包括对灯光名称、灯光所属节点索引、灯光类型、灯光颜色、灯光强度、灯光范围、是否投影定义;轻重,灯光类型可定义为spot类型、direction类型、point类型中的一种,当灯光类型定义为spot类型时,还要对灯光内夹角和灯光外夹角进行定义;

s3、对三维模型的相机进行定义,定义内容包括对相机名字、相机类型、相机所属节点索引、视角、近视距、远视距进行定义;其中,相机类型定义为自由相机类型和目标相机类型中的一种,当相机类型定义为目标相机类型时,还要对目标物节点索引进行定义;

s4、对三维模型的动画进行定义,定义内容包括对动画名称、动画类型、动画结束时间动画数据列表进行定义;其中,动画类型定义为节点动画和morph动画中的一种;

s5、对三维模型的动画数据进行定义,定义内容包括对关键帧时间、关键帧数据、插值器类型进行定义;其中,将关键帧数据定义为浮点数据、二维浮点数据、三维浮点数据、四维浮点数据中的一种;对插值器类型进行定义时将插值器类型定义为线性插值器和球面插值器的一种;

s6、对三维模型的蒙皮进行定义,定义内容包括对蒙皮名字、蒙皮中骨骼所对应的节点在三维模型的节点列表中的索引的列表、蒙皮中骨骼的逆绑定姿态的矩阵列表进行定义;

s7、对三维模型的材质进行定义,定义内容包括对材质名称、漫反射颜色、环境光颜色、镜面光颜色、自发光颜色、不透明度、光泽度、漫反射纹理索引、环境光纹理索引、镜面光纹理索引、自发光纹理索引、不透明度纹理索引、光泽度纹理索引、漫反射纹理uv通道、环境光纹理uv通道、镜面光纹理uv通道、自发光纹理uv通道、不透明纹理uv通道、光泽度纹理uv通道进行定义;

s8、对三维模型的纹理进行定义,定义内容包括对纹理名称、图片索引、纹理过滤方式、纹理差值方式、纹理是否mipmap进行定义;

s9、对三维模型的网格进行定义,定义内容包括对顶点位置数据、顶点uv1数据、顶点uv2数据、顶点颜色数据、顶点骨骼索引数据、顶点骨骼权重数据、顶点变形数据、顶点三角化索引数据进行定义;

s10、对三维模型的节点进行定义,定义内容包括对节点名称、节点网格索引、节点空间旋转、节点空间平移、节点空间缩放、节点是否可见、节点中的多维网格列表、是否接受投影、是否可被投影进行定义;如没有网格,则将节点网格索引定义为-1;

s11、对三维模型的多维网格进行定义,定义内容包括对材质索引、所属节点中的网格数据的起始顶点索引偏移、所属节点中网格数据的自顶点索引偏移后的索引长度进行定义;

s12、对三维模型中的顶点变形进行定义,定义内容为对顶点目标列表进行定义;

s13、对三维模型中的顶点目标进行定义,定义内容为对目标顶点的位置数据进行定义;

s14、将步骤s1-s13定义的内容所对应的资源并行处理,根据上述方法定义好的三维模型进行资源解析来做三维建模。

本发明的三维模型定义方法提供一种高效、可扩展、易读写、解析快的三维建模模型定义方法,所有资源并行管理解耦性强,所有资源关系由索引来维持,正因为解耦性强所以可扩展性也大大提高即使增加新的数据也只是由索引来联系,资源并行后,当做资源解析时无需关心其他资源的相互关系,只需要把所有资源解析完成后最后用索引去连接即可。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1