一种模型网格数据导出OBJ文件的方法以及系统.pdf

上传人:00062****4422 文档编号:1305408 上传时间:2018-04-14 格式:PDF 页数:7 大小:328.45KB
返回 下载 相关 举报
摘要
申请专利号:

CN201611247046.9

申请日:

2016.12.29

公开号:

CN106709979A

公开日:

2017.05.24

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06T 15/00申请日:20161229|||公开

IPC分类号:

G06T15/00(2011.01)I; G06F17/30

主分类号:

G06T15/00

申请人:

福州智永信息科技有限公司

发明人:

覃广耀; 张建生; 唐光宇; 杨友东; 翁婷; 陈福泉; 陈昕; 薛飞

地址:

350000 福建省福州市鼓楼区软件大道89号福州软件园B区11号楼320室

优先权:

专利代理机构:

福州市鼓楼区京华专利事务所(普通合伙) 35212

代理人:

林晓琴

PDF下载: PDF下载
内容摘要

本发明提供一种模型网格数据导出Obj文件的方法,判断网格物体的类型,若是SkinnedMeshRenderer,则给该网格物体添加MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直接得到网格信息;创建第一对象,将网格信息按照Obj文件格式添加到该第一对象中;创建第二对象,将所述网格物体的材质数据保存至所述第二对象,并保存贴图路径至一链表;将第一对象中的网格数据写入到.Obj文件内,以及第二对象中材质数据写入到.mtl文件内;根据链表保存的贴图路径,将图片复制保存到指定文件夹内;本发明还提供一种模型网格数据导出Obj文件的系统,便于用户使用。

权利要求书

1.一种模型网格数据导出Obj文件的方法,其特征在于:包括如下步骤:
步骤1、判断网格物体的类型,若是SkinnedMeshRenderer,则给该网格物体添加
MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直接得到网格
信息;
步骤2、创建第一对象,将网格信息按照Obj文件格式添加到该第一对象中;
步骤3、创建第二对象,将所述网格物体的材质数据保存至所述第二对象,并保存贴图
路径至一链表;
步骤4、使用StreamWriter将第一对象中的网格数据写入到.Obj文件内,以及第二对象
中材质数据写入到.mtl文件内;并使用File.Copy根据链表保存的贴图路径,将图片复制保
存到指定文件夹内。
2.根据权利要求1所述的一种模型网格数据导出Obj文件的方法,其特征在于:所述步
骤3进一步具体为:创建第二对象,判断该网格物体所使用的材质信息是否已经记录,若没
有记录,则创建一材质信息,并将材质信息保存至第二对象;否,则将材质信息保存至第二
对象中;之后保存贴图路径至一链表。
3.如权利要求1所述的一种模型网格数据导出Obj文件的方法,其特征在于:所述第一
对象为StringBuilder对象。
4.如权利要求1所述的一种模型网格数据导出Obj文件的方法,其特征在于:所述第二
对象为StringBuilder对象。
5.一种模型网格数据导出Obj文件的系统,其特征在于:包括如下模块:
网格数据采集模块,判断网格物体的类型,若是SkinnedMeshRenderer,则给该网格物
体添加MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直接得
到网格信息;
网格数据处理模块,创建第一对象,将网格信息按照Obj文件格式添加到该第一对象
中;
材质数据处理模块,创建第二对象,将所述网格物体的材质数据保存至所述第二对象,
并保存贴图路径至一链表;
文件生成模块,使用StreamWriter将第一对象中的网格数据写入到.Obj文件内,以及
第二对象中材质数据写入到.mtl文件内;并使用File.Copy根据链表保存的贴图路径,将图
片复制保存到指定文件夹内。
6.根据权利要求1所述的一种模型网格数据导出Obj文件的系统,其特征在于:所述材
质数据处理模块进一步具体为:创建第二对象,判断该网格物体所使用的材质信息是否已
经记录,若没有记录,则创建一材质信息,并将材质信息保存至第二对象;否,则将材质信息
保存至第二对象中;之后保存贴图路径至一链表。
7.如权利要求1所述的一种模型网格数据导出Obj文件的系统,其特征在于:所述第一
对象为StringBuilder对象。
8.如权利要求1所述的一种模型网格数据导出Obj文件的系统,其特征在于:所述第二
对象为StringBuilder对象。

说明书

一种模型网格数据导出Obj文件的方法以及系统

技术领域

本发明涉及一种模型网格数据导出Obj文件的方法以及系统。

背景技术

在游戏制作过程中,游戏人物需要和场景的物体进行交互,游戏动作师在动作制
作过程中,需要确切的知道游戏的物体所在的位置和大小等信息,因此,需要将Unity内的
数据导出,并提供给游戏动作师在3Ds MAX或者Maya等软件中使用。

目前互联网上的Unity场景与3Ds MAX或者Maya进行数据互通的方式,大多数只采
用导出Obj文件的方式进行数据交互,但只是提供简单的模型信息,没有贴图,没有人物信
息,也不能在场景运行时候导出,当场景很复杂时,使用也较为麻烦。

发明内容

本发明要解决的技术问题,在于提供一种模型网格数据导出Obj文件的方法以及
系统,便于用户使用。

本发明之一是这样实现的:一种模型网格数据导出Obj文件的方法,包括如下步
骤:

步骤1、判断网格物体的类型,若是SkinnedMeshRenderer,则给该网格物体添加
MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直接得到网格
信息;

步骤2、创建第一对象,将网格信息按照Obj文件格式添加到该第一对象中;

步骤3、创建第二对象,将所述网格物体的材质数据保存至所述第二对象,并保存
贴图路径至一链表;

步骤4、使用StreamWriter将第一对象中的网格数据写入到.Obj文件内,以及第二
对象中材质数据写入到.mtl文件内;并使用File.Copy根据链表保存的贴图路径,将图片复
制保存到指定文件夹内。

进一步地,所述步骤3进一步具体为:创建第二对象,判断该网格物体所使用的材
质信息是否已经记录,若没有记录,则创建一材质信息,并将材质信息保存至第二对象;否,
则将材质信息保存至第二对象中;之后保存贴图路径至一链表。

进一步地,所述第一对象为StringBuilder对象。

进一步地,所述第二对象为StringBuilder对象。

本发明之二是这样实现的:一种模型网格数据导出Obj文件的系统,包括如下模
块:

网格数据采集模块,判断网格物体的类型,若是SkinnedMeshRenderer,则给该网
格物体添加MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直
接得到网格信息;

网格数据处理模块,创建第一对象,将网格信息按照Obj文件格式添加到该第一对
象中;

材质数据处理模块,创建第二对象,将所述网格物体的材质数据保存至所述第二
对象,并保存贴图路径至一链表;

文件生成模块,使用StreamWriter将第一对象中的网格数据写入到.Obj文件内,
以及第二对象中材质数据写入到.mtl文件内;并使用File.Copy根据链表保存的贴图路径,
将图片复制保存到指定文件夹内。

进一步地,所述材质数据处理模块进一步具体为:创建第二对象,判断该网格物体
所使用的材质信息是否已经记录,若没有记录,则创建一材质信息,并将材质信息保存至第
二对象;否,则将材质信息保存至第二对象中;之后保存贴图路径至一链表。

进一步地,所述第一对象为StringBuilder对象。

进一步地,所述第二对象为StringBuilder对象。

本发明具有如下优点:本发明一种模型网格数据导出Obj文件的方法以及系统,人
物的网格数据也能导出,并且能导出贴图信息;能够在Unity运行的状态下导出实时的场景
数据;使用方便,无需多余设置,一键即可完成。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明方法执行流程图。

图2为本发明系统的原理框图。

具体实施方式

如图1所示,本发明模型网格数据导出Obj文件的方法,包括如下步骤:

步骤1、判断网格物体的类型,若是SkinnedMeshRenderer,则给该网格物体添加
MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直接得到网格
信息;

步骤2、创建第一对象,将网格信息按照Obj文件格式添加到该第一对象中,所述第
一对象为StringBuilder对象;

步骤3、创建第二对象,判断该网格物体所使用的材质信息是否已经记录,若没有
记录,则创建一材质信息,并将材质信息保存至第二对象;否,则将材质信息保存至第二对
象中;之后保存贴图路径至一链表,所述第二对象为StringBuilder对象;

步骤4、使用StreamWriter将第一对象中的网格数据写入到.Obj文件内,以及第二
对象中材质数据写入到.mtl文件内;并使用File.Copy根据链表保存的贴图路径,将图片复
制保存到指定文件夹内。

如图2所示,本发明模型网格数据导出Obj文件的系统,包括如下模块:

网格数据采集模块,判断网格物体的类型,若是SkinnedMeshRenderer,则给该网
格物体添加MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直
接得到网格信息;

网格数据处理模块,创建第一对象,将网格信息按照Obj文件格式添加到该第一对
象中,所述第一对象为StringBuilder对象;

材质数据处理模块,创建第二对象,判断该网格物体所使用的材质信息是否已经
记录,若没有记录,则创建一材质信息,并将材质信息保存至第二对象;否,则将材质信息保
存至第二对象中;之后保存贴图路径至一链表,所述第二对象为StringBuilder对象;

文件生成模块,使用StreamWriter将第一对象中的网格数据写入到.Obj文件内,
以及第二对象中材质数据写入到.mtl文件内;并使用File.Copy根据链表保存的贴图路径,
将图片复制保存到指定文件夹内。

本发明一种具体实施方式:

A:网格数据采集

1)查找场景内的所有物体,判断其是否含有网格物体;

2)判断网格物体的类型,MeshFilter或者是SkinnedMeshRenderer;

3)如果网格物体类型是SkinnedMeshRenderer,给该物体添加MeshCollider组件,
并重新烘焙MeshCollider,处理后得到网格信息。

B:网格数据处理

1)创建StringBuilder对象;

2)创建全局的整数对象,保存三角形索引信息;

3)将网格的顶点、法线、贴图坐标、三角形索引等相关数据按照Obj文件格式添加
到StringBuilder对象中。

C:材质数据处理

1)创建StringBuilder对象;

2)创建一张链表,保存贴图的路径;

3)判断该网格所使用的材质信息是否已经记录,如没有记录,则创建一个新的材
质信息,保存材质的名称、所使用的贴图名字等;

4)贴图的路径单独用链表保存。

D:文件生成

使用StreamWriter对网格数据写入到.Obj文件内,将贴图数据写入到.mtl文件
内;自动将.Obj文件和.mtl存储至一文件夹;

使用File.Copy根据链表保存的贴图路径,将图片复制保存到指定文件夹内。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理
解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本
领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的
权利要求所保护的范围内。

一种模型网格数据导出OBJ文件的方法以及系统.pdf_第1页
第1页 / 共7页
一种模型网格数据导出OBJ文件的方法以及系统.pdf_第2页
第2页 / 共7页
一种模型网格数据导出OBJ文件的方法以及系统.pdf_第3页
第3页 / 共7页
点击查看更多>>
资源描述

《一种模型网格数据导出OBJ文件的方法以及系统.pdf》由会员分享,可在线阅读,更多相关《一种模型网格数据导出OBJ文件的方法以及系统.pdf(7页珍藏版)》请在专利查询网上搜索。

本发明提供一种模型网格数据导出Obj文件的方法,判断网格物体的类型,若是SkinnedMeshRenderer,则给该网格物体添加MeshCollider组件,并重新烘焙MeshCollider,处理后得到网格信息;否,则直接得到网格信息;创建第一对象,将网格信息按照Obj文件格式添加到该第一对象中;创建第二对象,将所述网格物体的材质数据保存至所述第二对象,并保存贴图路径至一链表;将第一对象中的网。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1