CN109671156A - 三维模型加载方法和装置 - Google Patents
三维模型加载方法和装置 Download PDFInfo
- Publication number
- CN109671156A CN109671156A CN201811614733.9A CN201811614733A CN109671156A CN 109671156 A CN109671156 A CN 109671156A CN 201811614733 A CN201811614733 A CN 201811614733A CN 109671156 A CN109671156 A CN 109671156A
- Authority
- CN
- China
- Prior art keywords
- file
- model
- archetype
- key message
- information
- 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.)
- Pending
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 49
- 238000004458 analytical method Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 30
- 239000000463 material Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种三维模型加载方法和装置,所述方法包括检测原始模型文件的文件类型,并根据该文件类型调用与其对应的文件解析策略;根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息;根据所述模型关键信息构建Unity模型对象并基于该Unity模型对象实现对所述原始模型文件的加载。本发明能够有效降低在模型加载过程中对Unity编辑器的依赖性,简化了模型动态替换及数据更新的流程。
Description
技术领域
本发明涉及三维模型设计技术领域,具体而言,涉及一种三维模型加载方法和装置。
背景技术
常见的三维模型文件的格式包括FBX格式、OBJ格式、DAE格式等,且这些资源大多是通过3dmax软件或maya软件制作出来的,但现有技术中无法将不同格式的三维模型文件在一个场景里面进行正常的加载、展示,导致各模型通用性以及用户体验差。
发明内容
有鉴于此,本发明实施例的目的在于提供一种三维模型加载方法和装置,以改善上述问题。
一方面,本发明较佳实施例提供一种三维模型加载方法,所述方法包括:
检测原始模型文件的文件类型,并根据该文件类型调用与其对应的文件解析策略;
根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息;
根据所述模型关键信息构建Unity模型对象并基于该Unity模型对象实现对所述原始模型文件的加载。
在本发明较佳实施例的选择中,所述文件类型包括FBX文件、OBJ文件和DAE文件中的一种或多种。
在本发明较佳实施例的选择中,当所述文件类型为所述FBX文件时,所述根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息的步骤,包括:
调用与所述FBX文件对应的FBX SDK动态库并基于所述FBX SDK动态库对所述原始模型文件进行解析;
将解析结果封装为Unity编辑器能够识别的目标动态库,基于该目标动态库获取所述原始模型文件的模型关键信息。
在本发明较佳实施例的选择中,当所述文件类型为所述OBJ文件或DAE文件时,根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息的步骤,包括:
识别所述原始模型文件中用于对模型关键信息进行划分的多个关键标识;
按照各所述关键标识对所述原始模型文件进行解析以得到所述模型关键信息。
在本发明较佳实施例的选择中,所述模型关键信息包括顶点信息、法线信息、纹理坐标信息、贴图信息、材质球信息、动画信息中的一种或多种。
在本发明较佳实施例的选择中,根据所述模型关键信息构建Unity模型对象的步骤,包括:
根据所述顶点信息、法线信息、纹理坐标信息生成多个三角面;
将各所述三角面进行连接生成MESH网格;
对所述MESH网格进行渲染得到所述Unity模型对象。
在本发明较佳实施例的选择中,当原始模型文件中存在关联路径信息,所述根据所述模型关键信息构建Unity模型对象的步骤,还包括:
获取与所述关联路径信息对应的模型关键信息;
将与所述关联路径信息对应的模型关键信息加载至所述Unity模型对象中。
另一方面,本发明较佳实施例还提供一种三维模型加载装置,所述三维模型加载装置包括:
策略调用模块,用于检测原始模型文件的文件类型,并根据该文件类型调用与其对应的文件解析策略;
信息解析模块,用于根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息;
模型加载模块,用于根据所述模型关键信息构建Unity模型对象并基于该Unity模型对象实现对所述原始模型文件的加载。
在本发明较佳实施例的选择中,当所述文件类型为FBX文件时,所述信息解析模块包括:
第一解析单元,用于调用与所述FBX文件对应的FBX SDK动态库并基于所述FBXSDK动态库对所述原始模型文件进行解析;以及
将解析结果封装为Unity编辑器能够识别的目标动态库,基于该目标动态库获取所述原始模型文件的模型关键信息。
在本发明较佳实施例的选择中,当所述文件类型为OBJ文件或DAE文件时,所述信息解析模块还包括:
第二解析单元,用于识别所述原始模型文件中用于对模型关键信息进行分隔表示的多个关键标识;以及
按照各所述关键标识对所述原始模型文件进行解析以得到所述模型关键信息。
与现有技术相比,本发明提供一种三维模型加载方法和装置,其中,通过对原始模型文件的精确化解析,并基于解析结果生成Unity编辑器可识别的Unity模型对象进行模型加载,有效降低了模型加载过程中对Unity编辑器的依赖性,简化了在原始模型进行动态替换、数据更新的流程,尤其对于自定义的模型文件以及经过加密模型文件的加载。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为应用本发明实施例提供的三维模型加载方法和装置的终端设备的方框结构示意图。
图2为本发明实施例提供的三维模型加载方法的流程示意图。
图3为图2中所示的步骤S12的子流程示意图。
图4为图2中所示的步骤S12的子流程示意图。
图5为图2中所示的步骤S13的子流程示意图。
图6为本发明实施例提供的三维模型加载装置的方框结构示意图。
图标:10-终端设备;100-三维模型加载装置;110-策略调用模块;120-信息解析模块;1200-第一解析单元;1201-第二解析单元;130-模型加载模块;200-存储器;300-存储控制器;400-处理器。
具体实施方式
首先需要说明的是,现有的Unity编辑器实现三维模型的加载时主要通过将模型文件导入Unity工程后,然后制作成预制,或者打包成AssetBundle文件,再用Unity的API(应用程序接口,Application Program Interface)加载模型资源,但是这一过程存在下述几个问题:
(1)Unity编辑器不支持直接加载解析读写原始模型文件。
(2)用户如果需要新增或者更改替换三维模型文件。原始方式会过度依赖于unity这个工具,因为加载过程需要Unity制作成其可以识别的资源方式才能加载。
(3)Unity可识别的模型必须是无加密无标记的模型,如果模型一旦被加密也无法有效识别。
综上,本发明实施例提供一种三维模型加载方法和装置,以有效缓解上述问题。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,为应用本发明实施例提供的三维模型加载方法和装置的终端设备10的方框结构示意图,该终端设备10可包括三维模型加载装置100、存储器200、存储控制器300以及处理器400。其中,所述存储器200、存储控制器300、处理器400各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述三维模型加载装置100包括至少一个可以软件或固件的形式存储于所述存储器200中或固化在所述终端设备10中的操作系统中的软件功能模块。所述处理器400在所述存储控制器300的控制下访问所述存储器200,以用于执行所述存储器200中存储的可执行模块,例如所述三维模型加载装置100所包括的软件功能模块及计算机程序等。
可以理解,图1所示的结构仅为示意,所述终端设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。另外,所述终端设备10可以是但不限于智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personaldigital assistant,PDA)、移动上网设备(mobile Internet device,MID)、云服务器、小型机、一体机等。
进一步地,如图2所示,为本发明实施例提供的三维模型加载方法的流程示意图,该三维模型加载方法应用于上述的终端设备10,下面将结合图2对所述三维模型加载方法的具体步骤和流程进行详细阐述。应理解的是,本实施例中给出的三维模型加载方法不以下面所述的步骤和流程的顺序为限制。
步骤S11,检测原始模型文件的文件类型,并根据该文件类型调用与其对应的文件解析策略;
步骤S12,根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息;
步骤S13,根据所述模型关键信息构建Unity模型对象并基于该Unity模型对象实现对所述原始模型文件的加载。
在上述步骤S11-步骤S13中给出的三维模型加载方法中,根据原始模型的类型的不同选取对应的解析策略进行模型关键信息的解析,并根据解析结果生成能够被Unity编辑器识别的Unity模型对象,进而完成对原始模型的加载,以实现对不同模型的加载,且使得在进行模型文件变更、修改时,有效降低了模型加载过程中对Unity编辑器的依赖性,简化了在原始模型进行动态替换、数据更新的流程。
详细地,步骤S11中模型类型所述文件类型包括FBX文件、OBJ文件和DAE文件中的一种或多种,所述文件类型还可以是BVH文件、DXF文件、PSK文件等,所述文件解析策略是针对不同文件类型的特征预先配置并保存在所述终端设备10中以供模型解析用,因此所述文件解析策略可以包括但不限于与所述FBX文件对应的FBX文件解析策略、与所述OBJ文件对应的OBJ文件解析策略、与所述DAE文件对应的DAE文件解析策略等。
进一步地,步骤S12中,所述模型关键信息可以包括但不限于顶点信息、法线信息、纹理坐标信息、贴图信息、材质球信息、动画信息中的一种或多种。另外,根据文件类型的不同对所述原始模型文件所采用的解析策略不同,下面以FBX文件、OBJ文件和DAE文件对上述步骤S12的实际实现过程进行介绍。
例如,当所述文件类型为所述FBX文件,所述解析策略为FBX文件解析策略时,如图3所示,所述根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息的步骤,包括:
步骤S120,调用与所述FBX文件对应的FBX SDK动态库并基于所述FBX SDK动态库对所述原始模型文件进行解析;
步骤S121,将解析结果封装为Unity编辑器能够识别的目标动态库,基于该目标动态库获取所述原始模型文件的模型关键信息。
详细地,由于FBX文件的关键信息是二进制的,且FBX格式的定义并不是开源的,所以在对FBX文件进行解析时需要依赖Autodesk的FBX SDK动态库实现。但现有的FBX SDK动态库是基于C++实现并没有C#版本的动态库,而Unity编辑器是基于C#实现,即在实现C#模型文件与C++文件之间的转换访问时,由于两种语言并不能直接访问对方的通用内存格式,因此需要通过指针开辟非托管内存的方式来做两个语言的访问交互。例如,本实施例中需要将基于FBX SDK动态库解析得到的模型关键信息封装成一个C++动态库,并将关键函数(如对外接口)以C函数的方式暴露出来,从而使得所述Unity编辑器能够基于C#语言进行模型关键信息的调用。
又例如,当所述文件类型为所述OBJ文件或DAE文件时,如图4所示,根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息的步骤,包括:
步骤S122,识别所述原始模型文件中用于对模型关键信息进行划分的多个关键标识;
步骤S123,按照各所述关键标识对所述原始模型文件进行解析以得到所述模型关键信息。
详细地,由于所述OBJ文件或DAE文件之间存在一定的差别,因此,在步骤S122-步骤S123的实现过程中,对于所述OBJ文件或DAE文件的关键标识有所不同。
(1)对于所述OBJ文件。OBJ文件是wavefont推荐的一种3d模型格式,是通过换行符区分每条数据,且每一行数据的开始设置有如v、vt、vn、f等关键标识以对每行数据中的数据顶点、纹理坐标、法线向量、面等信息进行区分,因此,在本实施例中,可通过识别如v、vt、vn、f等关键标识后对OBJ文件(即原始模型文件)进行逐行解析以得到所述模型关键信息,实际实施时,可通过伪代码OBJLoader实现。
(2)对于所述DAE文件。由于DAE格式是开源的,可采用Collada格式进行存储,而Collada格式是一种类似xml的格式,通过多个不同的关键标识区分数据顶点、纹理坐标、法线向量、面等信息,因此,本实例中可通过实现所述DAE文件中的关键标识后再进行DAE文件解析以得到所述模型关键信息。实际实施时,可通过Collada格式预先配置DAE文件解析策略。
进一步地,所述Unity模型对象主要包含Meshfilter(网格过滤器)、MeshRenderer(网格渲染器)、材质球、Shader、纹理图片、动画等信息,因此,在基于步骤S12得到所述原始模型文件的模型关键信息后,如图5所示,所述步骤S13可通过步骤S130-步骤S132实现,具体如下。
步骤S130,根据所述顶点信息、法线信息、纹理坐标信息生成多个三角面;
步骤S131,将各所述三角面进行连接生成MESH网格;
步骤S132,对所述MESH网格进行渲染得到所述Unity模型对象。
需要说明的是,在基于步骤S130-步骤S131得到所述MESH网格后,可将MESH网格的网格参数传递给Meshfilter,进而由Meshfilter将接收到的网格参数传递给MeshRenderer进行网格信息的渲染,如设置材质球、Shader、纹理图片、动画等信息。
进一步地,根据实际需求,当原始模型文件中存在关联路径信息,如所述模型关键信息中包括的纹理信息、动画信息、贴图信息等是通过关联的方式获取得到的,那么在本实施例中,还需获取与所述关联路径信息对应的模型关键信息(如纹理信息、动画信息、贴图信息);并将与所述关联路径信息对应的模型关键信息加载至所述Unity模型对象中。具体地,可以通过相对路径,或者网络url下载的方式将与关联路径信息对应的模型关键信息下载下来,然后再设置到Unity的模型对象上即可。
此外,在将基于上述步骤S11-步骤S13得到的Unity模型对象加载至Unity编辑后,还可以根据实际需求对所述Unity模型对象进行属性信息的设置、调整,如,可对加载后的模型的位置、朝向、大小等进行设置、调整。实际实施时,可预先将用户需求配置为一个属性调整文件,以通过调用该属性调整文件的方式实现对加载后的Unity模型对象的调整。
进一步地,基于对上述三维模型加载方法的描述,如图6所示,本发明较佳实施例还提供一种应用于终端设备10的三维模型加载装置100,所述三维模型加载装置100包括策略调用模块110、信息解析模块120和模型加载模块130。
所述策略调用模块110,用于检测原始模型文件的文件类型,并根据该文件类型调用与其对应的文件解析策略;本实施例中,关于所述策略调用模块110的描述具体可参考上述步骤S11的详细描述,也即,所述步骤S11可以由所述策略调用模块110执行,因而在此不作更多说明。
所述信息解析模块120,用于根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息;本实施例中,关于所述信息解析模块120的描述具体可参考上述步骤S12的详细描述,也即,所述步骤S12可以由所述信息解析模块120执行,因而在此不作更多说明。可选地,请再次参阅图6,所述信息解析模块120可以包括第一解析单元1200和第二解析单元1201。
所述第一解析单元1200,用于调用与所述FBX文件对应的FBX SDK动态库并基于所述FBX SDK动态库对所述原始模型文件进行解析;以及将解析结果封装为Unity编辑器能够识别的目标动态库,基于该目标动态库获取所述原始模型文件的模型关键信息。本实施例中,关于所述第一解析单元1200的描述具体可参考上述步骤S120-步骤S121的详细描述,也即,所述步骤S120-步骤S121可以由所述第一解析单元1200执行,因而在此不作更多说明。
所述第二解析单元1201,用于识别所述原始模型文件中用于对模型关键信息进行分隔表示的多个关键标识;以及按照各所述关键标识对所述原始模型文件进行解析以得到所述模型关键信息。本实施例中,关于第二解析单元1201的描述具体可参考上述步骤S122-步骤S123的详细描述,也即,所述步骤S122-步骤S123可以由所述第二解析单元1201执行,因而在此不作更多说明。
所述模型加载模块130,用于根据所述模型关键信息构建Unity模型对象并基于该Unity模型对象实现对所述原始模型文件的加载。本实施例中,关于所述模型加载模块130的描述具体可参考上述步骤S13的详细描述,也即,所述步骤S13可以由所述模型加载模块130执行,因而在此不作更多说明。
综上所述,本发明提供一种三维模型加载方法和装置,其中,通过对原始模型文件的精确化解析,并基于解析结果生成Unity编辑器可识别的Unity模型对象进行模型加载,有效降低了模型加载过程中对Unity编辑器的依赖性,简化了在原始模型进行动态替换、数据更新的流程,尤其对于自定义的模型文件以及经过加密模型文件的加载。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种三维模型加载方法,其特征在于,所述方法包括:
检测原始模型文件的文件类型,并根据该文件类型调用与其对应的文件解析策略;
根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息;
根据所述模型关键信息构建Unity模型对象并基于该Unity模型对象实现对所述原始模型文件的加载。
2.根据权利要求1所述的三维模型加载方法,其特征在于,所述文件类型包括FBX文件、OBJ文件和DAE文件中的一种或多种。
3.根据权利要求2所述的三维模型加载方法,其特征在于,当所述文件类型为所述FBX文件时,所述根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息的步骤,包括:
调用与所述FBX文件对应的FBX SDK动态库并基于所述FBX SDK动态库对所述原始模型文件进行解析;
将解析结果封装为Unity编辑器能够识别的目标动态库,基于该目标动态库获取所述原始模型文件的模型关键信息。
4.根据权利要求2所述的三维模型加载方法,其特征在于,当所述文件类型为所述OBJ文件或DAE文件时,根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息的步骤,包括:
识别所述原始模型文件中用于对模型关键信息进行划分的多个关键标识;
按照各所述关键标识对所述原始模型文件进行解析以得到所述模型关键信息。
5.根据权利要求1所述的三维模型加载方法,其特征在于,所述模型关键信息包括顶点信息、法线信息、纹理坐标信息、贴图信息、材质球信息、动画信息中的一种或多种。
6.根据权利要求5所述的三维模型加载方法,其特征在于,根据所述模型关键信息构建Unity模型对象的步骤,包括:
根据所述顶点信息、法线信息、纹理坐标信息生成多个三角面;
将各所述三角面进行连接生成MESH网格;
对所述MESH网格进行渲染得到所述Unity模型对象。
7.根据权利要求1所述的三维模型加载方法,其特征在于,当原始模型文件中存在关联路径信息,所述根据所述模型关键信息构建Unity模型对象的步骤,还包括:
获取与所述关联路径信息对应的模型关键信息;
将与所述关联路径信息对应的模型关键信息加载至所述Unity模型对象中。
8.一种三维模型加载装置,其特征在于,所述三维模型加载装置包括:
策略调用模块,用于检测原始模型文件的文件类型,并根据该文件类型调用与其对应的文件解析策略;
信息解析模块,用于根据所述文件解析策略对所述原始模型文件进行文件解析以得到所述原始模型文件的模型关键信息;
模型加载模块,用于根据所述模型关键信息构建Unity模型对象并基于该Unity模型对象实现对所述原始模型文件的加载。
9.根据权利要求8所述的三维模型加载装置,其特征在于,当所述文件类型为FBX文件时,所述信息解析模块包括:
第一解析单元,用于调用与所述FBX文件对应的FBX SDK动态库并基于所述FBX SDK动态库对所述原始模型文件进行解析;以及
将解析结果封装为Unity编辑器能够识别的目标动态库,基于该目标动态库获取所述原始模型文件的模型关键信息。
10.根据权利要求8所述的三维模型加载装置,其特征在于,当所述文件类型为OBJ文件或DAE文件时,所述信息解析模块还包括:
第二解析单元,用于识别所述原始模型文件中用于对模型关键信息进行分隔表示的多个关键标识;以及
按照各所述关键标识对所述原始模型文件进行解析以得到所述模型关键信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614733.9A CN109671156A (zh) | 2018-12-27 | 2018-12-27 | 三维模型加载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614733.9A CN109671156A (zh) | 2018-12-27 | 2018-12-27 | 三维模型加载方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109671156A true CN109671156A (zh) | 2019-04-23 |
Family
ID=66147281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614733.9A Pending CN109671156A (zh) | 2018-12-27 | 2018-12-27 | 三维模型加载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109671156A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111508062A (zh) * | 2020-04-13 | 2020-08-07 | 苏州梦想人软件科技有限公司 | 一种Unity版本更新中一键升级模型的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103700129A (zh) * | 2014-01-08 | 2014-04-02 | 上海明穆电子科技有限公司 | 一种任意人头与任意人体的3d结合方法 |
CN104537715A (zh) * | 2015-01-09 | 2015-04-22 | 中国电建集团昆明勘测设计研究院有限公司 | 一种实现fbx三维模型自动转换为obj三维模型的方法 |
CN107679281A (zh) * | 2017-09-05 | 2018-02-09 | 国家电网公司 | 基于Unity动态生成的智能站三维场景仿真系统及实现方法 |
WO2018080616A1 (en) * | 2016-10-24 | 2018-05-03 | Siemens Aktiengesellschaft | Integration of cad files into semantic models and visualization of linked data in a 3d environment |
CN108597032A (zh) * | 2018-04-27 | 2018-09-28 | 北京唐吉诃德科技有限公司 | 将建筑信息模型导入Unity3D中显示方法及系统 |
CN108897567A (zh) * | 2018-06-08 | 2018-11-27 | 广州虎牙信息科技有限公司 | 基于Unity的软件加载文件的方法、装置、设备及存储介质 |
-
2018
- 2018-12-27 CN CN201811614733.9A patent/CN109671156A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103700129A (zh) * | 2014-01-08 | 2014-04-02 | 上海明穆电子科技有限公司 | 一种任意人头与任意人体的3d结合方法 |
CN104537715A (zh) * | 2015-01-09 | 2015-04-22 | 中国电建集团昆明勘测设计研究院有限公司 | 一种实现fbx三维模型自动转换为obj三维模型的方法 |
WO2018080616A1 (en) * | 2016-10-24 | 2018-05-03 | Siemens Aktiengesellschaft | Integration of cad files into semantic models and visualization of linked data in a 3d environment |
CN107679281A (zh) * | 2017-09-05 | 2018-02-09 | 国家电网公司 | 基于Unity动态生成的智能站三维场景仿真系统及实现方法 |
CN108597032A (zh) * | 2018-04-27 | 2018-09-28 | 北京唐吉诃德科技有限公司 | 将建筑信息模型导入Unity3D中显示方法及系统 |
CN108897567A (zh) * | 2018-06-08 | 2018-11-27 | 广州虎牙信息科技有限公司 | 基于Unity的软件加载文件的方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111508062A (zh) * | 2020-04-13 | 2020-08-07 | 苏州梦想人软件科技有限公司 | 一种Unity版本更新中一键升级模型的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11726822B2 (en) | Systems and methods for providing digital twin-enabled applications | |
US11954486B2 (en) | Location tracking system and methods | |
US11922564B2 (en) | Generative content system that supports location-based services and methods therefor | |
US20200004598A1 (en) | Server kit and methods therefor | |
US20200004759A1 (en) | Generative content system and methods therefor | |
US20200007556A1 (en) | Server kit configured to marshal resource calls and methods therefor | |
CN108897567B (zh) | 基于Unity的软件加载文件的方法、装置、设备及存储介质 | |
US12001917B2 (en) | Hub-and-spoke classification system and methods | |
CN107180443A (zh) | 一种手绘动画生成方法及其装置 | |
TW202004674A (zh) | 在3d模型上展示豐富文字的方法、裝置及設備 | |
US8522201B2 (en) | Methods and apparatus for sub-asset modification | |
US20230092068A1 (en) | Computing Platform for Facilitating Augmented Reality Experiences with Third Party Assets | |
US20190371047A1 (en) | Method for Generating Three-Dimensional Model, and Terminal Device | |
CN108415697A (zh) | 一种可视化组件的配置方法及装置 | |
CN109544433B (zh) | 水印嵌入方法、装置、终端及存储介质 | |
CN109671156A (zh) | 三维模型加载方法和装置 | |
CN111462289B (zh) | 图像的渲染方法及装置、系统 | |
Jung et al. | Declarative 3D Approaches for Distributed Web-based Scientific Visualization Services. | |
US7743387B2 (en) | Inheritance context for graphics primitives | |
Kurt et al. | ARgent: A web based augmented reality framework for dynamic content generation | |
JP2010262469A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN111210525A (zh) | 三维模型交互编辑的方法、平台、设备及可读存储介质 | |
CN109614189A (zh) | 一种实现app图标动态加载动画的系统、方法以及装置 | |
CN116965015A (zh) | 在云平台中并行处理的分段的媒体元数据的有线格式的方法、装置以及存储介质 | |
CN111192336B (zh) | 一种还原pptx中背景标题阴影线性渐变的方法及终端 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190423 |
|
RJ01 | Rejection of invention patent application after publication |