CN111599014B - 基于Unity3D的OBJ文件解析面渲染的方法、系统及介质 - Google Patents

基于Unity3D的OBJ文件解析面渲染的方法、系统及介质 Download PDF

Info

Publication number
CN111599014B
CN111599014B CN202010261360.2A CN202010261360A CN111599014B CN 111599014 B CN111599014 B CN 111599014B CN 202010261360 A CN202010261360 A CN 202010261360A CN 111599014 B CN111599014 B CN 111599014B
Authority
CN
China
Prior art keywords
model
file
obj
vertexes
file model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010261360.2A
Other languages
English (en)
Other versions
CN111599014A (zh
Inventor
周振华
马科威
肖建如
吕天予
吴志鹏
邵帅
贾齐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaao Information Technology Development Co ltd
Original Assignee
Shanghai Jiaao Information Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaao Information Technology Development Co ltd filed Critical Shanghai Jiaao Information Technology Development Co ltd
Priority to CN202010261360.2A priority Critical patent/CN111599014B/zh
Publication of CN111599014A publication Critical patent/CN111599014A/zh
Application granted granted Critical
Publication of CN111599014B publication Critical patent/CN111599014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种基于Unity3D的OBJ文件解析面渲染的方法、系统及介质,包括:步骤M1:Unity3D读取OBJ文件模型记录在数据结构中;步骤M2:通过读取到的OBJ文件模型,生成对应的模型。本发明中原始的Unity读取模型仅支持65535个顶点,顶点数量过多则会导致读取不全,我们的算法通过切割模型的方法读取数据,让Unity可以读取有很多顶点的模型。

Description

基于Unity3D的OBJ文件解析面渲染的方法、系统及介质
技术领域
本发明涉及计算机视觉和视频处理技术领域,具体地,涉及一种基于Unity3D的OBJ文件解析面渲染的方法、系统及介质。
背景技术
目前众多读取OBJ文件生成模型的方案中需要专业的3D图形软件,并且需要自己重新组织顶点等文件数据;
专利文献CN105205179A(申请号:201510708568.3)公开了一种obj类型的3D类型文件转换的方法及装置。所述obj类型的3D类型文件转换的方法,包括:创建读取文件对象;通过所述读取文件对象以预设的读取方式处理所述obj类型的3D类型文件;将处理得到的信息导入到标准模型对象中,所述标准模型对象可以供windows平台直接调用。这种创建读取文件对象并直接通过windows平台读取和使用obj文件的方法,其虽然能够直接通过windows平台直接读取obj文件,但却不能处理大模型的情况。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于Unity3D的OBJ文件解析面渲染的方法、系统及介质。
根据本发明提供的一种基于Unity3D的OBJ文件解析面渲染的方法,包括:
步骤M1:Unity3D读取OBJ文件模型记录在数据结构中;
步骤M2:通过读取到的OBJ文件模型,生成对应的模型。
优选地,所述步骤M1包括:
步骤M1.1:导出OBJ文件模型信息,文件模型信息包括:文件模型的名称、文件模型的颜色、文件模型的顶点、文件模型的法线、文件模型的三角面索引和文件模型的法线索引;
步骤M1.2:通过C#的File类读取OBJ文件模型信息并分别记录到相应的数据结构中。
优选地,所述OBJ文件模型的颜色包括:读取顶点颜色信息,将颜色信息字符串转化为uint型临时变量c,然后分别计算RGB值,得到OBJ文件模型的颜色值(RGB);其中,c代表临时变量。
优选地,所述步骤M2包括:每隔预设值个顶点记录一次,将记录的预设值个顶点打包生成一个模型;当三角面索引对应的顶点数大于预设值时,重置三角面索引值,并组织剩下的顶点和法线,依次生成三角面。
根据本发明提供的一种基于Unity3D的OBJ文件解析面渲染的系统,包括:
模块M1:Unity3D读取OBJ文件模型记录在数据结构中;
模块M2:通过读取到的OBJ文件模型,生成对应的模型。
优选地,所述模块M1包括:
模块M1.1:导出OBJ文件模型信息,文件模型信息包括:文件模型的名称、文件模型的颜色、文件模型的顶点、文件模型的法线、文件模型的三角面索引和文件模型的法线索引;
模块M1.2:通过C#的File类读取OBJ文件模型信息并分别记录到相应的数据结构中。
优选地,所述OBJ文件模型的颜色包括:读取顶点颜色信息,将颜色信息字符串转化为uint型临时变量c,然后分别计算RGB值,得到OBJ文件模型的颜色值(RGB);其中,c代表临时变量。
优选地,所述模块M2包括:每隔预设值个顶点记录一次,将记录的预设值个顶点打包生成一个模型;当三角面索引对应的顶点数大于预设值时,重置三角面索引值,并组织剩下的顶点和法线,依次生成三角面。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中任一项所述的方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
原始的Unity读取模型仅支持65535个顶点,顶点数量过多则会导致读取不全,我们的算法通过切割模型的方法读取数据,让Unity可以读取有很多顶点的模型。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为OBJ文件中模型顶点信息
图2为OBJ文件中模型法线信息
图3为OBJ文件中模型三角面索引和法线索引数据示意图
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于Unity3D的OBJ文件解析面渲染的方法,包括:
步骤M1:Unity3D读取OBJ文件模型记录在数据结构中;
具体地,所述步骤M1包括:
步骤M1.1:导出OBJ文件模型信息,文件模型信息包括:文件模型的名称、文件模型的颜色、文件模型的顶点,如图1所示、文件模型的法线,如图2所示、文件模型的三角面索引和文件模型的法线索引,如图3所示;
步骤M1.2:通过C#的File类读取OBJ文件模型信息并分别记录到相应的数据结构中。
具体地,所述OBJ文件模型的颜色包括:读取顶点颜色信息,颜色信息是一个十六进制的字符串,将颜色信息字符串转化为uint型临时变量c,然后分别计算RGB值,R=(c>>16)/255f,G=(c&0x00FF00)>>8,B=c&0x0000FF;得到OBJ文件模型的颜色值(RGB);其中,c代表临时变量。
步骤M2:通过读取到的OBJ文件模型,生成对应的模型。
具体地,所述步骤M2包括:由于Unity单个网格最多支持65000多个顶点,每隔6000个顶点记录分割一次,处理每一个分割开来的mesh,生成独立的物体,将记录的预设值个顶点打包生成一个模型;当三角面索引对应的顶点数大于60000时,重置三角面索引值,并组织剩下的顶点和法线,依次生成三角面。
根据读取到的信息生成对应的模型,以第一个和第二个三角面绘制为例,得到顶点v0,v1,v2,v3,v4,v5,法线n0,n1,n2,n3,n4,n5,三角面索引(0,1,2,1,3,4),法线索引(0,1,2,1,3,4)。我们按顺序排列三角面索引为(0,1,2,3,4,5);则记录对应的顶点依次为v0,v1,v2,v1,v3,v4,对应的法线依次为n0,n1,n2,n1,n3,n4。这样我们就可以以三角面索引为基准生成三角面;
根据本发明提供的一种基于Unity3D的OBJ文件解析面渲染的系统,包括:
模块M1:Unity3D读取OBJ文件模型记录在数据结构中;
具体地,所述模块M1包括:
模块M1.1:导出OBJ文件模型信息,文件模型信息包括:文件模型的名称、文件模型的颜色、文件模型的顶点、文件模型的法线、文件模型的三角面索引和文件模型的法线索引;
模块M1.2:通过C#的File类读取OBJ文件模型信息并分别记录到相应的数据结构中。
具体地,所述OBJ文件模型的颜色包括:读取顶点颜色信息,颜色信息是一个十六进制的字符串,将颜色信息字符串转化为uint型临时变量c,然后分别计算RGB值,R=(c>>16)/255f,G=(c&0x00FF00)>>8,B=c&0x0000FF;得到OBJ文件模型的颜色值(RGB);其中,c代表临时变量。
模块M2:通过读取到的OBJ文件模型,生成对应的模型。
具体地,所述模块M2包括:由于Unity单个网格最多支持65000多个顶点,每隔6000个顶点记录分割一次,处理每一个分割开来的mesh,生成独立的物体,将记录的预设值个顶点打包生成一个模型;当三角面索引对应的顶点数大于60000时,重置三角面索引值,并组织剩下的顶点和法线,依次生成三角面。
根据读取到的信息生成对应的模型,以第一个和第二个三角面绘制为例,得到顶点v0,v1,v2,v3,v4,v5,法线n0,n1,n2,n3,n4,n5,三角面索引(0,1,2,1,3,4),法线索引(0,1,2,1,3,4)。我们按顺序排列三角面索引为(0,1,2,3,4,5);则记录对应的顶点依次为v0,v1,v2,v1,v3,v4,对应的法线依次为n0,n1,n2,n1,n3,n4。这样我们就可以以三角面索引为基准生成三角面;
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中任一项所述的方法的步骤。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (3)

1.一种基于Unity3D的OBJ文件解析面渲染的方法,其特征在于,包括:
步骤M1:Unity3D读取OBJ文件模型记录在数据结构中;
步骤M2:通过读取到的OBJ文件模型,生成对应的模型;
所述步骤M1包括:
步骤M1.1:导出OBJ文件模型信息,文件模型信息包括:文件模型的名称、文件模型的颜色、文件模型的顶点、文件模型的法线、文件模型的三角面索引和文件模型的法线索引;
步骤M1.2:通过C#的File类读取OBJ文件模型信息并分别记录到相应的数据结构中;
所述OBJ文件模型的颜色包括:读取顶点颜色信息,将颜色信息字符串转化为uint型临时变量c,然后分别计算RGB值,得到OBJ文件模型的颜色值(RGB);其中,c代表临时变量;
所述步骤M2包括:每隔预设值个顶点记录一次,将记录的预设值个顶点打包生成一个模型;当三角面索引对应的顶点数大于预设值时,重置三角面索引值,并组织剩下的顶点和法线,依次生成三角面。
2.一种基于Unity3D的OBJ文件解析面渲染的系统,其特征在于,包括:
模块M1:Unity3D读取OBJ文件模型记录在数据结构中;
模块M2:通过读取到的OBJ文件模型,生成对应的模型;
所述模块M1包括:
模块M1.1:导出OBJ文件模型信息,文件模型信息包括:文件模型的名称、文件模型的颜色、文件模型的顶点、文件模型的法线、文件模型的三角面索引和文件模型的法线索引;
模块M1.2:通过C#的File类读取OBJ文件模型信息并分别记录到相应的数据结构中;
所述OBJ文件模型的颜色包括:读取顶点颜色信息,将颜色信息字符串转化为uint型临时变量c,然后分别计算RGB值,得到OBJ文件模型的颜色值(RGB);其中,c代表临时变量;
所述模块M2包括:每隔预设值个顶点记录一次,将记录的预设值个顶点打包生成一个模型;当三角面索引对应的顶点数大于预设值时,重置三角面索引值,并组织剩下的顶点和法线,依次生成三角面。
3.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1所述的方法的步骤。
CN202010261360.2A 2020-04-03 2020-04-03 基于Unity3D的OBJ文件解析面渲染的方法、系统及介质 Active CN111599014B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010261360.2A CN111599014B (zh) 2020-04-03 2020-04-03 基于Unity3D的OBJ文件解析面渲染的方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010261360.2A CN111599014B (zh) 2020-04-03 2020-04-03 基于Unity3D的OBJ文件解析面渲染的方法、系统及介质

Publications (2)

Publication Number Publication Date
CN111599014A CN111599014A (zh) 2020-08-28
CN111599014B true CN111599014B (zh) 2023-06-06

Family

ID=72190445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010261360.2A Active CN111599014B (zh) 2020-04-03 2020-04-03 基于Unity3D的OBJ文件解析面渲染的方法、系统及介质

Country Status (1)

Country Link
CN (1) CN111599014B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
CN104199659A (zh) * 2014-08-28 2014-12-10 无锡梵天信息技术股份有限公司 一种导出3dmax可识别的模型信息的方法及装置
CN105912655A (zh) * 2016-04-11 2016-08-31 东南大学 基于WebGL的三维模型显示方法及相应的Web-BIM工程信息集成管理系统
CN109636893A (zh) * 2019-01-03 2019-04-16 华南理工大学 三维OBJ模型及MTL材质在iPhone中的解析与渲染方法
CN110415345A (zh) * 2019-07-01 2019-11-05 南京泛在地理信息产业研究院有限公司 实现esri tin模型转换为obj三维模型的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150761A (zh) * 2013-04-02 2013-06-12 乐淘奇品网络技术(北京)有限公司 通过网页高速逼真3d渲染进行物品设计定制的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
CN104199659A (zh) * 2014-08-28 2014-12-10 无锡梵天信息技术股份有限公司 一种导出3dmax可识别的模型信息的方法及装置
CN105912655A (zh) * 2016-04-11 2016-08-31 东南大学 基于WebGL的三维模型显示方法及相应的Web-BIM工程信息集成管理系统
CN109636893A (zh) * 2019-01-03 2019-04-16 华南理工大学 三维OBJ模型及MTL材质在iPhone中的解析与渲染方法
CN110415345A (zh) * 2019-07-01 2019-11-05 南京泛在地理信息产业研究院有限公司 实现esri tin模型转换为obj三维模型的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徐照 ; 康蕊 ; 孙宁 ; .基于IFC标准的建筑构件点云信息处理方法.东南大学学报(自然科学版).2018,(第06期),全文. *
黄鸿 ; 赵志鹏 ; 张磊 ; .一种面向规则建筑物的OBJ文件无损压缩方法.测绘通报.2018,(第10期),全文. *

Also Published As

Publication number Publication date
CN111599014A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
Baert et al. Out-of-core construction of sparse voxel octrees
US8612040B2 (en) Automated derivative view rendering system
CN109389661B (zh) 一种动画文件转化方法及装置
JP3870167B2 (ja) レンダリングシステム、レンダリング方法及びその記録媒体
US6366279B1 (en) Triangle mesh compression
Hu et al. Parallel view-dependent level-of-detail control
CN108920432B (zh) 3d pdf文件的转化方法、装置、终端设备及存储介质
CN111179391A (zh) 一种三维动画制作方法、系统及存储介质
CN111599014B (zh) 基于Unity3D的OBJ文件解析面渲染的方法、系统及介质
CN116414316B (zh) 基于数字城市中的bim模型的虚幻引擎渲染方法
CN108986205B (zh) 一种绘制体素模型的方法、装置、设备和存储介质
CN115035265B (zh) SketchUp场景到三维地理空间转换方法、终端及存储介质
EP2715564B1 (en) Mesh sequence file format
CN115359208A (zh) 一种适合于运维管理的bim数据轻量化存储方法
KR20200061851A (ko) 웹을 기반한 다수의 가상현실 개발엔진 활용을 위한 가상현실 저작 플랫폼 및 언어변환 시스템
CN112801878A (zh) 渲染图像超分辨率纹理增强方法、装置、设备及存储介质
JP2005269244A (ja) 情報埋込装置および情報埋込方法、並びに、情報抽出装置および情報抽出方法、並びに、情報埋込抽出システム、並びに、プログラムおよび記録媒体
US7882487B2 (en) Method of generating C code on the basis of UML specifications
CN110310358B (zh) 一种实现逐像素光照运算的方法
CN117274556A (zh) 一种虚拟场景编辑展示的方法及装置
CN114359461A (zh) 文件格式转换方法、转换装置和计算机存储介质
RU2276408C1 (ru) Устройство и способ обработки трехмерного объекта с использованием функции возмущений
CN118426763A (zh) 一种基于gim的土建类模型快速建模系统及建模方法
Ueng Out-of-core encoding of large tetrahedral meshes
CN115546399A (zh) 一种将dwg模型转换为gltf模型的方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant