一种3D模型文件导入方法及系统技术方案

技术编号:7809399 阅读:360 留言:0更新日期:2012-09-27 08:14
本发明专利技术公开了一种3D模型文件导入方法及系统,具体包括:读取3D模型文件;轮询所述3D模型文件,根据组关键字在所述3D模型文件的排列顺序,顺序排列为组序列;根据面关键字命令行中的排序,顺序排列为面序列;根据点信息属性字段在面关键字命令行中的排序,顺序排列为点序列;并根据新生成的顶点索引对应原索引进行对照排序;根据所述3D模型文件中的组序列顺序对组进行读取,本发明专利技术解决了在扩展场景设计器中OBJ文件的识别,解决了场景设计器中外部三维数据的读入问题,从而可以实现场景设计器与多种三维合成系统协同工作,提高了场景设计器的三维模型处理能力,实现了对外部OBJ文件的直接调用,节约了场景设计器的制作时间。

【技术实现步骤摘要】

本专利技术涉及场景设计器及三维模型设计系统在应用于电视节目制作领域中时,对原始三维模型文件的导入和处理,特别涉及一种3D模型文件导入方法及系统
技术介绍
随着三维影像合成技术的不断推广,在电视、影视制作领域得到了广泛的应用,三维图像在制作和合成过程中,为了达到更为逼真的显示效果,通常会考虑多方面因素,如渲染、灯光等等,作为三维图像的合成基础,首先要进行三维模型制作,通常需要利用多种系统对生成的三维模型进行处理,因此,三维模型文件在三维图像处理系统中具有很好的通用性,在众多三维模型生成文件中,OBJ文件是常用的三维建模文件,OBJ文件是Alias/Wavefront公司为一套基于工作站的3D建模和动画软件Advanced Visualizer开发的 一种标准3D模型文件格式,很适合用于3D软件模型之间的互导,也可以通过Maya读写。比如,在3dsMax或LightWave中建了一个模型,想把它调到Maya里面渲染或动画,导出OBJ文件就是一种很好的选择,目前几乎所有知名的3D软件都支持OBJ文件的读写,不过其中很多需要通过插件才能实现,同时OBJ文件是一种文本文件,可以直接用写字板打开进行查看和编辑修改,在电视制作领域中,在场景设计器中添加OBJ模型导入功能,可以为我们的场景创建提供更广阔的3D模型素材支持,不仅可以直接导入OBJ格式的3D模型,对于其他格式的3D模型,也可以通过将其转为OBJ格式之后导入场景,从而间接扩大了场景设计器对于3D模型文件的支持范围,方便设计人员创建更丰富的3D场景,但是由于OBJ文件具有单一的文件语法,通常通过索引调用的方式,完成三维图像的调用和处理,在不能支持多索引路径的情况下,对于OBJ文件就不能正确读取,并且无法重现之前的OBJ文件。在专利技术人实现本专利技术过程中,发现现有技术中有以下缺陷,现有技术中在OBJ模型文件的导入过程中,不能对元素索引顺序进行修改,同时不能改变索引的数量,在只提供单一索引的系统中,不能对OBJ模型文件进行正确读取,由于在现有OBJ模型文件中,对OBJ语法进行了严格定义,因此,如果只是对元素索引系列进行改变,OBJ文件将不能对元素索引项目进行正确读取,介于以上原因,限制了 OBJ文件的通用性,给OBJ文件的使用代理了很大的局限,在不同的三维模型系统中,需要对建模文件进行重现制作,因此,增加了三维模型文件的制作强度,造成资源浪费。
技术实现思路
针对现有技术中的缺陷,本专利技术解决了在扩展场景设计器中OBJ文件的识别,解决了场景设计器中外部三维数据的读入问题。为了解决以上技术问题本专利技术提供了一种3D模型文件导入方法,具体包括读取3D模型文件;轮询所述3D模型文件,查找所述3D模型文件中的组关键字命令行,并根据组关键字在所述3D模型文件的排列顺序,得到组序列顺序;根据所述组序列顺序,解析所述组关键字命令行中的面关键字,并根据面关键字命令行中的排序,得到面序列顺序;根据所述面序列顺序解析所述面关键字命令行中的点信息属性字段,所述点信息属性字段包括,顶点索引,纹理坐标索引,法向量坐标索引;根据点信息属性字段在面关键字命令行中的排序,得到点序列顺序;根据所述点序列顺序,解析所述点信息属性字段,对所述点信息属性字段中顶点索引、纹理坐标索和法向量坐标索弓I编号顺序排序,顺序排列为点属性序列,并根据新生成的顶点索引对应原索引进行对照排序;根据组序列顺序对组进行读取,读取所述组序列时顺序对组中的面系列进行读取,再顺序读取所述点系列属性。同时,本专利技术还提供了一种3D模型文件导入系统,具体包括读取单元、组系列生成单元、面系列生产单元、点序列生产单元、点索引排列单元、读取单元,其中,所述读取单元,用于读取3D模型文件;所述组系列生成单元,用于轮询所述3D模型文件,查找所述3D模型文件中的组关键字命令行,并根据组关键字在所述3D模型文件的排列顺序,顺序排列为组序列;所述面系列生产单元,用于根据所述组序列顺序,解析所述组关键字命令行中的面关键字,并根据面关键字命令行中的排序,顺序排列为面序列;所述点序列生产单元,用于根据所述面序列顺序解析所述面关键字命令行中的点信息属性字段,所述点信息属性字段包括,顶点索引,纹理坐标索引,法向量坐标索引;根据点信息属性字段在面关键字命令行中的排序,顺序排列为点序列;所述点索引排列单元,用于根据所述点序列顺序,解析所述点信息属性字段,对所述点信息属性字段中顶点索引,纹理坐标索引,法向量坐标索引编号顺序排序,顺序排列为点序列,并根据新生成的顶点索引对应原索引进行对照排序;所述读取单元,用于根据所述3D模型文件中的组序列顺序对组进行读取,在读取所述组序列时顺序对组中的面系列进行读取,在顺序读取所述面系列时顺序对面中的点系列进行读取;与现有技术相比,本专利技术实施例具有以下优点通过对OBJ模型文件格式的解析,对其中元素的渲染次序安装需要给予了重现排序,由于在OBJ模型文件解析过程中,没有破坏原文件的语法格式,因此在场景设计器读取过程中,还可以根据OBJ文件的语法顺序对其中元素进行调用,本专利技术提高了 OBJ文件的可读性,提高了现有场景设计器的模型识别能力,从而可以实现场景设计器与多种三维合成系统协同工作,提高了场景设计器的三维模型处理能力,实现了对外部OBJ文件的直接调用,节约了场景设计器的制作时间。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I :是本专利技术实施例中一种3D模型文件导入方法的流程图2 :是本专利技术实施例中另一种3D模型文件导入方法的流程图;图3 :是本专利技术实施例中一种3D模型文件导入系统的示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例I中提供了一种3D模型文件导入方法,如图I所示,包括以下步骤步骤SlOl :读取3D模型文件;在此步骤中,首先,进行3D模型文件的读取,OBJ文件是一种常用的3D模型文件, 因此文件中不包含动画、材质特性、贴图路径、动力学、粒子等信息,一个OBJ文件为一个模型model,该一个模型可以由若干个组group组成,一个组由若干个三角面(四角面)组成,而每个三角形又包括点坐标OBJ文件的结构。在一个OBJ文件中,首先有一些以V、vt或vn前缀开头的行指定了所有的顶点、纹理坐标、法线的坐标。然后再由一些以f开头的行指定每一个三角形所对应的顶点、纹理坐标和法线的索引。在顶点、纹理坐标和法线的索引之间,使用符号“ / ”隔开的。一个f行可以以下面几种格式出现fl 2 3 :这样的行表示以第1、2、3号顶点组成一个三角形。fl/3 2/5 3/4:这样的行表示以第1、2、3号顶点组成一个三角形,其中第一个顶点的纹理坐标的索引值为3,第二个顶点的纹理坐标的索引值为5,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.ー种3D模型文件导入方法,其特征在于,包括 读取3D模型文件; 轮询所述3D模型文件,查找所述3D模型文件中的组关键字命令行,并根据组关键字在所述3D模型文件的排列顺序,得到组序列顺序; 根据所述组序列顺序,解析所述组关键字命令行中的面关键字,并根据面关键字命令行中的排序,得到面序列顺序; 根据所述面序列顺序解析所述面关键字命令行中的点信息属性字段,所述点信息属性字段包括,顶点索引,纹理坐标索引,法向量坐标索引;根据点信息属性字段在面关键字命令行中的排序,得到点序列顺序; 根据所述点序列顺序,解析所述点信息属性字段,对所述点信息属性字段中顶点索引、 纹理坐标索和法向量坐标索引编号顺序排序,顺序排列为点属性序列,并根据新生成的顶点索引对应原索引进行对照排序; 根据组序列顺序对组进行读取,读取所述组序列时顺序对组中的面系列进行读取,再顺序读取所述点系列属性。2.如权利要求I中所述的方法,其特征在于,所述根据点信息属性字段在面关键字命令行中的排序,顺序排列为点序列步骤中,所述点系列中点数量包括至少三个。3.如权利要求2中所述的方法,其特征在于,所述根据点信息属性字段在面关键字命令行中的排序,顺序排列为点序列步骤后还包括 判断所述点数量是否大于四,若是,则对与其对应的所述面关键字命令行进行三角面片拆分,得到拆分后的新面; 所述新面排序添加在所分离出的面关键字命令行之后。4.如权利要求2中所述的方法,其特征在于,所述根据点信息属性字段在面关键字命令行中的排序,排序排列为点系统步骤后还包括 判断所述点数量是否为三,若是,则对与所述面序列中的,相邻面系列进行合井,得到合并后的新面,所述新面至少包括四个点; 所述新面排序替换在所合并的两行面关键字命令行。5.如权利要求I中所述的方法,其特征在于,所述3D模型文件包括obj文件。6.如权利要求I中所述的方法,其特征在于,所述读取3D模型文件之后还包括步骤; 对所述读取3D模型文件中组、面、点关键字进行数量统计,生成原文件元素统计文件。7.如权利要求6中所述的方法,其特征在于,所述根据所述点序列顺序,解析所述点信息属性字段,对所述点信息属性字段中顶点索引,纹理坐标索引,法向量坐标索引编号顺序排序,顺序排列为点序列,并根据新生成的顶点索引对应原索引进行对照排序步骤后还包括 根据组序列、面序列、点序列统计组、面、点数量判断所述原文件元素统计文件中组、面、点数量,若不相符,则输出不相符项目名称,所述不相符项目名称包括,组项目、面项目或点项目。8.—种3D模型文件导入...

【专利技术属性】
技术研发人员:王蓓蓓
申请(专利权)人:新奥特北京视频技术有限公司
类型:发明
国别省市:

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

1