一种带纹理结构三维模型的合成方法技术

技术编号:21852205 阅读:43 留言:0更新日期:2019-08-14 00:43
本发明专利技术公开了一种带纹理结构三维模型的合成方法,包括:外部输入三维模型生成参数和均匀的纹理贴图,三维模型生成参数包括三维模型的边数、外接圆半径和高度;基于三维模型生成参数生成三维模型的网格结构;在三维应用引擎unity中对三维模型的网格结构进行光栅化处理,并结合纹理贴图,合成带纹理结构的三维模型;本发明专利技术可以自由通过外部参数的控制生成立体多边形模型;模型纹理均匀,可选择不同的纹理贴图;不需要借助于专业的三维模型制作软件制作。

A Method for Synthesizing Three-Dimensional Models with Texture Structure

【技术实现步骤摘要】
一种带纹理结构三维模型的合成方法
本专利技术涉及三维模型
,具体涉及一种带纹理结构三维模型的合成方法。
技术介绍
三维技术的突飞猛进,对三维模型制作的速度和质量要求是越来越高;传统的三维模型都需要借助于强大的三维模型制作软件提取其相关特征值,并合成通用数据格式的三维文件;三维应用引擎unity通过内置读取三维文件的数据接口还原三维模型的网格结构,并经内置的图形图像处理器光栅化处理纹理结构后,可在三维应用引擎unity中看到清晰的三维模型。同时,三维应用引擎unity可以给定固定正方体、圆柱体、球体、网格面通过形变、位移和旋转改变其三维空间的位置结构。上述技术存在的技术问题为:1、在三维应用开发中,过于依赖强大的三维模型制作软件,耗时耗力;2、三维应用引擎unity只能提供规则的例如立方体、球体、圆柱体、面状的网格结构,结构比较单一;3、三维应用引擎unity只能在规则的三维模型附上任意的纹理结构,模型由于内外特征结构没经过差异化法线、三角形、UV纹理处理,模型显示效果会相当模糊不清,效果极差。
技术实现思路
针对上述问题中存在的不足之处,本专利技术提供一种带纹理结构三维模型的合成方法。本专利技术公开了一种带纹理结构三维模型的合成方法,包括:外部输入三维模型生成参数和均匀的纹理贴图,所述三维模型生成参数包括三维模型的边数、外接圆半径和高度;基于所述三维模型生成参数生成三维模型的网格结构;在三维应用引擎unity中对所述三维模型的网格结构进行光栅化处理,并结合所述纹理贴图,合成带纹理结构的三维模型。作为本专利技术的进一步改进,在所述外部输入三维模型生成参数和均匀的纹理贴图前,还包括:在三维应用引擎unity中,选择三维模型的原点坐标。作为本专利技术的进一步改进,所述基于所述三维模型生成参数生成三维模型,包括:基于所述原点坐标和三维模型生成参数,计算三维模型特征值顶点坐标;基于所述三维模型特征值顶点坐标,生成三维模型的网格结构。作为本专利技术的进一步改进,所述基于所述三维模型特征值顶点坐标,生成三维模型的网格结构;包括:根据所述三维模型特征值顶点坐标构建规则多变形纹理网格特征数据;基于顶点索引、网格索引、法线索引和纹理坐标索引,生成三维模型的网格结构。作为本专利技术的进一步改进,所述三维模型为立体三维多边形模型。与现有技术相比,本专利技术的有益效果为:本专利技术可减少三维建模工作者的建模工作量;本专利技术可快速、便捷、自由的在应用软件中建模;本专利技术快速建模的三维模型具有清晰轮廓、明显的纹理结构等特点;本专利技术通过替换不同的均匀纹理结构可以看到不同的丰富多彩的三维模型。附图说明图1为本专利技术一种实施例公开的带纹理结构三维模型的合成方法的流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图对本专利技术做进一步的详细描述:本专利技术的目的为:在三维应用引擎Unity环境下,通过外部参数的输入,可以自由的生成带均匀纹理结构的立体多边形;在三维应用开发中,可以不依赖三维模型制作引擎,生成需要的具有一定规则和纹理的立体三维多边形模型,解决三维应用模型过度依赖三维制作引擎的弊端;不需要手画,通过外部参数控制多边形的模型的边长、高度、大小,解决三维模型通过手画和视觉拖动生成三维模型的弊端。为实现上述目的,本专利技术通过三维应用引擎unity对三维模型特征值处理的内在机制,提供相关外部参数和均匀的纹理图结构,进行空间计算和生成内存中可以识别的三维引擎数据结构,光栅化处理后生成不同的多边形立体结构模型。具体的:如图1所示,本专利技术提供一种带纹理结构三维模型的合成方法,包括:S1、在三维应用引擎unity中,选择三维模型的原点坐标;其中:三维空间坐标系说明:本专利技术主要以右手坐标系为例,x、y轴为显示模型的横轴和纵轴,z为深度坐标;原点坐标命名为CenterPos=(ax、by、cz);S2、外部输入三维模型生成参数和均匀的纹理贴图,三维模型生成参数包括三维模型的边数nsides、外接圆半径lsides和高度h;S3、基于三维模型生成参数生成三维模型的网格结构;包括:S31、基于原点坐标和三维模型生成参数,计算三维模型特征值顶点坐标;其中:1.底边外接圆顶点求解<1>底边中心CenterLowPos=(ax、by-h/2、cz)<2>底边多边形弧度夹角θ=2Π/nsides在面y=by-h/2的平面上,求得底边多边形顶点:VtLowPosi·x=a×coS(i×θ)VtLowPosi·z=a×sin(i×θ)VtLowPosi.=(a×Cos(i×θ),by-h/2,a×sin(i×θ))其中(i=0、1、2...n)。2.则对应上边外接圆顶点坐标VtUpPosi=VtLowPosi+(0,h,0).S32、基于三维模型生成参数生成三维模型;其中:根据三维模型特征值顶点坐标构建规则多变形纹理网格特征数据;基于顶点索引、网格索引、法线索引和纹理坐标索引,生成三维模型的网格结构;其中:三维模型的特征值包括顶点、三角形网格、法线、纹理坐标构成,根据上面求的轮廓坐标构建规则多变形纹理网格特征数据,分别用数据容器ListVT(顶点坐标)、ListTraigle(网格索引)、ListNormal(法线)、ListUV(纹理坐标),生成三维模型的网格结构;1.侧面网格顶点、三角网格和UV生成以顺时针作为三角形索引序列,模型单个侧面顶点添加ListVT.add(VtLowPosi)、ListVT.add(VtUposi)、ListVTadd(VtLowPosi+1)、ListVT.add(VtUposi+1)三角形索引下三角网格ListTraigle.add(i×2)、ListTraigle.add(i×2+1)、ListTraigle.add(i×2+2)上三角网格ListTraigle.add(i×2+1)、ListTraigle.add(i×2+3)、ListTraigle.add(i×2+2)顶点对应的UV坐标ListUV.add(0,0)、ListUV.add(0,1)、ListUV.add(1,0)、ListUV.add(1,1),法线会根据网格选择的顶点自然生成2.底面网格顶点、三角网格和UV生成以底面VtUpPos0连接底面顶点,在与剩余的其它底面顶点依次连接为三角形,当前顶点索引值为Indexcount=ListVT.count顶点添加ListVT.add(VtLowPos0)、ListVT.add(VtLowPosi)、ListVT.add(VtLowPosi+1),其中i>=1.三角形索引添加ListTraigle.add(Indexcount+i×3)、ListTraigle.add(Indexcount+i×3+1)、ListTraigle.add(Indexcount+i×3+2)顶点对应UV纹理坐标ListUV.add(0,0)、ListUV.add(本文档来自技高网...

【技术保护点】
1.一种带纹理结构三维模型的合成方法,其特征在于,包括:外部输入三维模型生成参数和均匀的纹理贴图,所述三维模型生成参数包括三维模型的边数、外接圆半径和高度;基于所述三维模型生成参数生成三维模型的网格结构;在三维应用引擎unity中对所述三维模型的网格结构进行光栅化处理,并结合所述纹理贴图,合成带纹理结构的三维模型。

【技术特征摘要】
1.一种带纹理结构三维模型的合成方法,其特征在于,包括:外部输入三维模型生成参数和均匀的纹理贴图,所述三维模型生成参数包括三维模型的边数、外接圆半径和高度;基于所述三维模型生成参数生成三维模型的网格结构;在三维应用引擎unity中对所述三维模型的网格结构进行光栅化处理,并结合所述纹理贴图,合成带纹理结构的三维模型。2.如权利要求1所述的合成方法,其特征在于,在所述外部输入三维模型生成参数和均匀的纹理贴图前,还包括:在三维应用引擎unity中,选择三维模型的原点坐标。3.如权利要求2所述的合成方法,其特征...

【专利技术属性】
技术研发人员:张驰张兵
申请(专利权)人:武汉方拓数字科技有限公司
类型:发明
国别省市:湖北,42

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

1